Kategori : Mysql ...

19
12
2013

Mysql veritabanında Unixtime olarak kayıtlı veriyi normalleştirmek

Kategorisi : Mysql

Kayako dateline alanı için kullandık :
FROM_UNIXTIME(fieldName, ‘%Y-%m-%d’)


07
05
2013

Mysql’de 60 günden eski kayıtları silmek

Kategorisi : Mysql

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)


07
05
2013

aynı tablo içinde parent ve id değerleri eşit olanları update etmek mysql

Kategorisi : Mysql

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;


05
12
2012

Mysql veribatanındaki her tablonun ayrı ayrı yedeğini almak ve klasöre toplamak için shell scripti

Kategorisi : Mysql
#!/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

05
12
2012

Mysql veritabanındaki her tablonun ayrı ayrı yedeğini almak için shell scripti

Kategorisi : Mysql
#!/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

19
07
2012

Mysql’de sadece numerik olan alanları seçmek

Kategorisi : Mysql

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]+$’


19
07
2012

Mysql veritabanında “,” (virgül) ile ayrılmış değerleri bulmak ve eşlemek

Kategorisi : Mysql

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 )


08
06
2012

php pdo kullanımı

Kategorisi : Mysql,Php

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'”);


08
06
2012

Diğer sütundaki alanda olmayanları sabit bir değere sabitlemek mysql

Kategorisi : Mysql

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)


08
06
2012

iki farklı tabloyu referans alarak cross delete mysql

Kategorisi : Mysql

iki farklı tabloyu referans alarak cross delete mysql

DELETE FROM tablo
WHERE
EXISTS(SELECT tablo2.altktseo FROM altkt WHERE tablo.bb = tablo2.altktseo)



photo

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

Tunalioglu.org - 2015