MySQL ile Veritabanı Yönetimi 101

MySQL ile database ve tablo oluşturmayı, Select, Update, Insert ve Delete fonksiyonların örneklerle ile anlatımı sağlayacağım. Yapılan işlemler herhangi bir Linux dağıtımında CLI üzerinde gerçekleşecektir.

CLI = Command Line Interface yani Terminal anlamanı taşır.

MySQL Ubuntu 20.04 Kurulumu

apt install mysql-server

MySQL konfigüre edilmesi için aşağıda ki komut girilmelidir.

sudo mysql_secure_installation

Sırasıyla Y , 2 parametreleri girilmelidir. Daha sonrasında size root hesabı için şifre oluşturmanızı isteyecektir. Sonrasında MySQL bağlantısı için aşağıda ki komut uygulanmalıdır.

mysql -u root -p

MySQL Nedir?

Açık kaynak kodlu ilişkisel veritabanıdır. Unix ve Windows dağıtımlarını desteklemektedir. Linux dağıtımlarında daha hızlı olduğu söylenebilir.

İlk olarak satır ve sütün kavramlarını bilmemiz gerekir. MySQL Column(sütün) ve Row(Satır) anlamanı taşır.

Örnek 1:

İd sütunu sırasıyla 1,2,3 değerlerini barındırmaktadır.

Örnek 2:

1. satır sırasıyla 1, asim ve asimPASS değerlerini barındırmaktadır.

MySQL Database(veritabanı) Oluşturmak

customers isimli database aşağıda ki komut ile oluşturulur. Komut başarılı ise “Query OK, 1 row affected (0.001 sec) ” yanıtını alırız.

CREATE database  customers;

Daha önceden Oluşturulan Veritabanlarını MySQL show komutu ile görüntülenir.

show databases;
MySQL show databases

Oluşturduğumuz customers veritabanı use komutu ile seçelim. İlgili komut sonrası “Database changed” çıktısını görmemiz gerekir.

use customers;

MySQL Tablo Oluşturmak

Users isimli tablo oluşturalım. Tablomuzda id, username ve şifre gibi değerleri tutsun. Id değeri her kayıt işleminde otomatik olarak veritabanı tarafından int yani sayısal 1 ve artan değerler ile eklenecektir.

Aşağıda ki komut sonrasında çıktı “Query OK, 0 rows affected (0.008 sec)” şeklinde olacaktır.

CREATE TABLE  Users (
	Userid int NOT NULL AUTO_INCREMENT,
	Username varchar(30),
	Password varchar(30),
	PRIMARY KEY (Userid)
);

MySQL ile tabloları görüntülemek için show tables komutu kullanılır.

show tables;

Tablo içeresinde PRIMARY_KEY ifadesini dikkat çekmiştir. Nedir bu PRIMARY_KEY ?

Tabloda belirtilen Userid değerini için benzersiz(unique) tanımlar. Null değer alamaz ve oluşturulan tablo içeresinde bir tane bulabilir. Yukarıda ki tabloda Userid birincil anahtardır.

MySQL Tabloya Veri Eklemek

MySQL de tabloya veri eklemek için Insert komutundan yararlanılır. İlk olarak verinin eklenecek tablo ve sütünların ismi yazılır. Sonrasında değerleri yazılır. Yapılan işlem sonrasında “Query OK, 1 row affected (0.007 sec)” çıktısını alırsınız. Sırasıyla tabloya 3 adet veri ekledik.

INSERT INTO Users(Username, Password) VALUES ('asim', 'asimPASS');
INSERT INTO Users(Username, Password) VALUES ('misirli', 'asimMISIRLI');
INSERT INTO Users(Username, Password) VALUES ('squid', 'playGame');

MySQL Tablo İçeresindeki Verileri Görüntülemek

MySQL Select komutu ile tablo içeresinde verilerinin tamamını ya da istenilen kısımları yardımcı fonksiyonlar ile görüntülemizi sağlar.

SELECT * FROM Users;

Eklemiş olduğumuz verileri sağlıklı bir şekilde görüntülemiş olduk.

ifadesi tüm sütünları getir demektir. * yerine aşağıda ki yazsaydık. Sadece asim, misirli, squid ifadeleri dönecekti.

SELECT Username from Users;

MySQL Where Koşulu

Where koşulu filtreleme yapmamız sağlar. İstenilen veriyi getirir. Username ifadesi squid eşit olan tüm verileri gösterelim;

SELECT *  from Users WHERE Username ='squid';

Bunun dışında tüm sütunları değilde istenilen sütunları da getirebiliriz. Sadece Userid ve Password değerlerini getirelim

SELECT Userid, Password from Users WHERE Username='squid';

MySQL Tablodaki Veriyi Güncellemek

Veritabanı içeresinde istenilen sütunu güncelleyebiliriz. Bunun için WHERE VE SET ifadeleri devreye girmektedir.

Username ifadesi misirli olan kullanıcının şifresi freedom yapalım.

 UPDATE Users SET Password = 'freedom' WHERE Username ='misirli';

İşlem sonrasında “

Query OK, 1 row affected (0.005 sec)
Rows matched: 1 Changed: 1 Warnings: 0″ çıktısını almamız gerekir. Daha sonrası SELECT ifadesi ile görüntüleyebilirsiniz.

MySQL Tablodaki Veriyi Silmek

İstenilen satır WHERE koşulu sağlandığında silinebilir ya da tüm tablonun içindeki kayıtlar silinebilir. Username ifadesi asim olan kullanıcı silelim

DELETE FROM Users WHERE Username ='asim';

MySQL Order By Komutu

Order By sonuçları ascend ya da descend olarak sıralamak yapar. Default olarak ascending sıralaması yapar.

ASC |DESC Örnek vermek gerekirse ; A B C D E F ya da 1 2 3 4 5 6 gibi sıralandığında ASC oluyor. F E D C B A ya da 6 5 4 3 2 1 olduğunda DESC sıralama oluyor.

Userid ifadelerine göre DESC sıralaması yapalım.

SELECT * FROM Users ORDER BY Userid DESC;

MySQL Backup Database

MySQL içeresinde backup işlemini yerine getirecek fonksiyon bulundurmaktadır. CLI üzerinde yapmanız gerekmektedir.

mysqldump --databases customers > customers.sql

MySQL Tablo Ya da Database Silmek

Tablo silmek için aşağıda ki komut uygulanır.

DROP TABLE Users;

Veritabanı silmek için aşağıda ki komut uygulanır.

DROP DATABASE customers;

Bir sonraki yazımda UNION, CONCAT ya da güvenlik testlerinde yaygınca kullandığımız fonksiyonlarını değineceğim.

Leave a Reply

Your email address will not be published.