25 Temmuz 2012 Çarşamba

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. Devamı için : mysql komutları (mysql commands)

Hiç yorum yok:

Yorum Gönder

Yorumunuzu esirgemeyiniz..