# SQL Notları: MySQL ile Başlangıç
SQL (Structured Query Language), veritabanlarıyla etkileşim kurmak için kullanılan güçlü bir dildir. Bu yazıda, MySQL üzerinden SQL’in temel kavramlarına ve komutlarına bir göz atacağız. Eğer SQL’e yeni başlıyorsanız, bu notlar tam size göre!
## MySQL’e Giriş
MySQL, açık kaynaklı bir ilişkisel veritabanı yönetim sistemidir (RDBMS). İlk sürümü 1995 yılında piyasaya sürülen MySQL, o günden bu yana birçok güncelleme ve iyileştirme geçirdi. İşte MySQL’in bazı önemli sürümleri ve çıkış tarihleri:
– **1.0**: 1995-05-23
– **3.19**: 1996-12-01
– **5.0**: 2005-10-01
– **5.7**: 2015-10-01
MySQL, geniş bir kullanım alanına sahiptir ve özellikle web uygulamalarında sıklıkla tercih edilir.
## Veritabanı ve Tablo Oluşturma
### Veritabanı Oluşturma
MySQL’de yeni bir veritabanı oluşturmak için `CREATE DATABASE` komutunu kullanırız:
“`sql
CREATE DATABASE mydb;
“`
Bu komut, `mydb` adında yeni bir veritabanı oluşturacaktır. Komut başarıyla çalıştığında, `Query OK, 1 row affected (0.05 sec)` gibi bir çıktı alırsınız.
### Veritabanını Kullanma
Oluşturduğunuz veritabanını kullanmak için `USE` komutunu kullanabilirsiniz:
“`sql
USE mydb;
“`
Bu komut, artık `mydb` veritabanı üzerinde işlem yapacağınızı belirtir.
### Tablo Oluşturma
Veritabanında yeni bir tablo oluşturmak için `CREATE TABLE` komutunu kullanırız. Örneğin, `mytable` adında bir tablo oluşturalım:
“`sql
CREATE TABLE mytable (
id int unsigned NOT NULL auto_increment,
username varchar(100) NOT NULL,
email varchar(100) NOT NULL,
PRIMARY KEY (id)
);
“`
Bu komut, `id`, `username` ve `email` sütunlarına sahip bir tablo oluşturacaktır. `id` sütunu, her kayıt için otomatik olarak artan bir değer alacak ve her kaydın benzersiz olmasını sağlayacaktır.
## Veri Ekleme, Güncelleme ve Silme
### Veri Ekleme
Tabloya yeni bir satır eklemek için `INSERT INTO` komutunu kullanırız:
“`sql
INSERT INTO mytable (username, email) VALUES (“myuser”, “myuser@example.com”);
“`
Bu komut, `username` ve `email` sütunlarına belirtilen değerleri ekleyecektir. String değerler tek veya çift tırnak içinde yazılabilir.
### Veri Güncelleme
Tablodaki bir satırı güncellemek için `UPDATE` komutunu kullanırız:
“`sql
UPDATE mytable SET username=”myuser” WHERE id=8;
“`
Bu komut, `id` değeri 8 olan satırın `username` sütununu güncelleyecektir.
### Veri Silme
Tablodan bir satır silmek için `DELETE` komutunu kullanırız:
“`sql
DELETE FROM mytable WHERE id=8;
“`
Bu komut, `id` değeri 8 olan satırı tablodan silecektir.
## Veri Sorgulama
Tablodan belirli koşullara göre veri çekmek için `SELECT` komutunu kullanırız:
“`sql
SELECT * FROM mytable WHERE username = “myuser”;
“`
Bu komut, `username` değeri “myuser” olan tüm satırları getirecektir.
## Veritabanı ve Tablo Bilgilerini Görüntüleme
### Veritabanlarını Listeleme
Mevcut veritabanlarını listelemek için `SHOW DATABASES` komutunu kullanırız:
“`sql
SHOW DATABASES;
“`
Bu komut, sunucuda bulunan tüm veritabanlarını listeleyecektir.
### Tabloları Listeleme
Bir veritabanındaki tabloları listelemek için `SHOW TABLES` komutunu kullanırız:
“`sql
SHOW TABLES;
“`
Bu komut, seçili veritabanındaki tüm tabloları listeleyecektir.
### Tablo Yapısını Görüntüleme
Bir tablonun yapısını görüntülemek için `DESCRIBE` komutunu kullanırız:
“`sql
DESCRIBE mytable;
“`
Bu komut, `mytable` tablosunun sütunlarını ve özelliklerini gösterecektir.
## Kullanıcı ve İzin Yönetimi
### Kullanıcı Oluşturma
MySQL’de yeni bir kullanıcı oluşturmak için `CREATE USER` komutunu kullanırız:
“`sql
CREATE USER ‘user’@’localhost’ IDENTIFIED BY ‘some_password’;
“`
Bu komut, yalnızca yerel makineden bağlanabilen bir kullanıcı oluşturacaktır. Eğer kullanıcının her yerden bağlanabilmesini istiyorsanız, `localhost` yerine `%` kullanabilirsiniz.
### İzin Verme
Kullanıcıya belirli veritabanları veya tablolar üzerinde izin vermek için `GRANT` komutunu kullanırız:
“`sql
GRANT SELECT, INSERT, UPDATE ON mydb.* TO ‘user’@’localhost’;
“`
Bu komut, `user` kullanıcısına `mydb` veritabanındaki tüm tablolar üzerinde `SELECT`, `INSERT` ve `UPDATE` izinleri verecektir.
—
Bu temel bilgilerle MySQL’e başlangıç yapabilirsiniz. SQL öğrenmek, veritabanı yönetimi ve veri analizi gibi alanlarda kariyer yapmak isteyenler için oldukça önemlidir. Bir sonraki yazıda, daha gelişmiş SQL konularına değineceğiz.
—