- 19
- 12
- 2013
Mysql veritabanında Unixtime olarak kayıtlı veriyi normalleştirmek
Kategorisi : MysqlKayako dateline alanı için kullandık :
FROM_UNIXTIME(fieldName, ‘%Y-%m-%d’)
Kayako dateline alanı için kullandık :
FROM_UNIXTIME(fieldName, ‘%Y-%m-%d’)
Mysql’de 60 günden eski kayıtları silmek için :
DELETE FROM `sales_flat_quote` WHERE updated_at < DATE_SUB(Now(),INTERVAL 60 DAY)
Mysql’de aynı tablo içinde parent ve id değerleri eşit olanları update etmek için :
UPDATE table_content t, (SELECT * FROM table_content) t1 SET t.Titleseoust = t1.Titleseo WHERE t.ParentID = t1.ContentID;
#!/bin/bash DB_BACKUP="/backups/mysql_backup/`date +%Y-%m-%d`" DB_USER="root" DB_PASSWD="sifre" HN=`hostname | awk -F. '{print $1}'` # Backup klasörü
mkdir -p $DB_BACKUP # 10 günden eski backupları silelim find /backups/mysql_backup/ -maxdepth 1 -type d -mtime +10 -exec rm -rf {} ; # Seçenek 1: root ile bağlanıp her db'nin yedeğini alalım for db in $(mysql --user=$DB_USER --password=$DB_PASSWD -e 'show databases' -s --skip-column-names|grep -vi information_schema); do mysqldump --user=$DB_USER --password=$DB_PASSWD --opt $db | gzip > "$DB_BACKUP/mysqldump-$HN-$db-$(date +%Y-%m-%d).gz"; done # Option 2: root değilsek bunu kullanabiliriz
# for db in $(mysql -e 'show databases' -s --skip-column-names|grep -vi information_schema); # do mysqldump --opt $db | gzip > "$DB_BACKUP/mysqldump-$HN-$db-$(date +%Y-%m-%d).gz"; # done # sadece root a okuma yetkisi verelim chmod -R 600 $DB_BACKUP
# cron'a atayalım /usr/local/bin/mysql_backup.sh gibi bir isim verelim, chmod 700 ile kendimize okuma izni verelim: # cron kaydı
30 3 * * * /usr/local/bin/mysql_backup.sh
#!/bin/bash for database in $(mysql --user=root --password=xxx -e "show databases"|awk -F " " '{print $1}'); do mysqldump --user=root --password=xxx $database | gzip -9 > $database.sql.gz done
Mysql’de sadece numerik olan alanları seçmek için :
SELECT aaa,bbb
FROM ccc
WHERE ddd
REGEXP ‘^-?[0-9]+$’
tersi için
SELECT aaa,bbb
FROM ccc
WHERE ddd NOT
REGEXP ‘^-?[0-9]+$’
Veritabanımızda kayıtlı 1,2,3,4,5 gibi bir dizi varsa ve içerisinde Mysql IN komutu ile eşleşen rakamı bulmak istiyorsak; ( LIKE ‘%%’ kullanamayız eşleşen herşey geleceği için …. ) Onun yerine komutumuz şudur :
SELECT *
FROM trmlink
WHERE FIND_IN_SET( ‘ 139288’, trmlinkust )
Hangi driverlerimiz aktif onu görelim
PDO::getAvailableDrivers() statik metodumuz ile kontrol edelim
<?php
foreach(PDO::getAvailableDrivers() as $driver)
{
echo $driver.'<br />’;
}
?>
database driverleri default konumdaysa muhtemelen sonuç şu şekil olmalı
mysql
sqlite
sqlite2
Örnek Mysql veritabanımıza bağlanalım
<?php
try {
$db = new PDO(“mysql:dbname=test;host=localhost”, “user”, “pass” );
echo “PDO connection!”;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
Herhangi problem yoksa PDO connection! mesajını göreceksiniz.
Örnek PostgreSQL veritabanımıza bağlanalım
<?php
try {
$db = new PDO(“pgsql:dbname=test;host=localhost”, “user”, “pass” );
echo “PDO connection!”;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
Örnek SQLite veritabanımıza bağlanalım
<?php
try {
$db = new PDO(“sqlite:/path/to/database.sdb”);
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
Bağlantı kodumuzda try ve catch bloğumuz içerisine yazdığımız bağlantı kodumuz hata olasılığında catch kısmı devreye girecektir.
Çalışmamızı try kod bloğunun içinde yapmamız daha temiz olacaktır.
Tüm veritabanlarını listeleyelim
foreach ($db->query(‘SHOW DATABASES’) as $row) {
print_r($row);
}
Insert
$db->exec(“INSERT INTO cms(name, languages) VALUES (‘wordpress’, ‘PHP’)”);
Select
$sql = “SELECT * FROM cms”;
foreach ($db->query($sql) as $row)
{
echo $row[‘name’].’ : ‘.$row[‘languages’].'<br />’;
}
Update
$db->exec(“UPDATE cms SET name=’habari’ WHERE languages=’PHP'”);
mesela şehir sütununda olmayanları Türkiye yapmak için ;
———————————-
update frm set ilce = ‘Türkiye’ WHERE NOT EXISTS (SELECT sehirad FROM sehir WHERE sehirad = ilce)
iki farklı tabloyu referans alarak cross delete mysql
DELETE FROM tablo
WHERE
EXISTS(SELECT tablo2.altktseo FROM altkt WHERE tablo.bb = tablo2.altktseo)
Php, ajax, jquery, mootools web programlama. Linux, apache, lamp sunucu yönetimi. Cpanel, plesk, lxadmin panel kurulumlari.
01 / 07 / 2025, 10:24:47
Web yazilim, grafik
barbetto.com