mysql komutları (mysql commands)

Giriş yapmak ;

 [mysql_dir]/bin/mysql -u root -p 

Bir database yaratmak (ek olarak default character set ve collate ekleyebilirsiniz) ;

 mysql> create database [database_name]; 

Tüm databaseleri listelemek ;

 mysql> show databases; 

Bir database seçmek ;

 mysql> use [database_name] ;

Seçtiğimiz databasede bulunan tüm tablaları görmek ;

 mysql> show tables; 

Tablonun yapısını görmek ;

 mysql> describe [table_name] ;

Database silmek ;

 mysql> drop database [database_name] ;

Tablo silmek ;

 mysql> drop table [table_name] ;

Tablodaki bütün verileri görmek ;

 mysql> SELECT * FROM [table_name];

Tablodaki sütunları ve özelliklerini görmek ;

 mysql> show columns from [table_name];

Tablodaki verileri bir kritere göre listelemek ;

 mysql> SELECT * FROM [table_name] WHERE [field_name] = "kriter";

Tabloda name sütunundaki veri ‘Ahmet’ ve phone sütunundaki veri ‘123123123’ olan verileri listelemek ;

 mysql> SELECT * FROM [table_name] WHERE name = "Ahmet" AND phone = ""123123123";

Tabloda name sütunundaki veri ‘Ahmet’ olmayan ve phone sütunundaki veri ‘789789789’ olan verileri numara sırasında göre listelemek ;

 mysql> SELECT * FROM [table_name] WHERE name != "Ahmet" AND phone = "789789789" ORDER BY phone;

Tabloda name sütunundaki veri ‘Ahmet’ ile başlayan ve phone sütununda ‘123123123’ olan verileri listelemek ;

 mysql> SELECT * FROM [table_name] WHERE name = 'Ahmet%' AND phone = "123123123";

Tabloda name sütunundaki veri ‘Ahmet’ ile başlayan ve phone sütununda ‘123123123’ olan verileri 1,5 aralığında (5 adet) listelemek ;

 mysql> SELECT * FROM [table_name] WHERE name = 'Ahmet%' AND phone = '123123123' LIMIT 1,5 ;

Tabloda rec sütunundaki veri ‘a’ ile başlayan verileri listelemek ;

 mysql> SELECT * FROM [table_name] WHERE rec RLIKE '^a';

Bir sütundaki unique verileri listelemek ;

 mysql> SELECT DISTINCT [column_name] FROM [table_name];

Tabloda belirlediğimiz sütundaki verileri belirleriğimiz bir artma(ascending – ASC) veya azalma(descenging – DESC) sırasına göre listeler;

 mysql> SELECT [column_1], [column_2] FROM [table_name] ORDER BY [column_2] ASC;

Tablodaki satır sayısını verir ;

 mysql> SELECT count(*) FROM [table_name];

Sütundaki toplam değeri verir ;

 mysql> SELECT SUM(column) FROM [table_name];

BUNU TEKRAR YAP. Tabloları join etme ;

 mysql> ;

Yeni bir kullanıcı yaratıp root olarak giriş yapma ;

mysql -u root -p
mysql> use mysql;
mysql> INSERT INTO user (Host, User, Password) VALUES ('%', 'username', PASSWORD('password'));
mysql> flush privileges; 

Kullanıcının şifresini değiştirme ;

 mysql> SET PASSWORD FOR 'user'@'hostname' = PASSWORD('password');
 mysql> flush privileges;

mysql root password geri almak (mysql server işlemini durduruyoruz, skip-grant-tables yaparak mysql’e root olarak giriş yapıyoruz. yeni şifreyi set ediyoruz, sonra mysql’i restart ediyoruz. );

/etc/init.d/mysql stop
mysqld_safe --skip-grant-tables
mysql -u root
mysql> use mysql;
mysql> UPDATE user SET password=PASSWORD("newrootpassword") WHERE User='root';
mysql> flush privileges;
mysql> quit
/etc/init.d/mysql stop
/etc/init.d/mysql start 

root şifresi hiç değiştirilmediyse, bir şifre vermek için ;

 mysqladmin -u root password newpassoword ;

root şifresini değiştirme ;

 mysqladmin -u root oldpassword newpassword ;

‘ahmet’ isimli kullanıcıya “pass” şifresi erişim izni verme;

 mysql> use mysql;
mysql> grant usage on *.* to ahmet@localhost identified by 'pass';
mysql> flush privileges; 

Veritabanı için kullanıcıya yetki vermek (2 yolu vardır). ;
1 )

 # mysql -u root -p
mysql> use mysql;
mysql> INSERT INTO db (Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv) VALUES ('%','databasename','username','Y','Y','Y','Y','Y','N');
mysql> flush privileges;  ;

