Archive for the ‘MySQL’ Category

MySQL de tarih kaydırma

Çarşamba, Mart 8th, 2017

mysql üzerinde varchar olarak tutulan tarih bilgisini (“yyyymmdd”) farklı bir tarihe kaydırma örnekleri:

SELECT wordoftheday, DATE_FORMAT ( DATE_ADD( STR_TO_DATE(wordoftheday,'%Y%m%d') , INTERVAL 3 YEAR), '%Y%m%d') AS newwordoftheday FROM crosslanguage WHERE wordoftheday<>'' ORDER BY wordoftheday DESC

wordoftheday newwordoftheday
20171201 20201201
20171130 20201130
20171130 20201130
20171129 20201129

Tarihleri 3 yıl ötele:

UPDATE `crosslanguage` SET `wordoftheday` = DATE_FORMAT ( DATE_ADD( STR_TO_DATE(wordoftheday,'%Y%m%d') , INTERVAL 3 YEAR), '%Y%m%d') WHERE wordoftheday<>''

Tarihleri 2 ay ötele:

UPDATE `crosslanguage` SET `wordoftheday` = DATE_FORMAT ( DATE_ADD( STR_TO_DATE(wordoftheday,'%Y%m%d') , INTERVAL 2 MONTH), '%Y%m%d') WHERE wordoftheday<>''

Mysql cache optimizasyon

Çarşamba, Aralık 2nd, 2009

mysql> show variables like ‘query%’;
+——————————+———-+
| Variable_name | Value |
+——————————+———-+
| query_alloc_block_size | 8192 |
| query_cache_limit | 1048576 |
| query_cache_min_res_unit | 4096 |
| query_cache_size | 16777216 |
| query_cache_type | ON |
| query_cache_wlock_invalidate | OFF |
| query_prealloc_size | 8192 |
+——————————+———-+
7 rows in set (1.06 sec)

mysql> set global query_cache_size=50000000;
Query OK, 0 rows affected (1.56 sec)

mysql> show variables like ‘query%’;
+——————————+———-+
| Variable_name | Value |
+——————————+———-+
| query_alloc_block_size | 8192 |
| query_cache_limit | 1048576 |
| query_cache_min_res_unit | 4096 |
| query_cache_size | 49999872 |
| query_cache_type | ON |
| query_cache_wlock_invalidate | OFF |
| query_prealloc_size | 8192 |
+——————————+———-+
7 rows in set (0.00 sec)

MySQL Yedekleme / Veri taşıma

Pazar, Mart 29th, 2009

Herhangi bir veritabanının veya tablonun çıktısını sql olarak almak için:

mysqldump -u root myDB my_table > my_table.sql

Aldığımız sql dosyasınını geri almak veya başka bir sql server da oluşturmak için:

mysql -u dbuser -p –default-character-set=utf8 myDB < my_table.sql

MySQL’de kelime aratma ve düzeltme

Çarşamba, Eylül 24th, 2008

Örnek olarak veri tabanımızdaki field1 kolonunda içinde isitma kelimesi geçen veriler olduğunu düşünelim ve bunu doğru bir Türkçe ile düzeltelim.

İlk olarak içinde isitma kelimesi geçen verileri görmek için:

SELECT field1
FROM `tablo-adi`
WHERE field1 REGEXP '[[:<:]]isitma[[:>:]]'

Ve içinde isitma kelimesi geçen tüm verileri ısıtma kelimesi ile düzeltmek için:

UPDATE `tablo-adi`
SET `field1` =
REPLACE('field1', 'isitma', 'ısıtma')
WHERE field1 REGEXP '[[:<:]]isitma[[:>:]]';

MySQL’de bir dosyadan tabloya veri transferi nasıl yapılır?

Cuma, Eylül 19th, 2008

Transfer edeceğimiz dosyamızda kolonların tab karakteri ile ayrıldığını ve her satırda 1 kayıdın yeraldığını varsayarsak:

SET NAMES 'utf8';
LOAD DATA LOCAL INFILE '/home/gunebakan/transfer/verileri-aktar.txt'
  INTO TABLE tablom
  CHARACTER SET UTF8
  FIELDS TERMINATED BY '\t'
  (ilk-kolon, ikinci-kolon)
  SET username='abdulmuttalip';

Bu komutlar ile tablomuza utf8 kodlanmış tüm karakterlerin de sorunsuzca girmesini sağlarız.

MySQL’de karakter temizleme

Perşembe, Eylül 18th, 2008

Örneğin tablomuzda istemediğimiz ! karakterini baştaki ve sondaki boşluklarla beraber silmek için çalıştırmamız gereken komut:

UPDATE `tablename`
SET `columnname` =
TRIM(REPLACE(columnname,"1",""))