SQL Notları: MySQL ile Başlangıç

# 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.