2 )

 mysql> grant all privileges on databasename.* to username@localhost;
mysql> flush privileges; ;

Update işlemi ;

 mysql> UPDATE [table_name] SET [column_1] = 'A', [column_2] = 'B' WHERE [field_name] 'user'; 

Tablodan satır silmek ;

 mysql> DELETE FROM [table_name] where [phone] = '123123123';

Dosya izinlerini güncellemek;

 mysql> flush privileges;

Tablodan bir sütun silmek ;

 mysql> ALTER TABLE [table_name] DROP COLUMN [column_name];

Tabloya bir sütun eklemek ;

 mysql> ALTER TABLE [table_name] ADD COLUMN [new_column_name] varchar(30);

Tablodan bir sütunun ismi değiştirme ;

 mysql> ALTER TABLE [table_name] CHANGE [old_column_name] [new_column_name];

Bir sütunu unique hale getirmek ;

 mysql> ALTER TABLE [table_name] ADD UNIQUE ([column_name]);

Tablodaki bir sütunun yapısını düzenlemek (düzenlemeden önce varchar(50) olduğunu varsayalım);

 mysql> ALTER TABLE [table_name] MODIFY [column_name] varchar(30);

Tablodaki bir sütunun unique keyini kaldırmak ;

 mysql> ALTER TABLE [table_name] DROP INDEX [column_name];

CSV dosyasını tabloya aktarmak ;

 mysql> LOAD DATA INFILE 'filename.csv' REPLACE INTO TABLE [table_name] FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (field1, field2, field3)  ;

Tüm veritabanlarını yedeklemek ;

 mysqldump -u root -p --opt > alldatabase.sql ;

Tek bir veritabanını yedeklemek ;

 mysqldump -u root -p --databases databasename1 > database1.sql ;

Bir veritabanından tek bir tabloyu yedeklemek ;

 mysqldump -u root -p databasename tablename > database.table.sql ;

Veritabanı içe aktarmak, onarmak ;

 mysqldump -u root -p databasename < database.sql ;

Tablo oluşturma örneği ;

 mysql > CREATE TABLE IF NOT EXISTS `settings` (
  `settings_id` int(11) NOT NULL AUTO_INCREMENT,
  `settings_name` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
  `status` enum('on','off') COLLATE utf8_unicode_ci NOT NULL DEFAULT 'on',
  PRIMARY KEY (`settings_id`)
) ;

Bu yazı buradaki yazıdan türkçeye çevirilmiştir.

7 Comments

    mysql komutları (mysql commands) | Gökhan Tunçkale | Blog

    […] [database_name]; Tüm databaseleri listelemek ; mysql> show databases; Bi… Devamı için : mysql komutları (mysql commands) ShareFacebookTwitterStumbleUponMoreTumblrRedditLinkedInDiggEmailPrintLike this:BeğenBe the first […]

    mysql komutları (mysql commands) « Musa Usta'nın Yeri

    […] [database_name]; Tüm databaseleri listelemek ; mysql> show databases; Bi… Devamı için : mysql komutları (mysql commands) Share this:TwitterFacebookLike this:BeğenBe the first to like this.   Leave a […]

    A ÜNSAL

    Faydalı bilgiler çevirim ve paylaşım için teşekkürler

    mysql’deki tablonun olup olmadığını kontrol etmek (php kullanarak) « Dubluve.net

    […] olsun. İçerisindeki tabloların ismi de, admin, member, log, test1, test2 olsun. Yani mysql’e konsoldan bağlanıp use test dedikten sonra, show tables dediğimizde karşımıza şu […]

    mysql’deki tablonun olup olmadığını kontrol etmek (php kullanarak) | Merve Demir

    […] olsun. İçerisindeki tabloların ismi de, admin, member, log, test1, test2 olsun. Yani mysql’e konsoldan bağlanıp use test dedikten sonra, show tables dediğimizde karşımıza şu […]

    akif

    mrb. yazınızı googledan buldum ve çok ilgimi çekti.
    sormak istediğim bir kon var yardımcı olursanız sevinirim:
    bi mysql veritabanı içinde bi sütunda yaklaşık 30k veri var ve bunların hepsi 1 olarak girilmiş. ben bunları toplu olarak 0 olarak değiştirmek istiyorum. nasıl bir yol izleyebilirim?
    şimdiden teşekkürler…

    felsefeci

    Teşekkür ederim sayende sunucuma eposta sunucusu ve yazılımı kurulumu yapabildim. Şuan yalnızca Imap hatası veriyor nedense, yakında çözerim umarım.
    Başarılar dilerim.

Bir Cevap Yazın