MySQL Veri Tipleri ve Sınırlamaları

MySQL Veri Tipleri ve Sınırlamaları

Bu makalede, MySQL veri tipleri ve sınırlamalarını ele alıyoruz MySQL'de kullanılan temel veri tipleri sayılar, karakterler, tarih ve saatlerdir Her bir veri tipi, depolanan verinin farklı yönlerini ele alır Veritabanındaki verilerin doğruluğunu ve bütünlüğünü sağlamak için sınırlamalar kullanılır Bu sınırlamalar, PRIMARY KEY, FOREIGN KEY, UNIQUE ve NOT NULL sınırlamalarını içerir Ayrıca, veritabanı sorgulamalarını gerçekleştirmek için kullanılan temel sorgulama işlemleri de ele alınmaktadır Veri tipleri arasında TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT, CHAR, VARCHAR, TEXT, ENUM gibi tipler yer almaktadır Karakter tiplerinin uzunluğu ve tipine göre farklılık gösterirler Veritabanındaki sayısal veriler için kullanılan sayı tipleri depolama ve bellek kullanımı açısından farklılık gösterir TINYINT en küçük veri boyutuna sahipken BIG

MySQL Veri Tipleri ve Sınırlamaları

Bu makalede, MySQL veri tipleri ve sınırlamaları hakkında genel bir bakış sunulacaktır. MySQL'de kullanılan temel veri tipleri, sayılar, karakterler, tarih ve saatlerdir. Her bir veri tipi, veritabanında depolanan verilerin farklı yönlerini ele alır.

Ayrıca, veritabanındaki verilerin doğruluğunu ve bütünlüğünü sağlamak için sınırlamalar kullanılır. Bu sınırlamalar, bir tablonun benzersiz bir tanımlayıcısını oluşturan PRIMARY KEY, bir tablodaki verilerin diğer tablolardaki verilerle tutarlı bir şekilde tutulmasını sağlayan FOREIGN KEY, bir alanın benzersiz veya boş bırakılamayacağını belirten UNIQUE ve NOT NULL sınırlamalarını içerir.

Ayrıca, veritabanı sorgulamalarını gerçekleştirmek için kullanılan temel sorgulama işlemleri seçmek, ekleme yapmak, güncelleme yapmak ve silmek için kullanılan SELECT, INSERT, UPDATE ve DELETE sorgularının nasıl kullanılacağı da ele alınacaktır.


Veri Tipleri

MySQL, veritabanı oluştururken kullanılan temel veri tipleri, sayılar, karakterler, tarih ve saatlerdir. Her veri tipi, depolayabileceği veri miktarı ve bellek kullanımı bakımından farklıdır.

MySQL'deki sayı tipleri TINYINT, SMALLINT, MEDIUMINT, INT ve BIGINT gibi veri tiplerini içerir. Bu sayı tipleri, depolayabilecekleri en büyük sayı miktarı ve kullanılan bellek miktarı açısından farklılık gösterir. Örneğin, TINYINT, -128 ile 127 arasındaki tam sayıları depolarken, yalnızca 1 bayt bellek kullanır. BIGINT, -9223372036854775808 ile 9223372036854775807 arasındaki tam sayıları depolayabilir ve 8 bayt bellek kullanır.

Karakter tipleri CHAR, VARCHAR, TEXT ve ENUM'dur. CHAR, sabit uzunlukta karakterler için kullanılır. Belli bir sayıda karakteri depolayabilir, ancak uzunluğu esnek değildir. Öte yandan VARCHAR, değişken uzunlukta karakterler için kullanılır ve belirli bir limiti yoktur.

MySQL'deki tarih ve saat tipleri, DATE, TIME, DATETIME ve TIMESTAMP'dir. Her biri belirli bir tarih veya saat dilimini depolamak için kullanılır. Bu veri tipleri, özellikle finans ve bankacılık gibi sektörlerde önemli bir rol oynamaktadır.


Sayılar

MySQL veritabanı sayı tipleri, TINYINT, SMALLINT, MEDIUMINT, INT ve BIGINT olmak üzere beş farklı türde gelirler. Bu tipler arasında, en küçük boyut TINYINT'dir ve yalnızca -128 ila 127 arasındaki tam sayıları depolamak için kullanılır. SMALLINT, TINYINT'ten daha büyük sayıları depolamak için kullanılır ve en fazla 2 bayt bellek kullanır.

MEDIUMINT, en fazla 3 bayt bellek kullanan sayı türüdür ve depolayabileceği sayı aralığı açısından SMALLINT'ten daha büyüktür. INT, en yaygın kullanılan sayı türüdür ve en fazla 4 bayt bellek kullanır. BIGINT, en büyük sayıları depolayabileceği için tam sayı tipleri arasında en büyüktür, ancak en fazla 8 bayt bellek kullanır.

Bu sayı tipleri, veritabanındaki sayısal verilerin düzenlenmesinde, toplanmasında ve filtrelenmesinde sıklıkla kullanılır. Örneğin, bir şirketin bir müşterinin siparişleri için numaralama sistemine ihtiyacı varsa, TINYINT veya SMALLINT kullanılabilir. Ancak, daha büyük bir veri kümesinde, INT veya BIGINT tipini kullanmak daha uygundur ve daha az bellek kullanır.


Örnek TINYINT

TINYINT, MySQL'de kullanılan sayı tiplerinden biridir ve -128 ile 127 arasındaki tam sayıları depolayabilir. TINYINT, yalnızca 1 bayt bellek kullanarak verileri saklar, bu da oldukça az bir miktardır. Dolayısıyla, TINYINT, küçük veri kümeleri için ideal bir seçimdir.

Aşağıdaki tablo, TINYINT'in depolayabileceği en büyük sayı miktarını ve veri tipinin kullanacağı minimum bellek boyutunu göstermektedir:

TinyInt Veri Tipi Değer Aralığı Bellek Boyutu
TINYINT -128 to 127 1 byte

Ayrıca, TINYINT veri türüne veritabanı sorgulamalarında da sıklıkla yer verilir. Örneğin, aşağıdaki SQL sorgusu, TINYINT veri tipi kullanılan bir sorgudur:

  • SELECT * FROM table_name WHERE column_name = 5;

Bu sorgu, "table_name" tableındaki "column_name" sütununda 5 değerine sahip olan tüm verileri seçecektir.


Örnek BIGINT

BIGINT, MySQL veritabanında geniş sayıları depolayabilmek için kullanılan bir veri tipidir. Bu veri tipi, -9223372036854775808 ile 9223372036854775807 arasındaki tam sayıları depolayabilir. Ayrıca, BIGINT veri tipi, 8 byte bellek kullanır, bu nedenle diğer sayı veri tiplerinden daha büyük miktarda bellek kullanır.

BIGINT veri tipi, çok büyük sayıları depolamak açısından oldukça kullanışlıdır ve özellikle müşteri verileri, finansal veriler gibi sayısal verilerin depolanması gereken veritabanlarında sık sık kullanılır. Ancak, bu veri tipi kullanılırken, bellek kullanımı ile ilgili dikkatli olunmalıdır. Büyük verilerin depolanması bellek sorunlarına neden olabilir ve performansı etkileyebilir. Ayrıca, veri tipi seçimi, veritabanı tablolarının boyutunu da etkileyebilir ve gereksiz veri kullanımına yol açabilir.

Tablo kullanarak BIGINT veri tipinin detayları aşağıda gösterilmiştir:

Veri Tipi Boyut (byte) Minimum Değer Maksimum Değer
BIGINT 8 -9223372036854775808 9223372036854775807

Karakterler

MySQL'deki karakter tipleri, veri tabanı tasarımında oldukça önemlidir. Karakter tipleri, depolanan verilerin tipine ve uzunluğuna göre değişir. MySQL'de kullanılan temel karakter tipleri CHAR, VARCHAR, TEXT ve ENUM'dur.

CHAR, sabit uzunlukta karakterler için kullanılır. Belli bir sayıda karakteri depolayabilir, ancak uzunluğu esnek değildir. Örneğin, bir ülkenin adı için CHAR(50) kullanılabilir. Ancak, bu alan yalnızca 50 karakter ile sınırlıdır ve uzun bir ülke adı depolanamaz.

VARCHAR, değişken uzunlukta karakterler için kullanılır. Bu karakter tipi CHAR'dan farklı olarak, maksimum uzunluğu esnektir. Örneğin, bir kullanıcının adı için VARCHAR(100) kullanılabilir. Bu alanın uzunluğu 100 karakter ile sınırlıdır, ancak kullanıcının adı sadece 10 karakter olabilir ve bu durumda alan sadece 10 karakter depolayacaktır.

TEXT, büyük metinler için kullanılır. Bu karakter tipi, VARCHAR'dan farklı olarak, büyük miktarda veri depolayabilir. Örneğin, bir blog gönderisinin metni için TEXT kullanılabilir.

ENUM, belirli bir dizi seçenek için kullanılır. Bu karakter tipi, sadece belirli bir sayıda seçeneği depolayabilir. Örneğin, bir kullanıcının abonelik tercihleri için ENUM('evet', 'hayır') kullanılabilir. Bu karakter tipi, yalnızca "evet" ve "hayır" seçeneklerini depolayabilecektir.


Örnek CHAR

CHAR, sabit uzunlukta karakterler için kullanılır. Belli bir sayıda karakteri depolayabilir, ancak uzunluğu esnek değildir. Bu veri tipi, alanın her zaman aynı uzunlukta olması gerektiği durumlarda idealdir. CHAR, TEXT gibi uzun karakterlerin depolanacağı yerleri yerine, sabit uzunluklu alanlarında kullanılır.

CHAR veri tipi, depolanacak metnin boyutu için bir sayı belirtir. Örneğin, CHAR(10) belirli bir alan için 10 karakterlik bir boyut atanmasını sağlar. Ancak, depolama boyutunda verimli değildir. Şayet alanın dolu olup olmadığına bakılmaksızın, her zaman farklı tek seferlik alana yer ayırmayı gerektirir.

Bu veri tipiyle ilgili olarak, uzun karakter bilgilerini saklamak, değiştirmek, veya onları görüntülemek için kullanılan fonksiyonlar mevcuttur. Bu fonksiyonların kullanılması, oluşabilecek performans veya veri güvenliği sorunlarından kaçınmak için çok önemlidir.


Örnek VARCHAR

VARCHAR, değişken uzunlukta karakterler için kullanılır. CHAR'a benzer, ancak uzunluğu esnektir ve belirli bir kazanç sağlar. BELİRLİ BİR LİMİT YOKTUR, bu da kullanıcıların karakter sayısında esneklik sağlar. Ancak, büyük veri depolama gerektiren uygulamalar için VARCHAR'ın belli bir performans sorunu olabilir. VARCHAR tipleri, örneğin müşteri adları, adresleri veya e-posta adresleri gibi, her zaman değişebilen uzunlukta karakter dizilerini depolamak için idealdir.


Tarih ve Saatler

MySQL veritabanında tarih ve saatler, daha doğru bir veri yönetimi için kullanılan veri tipleridir. Tarihler belirli bir tarihi ve saatler belli bir saati depolamak için kullanılır. Bu veri tipleri, ayrı ayrı ele alındığında, işlevleri için belirli sınırlamaları da içerir.

DATE veri tipi, yalnızca tarihi kaydetmek için kullanılır. Bu tarih, 'YYYY-MM-GG' formatında saklanır. TIME veri tipi, yalnızca saati kaydetmek için kullanılır. Bu saat, 'SS:DD:SS' formatında saklanır. DATETIME veri tipi, hem tarihi hem de saati kaydetmek için kullanılır. Bu tipte, tarih ve saat birleştirilerek 'YYYY-MM-GG SS:DD:SS' formatında saklanır.

TIMESTAMP veri tipi, tarih ve saat arasındaki farkı ikili olarak depolamak için kullanılır. Bu veri tipi, UTC tabanlıdır ve "1970-01-01 00:00:01" ile "2038-01-19 03:14:07" arasındaki sınırlı tarih aralığını destekler.

Veri tabanındaki tarih ve saat tiplerinin kullanımı oldukça önemlidir. Veritabanındaki kayıtların doğru bir şekilde kategorize edilmesini sağlar ve aynı zamanda zamanlama işlemlerine de olanak tanır. Tarih ve saatlerin kullanımı ile birlikte, veritabanında doğru sonuçlar elde etmek için veri tiplerinin sınırlamalarına da uyulmalıdır.


Sınırlamalar

MySQL'deki sınırlamalar, veritabanında bulunan verilerin doğruluğunu ve bütünlüğünü garantilemek için kullanılmaktadır. Bu sınırlamalar, bir tablonun yapısını ve veri tiplerini kontrol etmenizi sağlayarak, verilerin istenilen şekilde depolanmasını sağlar.

MySQL'deki sınırlamaların en yaygın kullanılanları şunlardır:

  • PRIMARY KEY:PRIMARY KEY, bir tablonun benzersiz bir tanımlayıcısını oluşturur ve tablodaki her bir girdiyi diğerlerinden ayırt etmek için kullanılır.
  • FOREIGN KEY: FOREIGN KEY, bir tabloda bir satırın başvurduğu başka bir tablodaki satırlarla ilişkili bir alandır. Bu sınırlama, bir tablodaki verilerin diğer tablolardaki verilerle tutarlı bir şekilde tutulmasını sağlar.
  • NOT NULL: NOT NULL, bir alanın boş bırakılamayacağını belirtir. Bu sınırlama sayesinde, bir veri girişi yapmak zorunlu hale gelir.
  • UNIQUE: UNIQUE, bir alanın benzersiz olduğunu belirtir ve aynı tablodaki başka hiçbir girdide tekrarlanamaz.

Bu sınırlamalar bir tablonun yapısını oluşturur ve veritabanındaki verilerin doğru biçimde depolanması için gereklidir. Örneğin, PRIMARY KEY sınırlaması, bir tablodaki her bir veri girdisinin benzersiz bir tanımlayıcıya sahip olmasını ve böylece girdilerin kolayca bulunmasını sağlar. UNIQUE sınırlaması ise, belirli bir alandaki verilerin yalnızca bir kez kaydedilebileceğini belirtir ve böylece verilerin tekrarlanmasını önler.


PRIMARY KEY

MySQL veritabanlarındaki bir tablonun benzersiz bir tanımlayıcısını belirlemek ve tablodaki her bir girdiyi diğerlerinden ayırt etmek için PRIMARY KEY sınırlaması kullanılır. Bir tablonun birincil anahtar alanına eklenen her bir veri, bir benzersiz değere sahip olduğundan, birden fazla girdinin aynı değere sahip olması mümkün değildir.

Tabloda birden fazla sütun yer alıyor ise, sadece bir PRIMARY KEY oluşturulabilir. PRIMARY KEY sınırlaması, özellikle tablodaki verilerin benzersiz bir şekilde tanımlanması gereken durumlarda kullanışlıdır. Örneğin, bir müşteri tablosunda müşterilerin benzersiz bir kimlik numarasının tutulması gerekiyorsa, bu sınırlama kullanılabilir.

PRIMARY KEY Özellikleri
Tanımlama PRIMARY KEY, sadece birincil anahtar sütununda bir sınırlama olabilir.
Benzersiz Değer Birincil anahtar, tablodaki her bir girdinin benzersiz bir şekilde belirlenmesini sağlar.
NULL Değerler Birincil anahtar alanı NULL değerleri kabul etmez.

Bir tablonun birincil anahtarının seçimi mümkün olduğunca basit olmalıdır. PRIMARY KEY sınırlaması, tablonun performansını artırmak için de önemlidir. Çünkü benzersiz bir anahtar, tablo içindeki verilerin hızlı bir şekilde erişilmesini sağlanır.


FOREIGN KEY

= Bir veritabanında, bir tablodaki satırların diğer tablolarla ilişkisini sağlamak için FOREIGN KEY kullanılır. Başka bir tablodaki verilerle tutarlı bir şekilde çalışmak için kullanılır. FOREIGN KEY, bir tablo tasarlarken kullanılan bir sınırlamadır. Bir alan veya grup alan, diğer bir tablodan gelen bir PRIMARY KEY veya UNIQUE sınırlamayı karşılayan bir değeri referans alır.

Örneğin, bir ürün veritabanı düşünün. "Siparişler" tablosundaki bir sütun, "müşteri_id" gibi, başka bir tabloyu (örneğin "Müşteriler" tablosu) referans gösterir. Bu, "Siparişler" tablosundaki verilerin diğer tablolardaki verilerle uyumlu olmasını sağlar.

Siparişler Müşteriler
müşteri_id müşteri_id
1 1
2 2
3 1

Bu tabloda her bir sipariş için "müşteri_id" sütunu, başka bir tablodaki bir UNIQUE veya PRIMARY KEY sınırlamasına (bu durumda "Müşteriler" tablosundaki "müşteri_id" sütunu) karşılık gelen bir değeri referans gösterir. Böylece, "Siparişler" tablosundaki her bir sipariş, "Müşteriler" tablosundaki her bir müşteri için bir karşılık gelir.


NOT NULL

MySQL veri tipleri ve sınırlamaları hakkında konuşurken, NOT NULL sınırlandırması herhangi bir veritabanı yapısı için önemli bir rol oynar. NOT NULL, bir alanın veritabanına eklenirken boş bırakılamayacağını belirten bir kısıtlamadır. Bu kısıtlama, bir veritabanındaki veri bütünlüğünü korumak için kullanılır. Örneğin, bir kullanıcının kaydolurken isim ve e-posta gibi temel bilgilerini girmesi gerekir. Ancak, kullanıcıların silinebilir bir kayda eklenmesi mümkün olmazsa, veritabanındaki veriler güvenli bir şekilde saklanmış olur.

Bu kısıtlama, başka bir kullanıcı veya bir program tarafından veritabanı girdilerinin değiştirilmesini engelleyerek veritabanını güvenli hale getirir. NOT NULL sınırlandırması, veritabanı yöneticilerinin, belirli verileri zorunlu kılmak ve geçersiz veri girdilerini önlemek için kullanabileceği bir araçtır. Kullanılan veri tipine bağlı olarak, bu sınırlandırma, belirli bir kısıtlamanın çok sayıda kullanıcının çalışması için zorunlu olduğu hallerde özellikle kullanışlıdır.

Örneğin, bir kullanıcının bir hesap açması için, cüzdanında belirli bir miktarda para olması şart koşulabilir. NOT NULL, bu yalnızca bir alanın boş bırakılamayacağını belirtmekle kalmaz, aynı zamanda bir alanın farklı bir tablodaki belirli bir veri türüyle de eşleşmesini sağlar. NOT NULL sınırlaması ile, verilerin doğru bir şekilde depolanması ve işlenmesi sağlanır.


UNIQUE

UNIQUE, diğer sınırlamalardan farklı olarak, bir alanın benzersiz olmasını sağlar. Yani bir veritabanı tablosunda birden fazla girdi bulunsa bile, bu alan tekrarlanamaz. Bu, verilerde tutarlılık sağlamaya yardımcı olur ve tablolar arasındaki farklılıkları vurgular. Örneğin, bir kullanıcı tablosunda, her bir kullanıcının e-posta adresi benzersiz olmalıdır. Bu, kullanıcı kayıt işleminde hataların önlenmesine yardımcı olur ve verilerin doğruluğunu artırır.

UNIQUE sınırlaması, bir tabloda birden fazla alanı birlikte benzersiz olarak belirlemek için de kullanılabilir. Örneğin, bir çevrimiçi mağaza uygulamasında, hem kullanıcı adı hem de e-posta adresi benzersiz olmalıdır. Bu, kayıt işlemi sırasında kullanıcıların kimliğini doğrulamalarına yardımcı olur ve verilerin bütünlüğünü korur.

Bir alanın UNIQUE olarak belirtilmesi, tablodaki diğer alanlarla ilişkisi olan FOREIGN KEY sınırlaması ile birlikte kullanılabilir. Bu, farklı tablolar arasındaki verilerin birbirine bağlı olduğu durumlarda faydalı olabilir. Örneğin, bir sipariş tablosunda, sipariş numarası UNIQUE olarak belirlenirken, müşteri bilgileri başka bir tabloda FOREIGN KEY olarak bağlanabilir.


Sorgulamalar

MySQL veritabanlarında sorgulamalar, veritabanındaki bilgileri almak, güncellemek veya silmek için kullanılır. Sorgulama işlemleri yapmak için, SQL (Structured Query Language) kullanılır.

SELECT: Veritabanından veri çekmek için kullanılır. SELECT * FROM tablo_adi sorgusu, ilgili tablodaki tüm verileri getirir. Belirli sütunlardan veya koşulların sağlandığı verilerden de seçim yapılabilir. Örneğin, SELECT sütun_adi FROM tablo_adi WHERE kosul; sorgusu, belirli bir sütundaki bilgileri, verilen koşula göre filtreleyip getirir.

INSERT: Yeni veriler eklemek için kullanılır. INSERT INTO tablo_adi (sütun_adi1, sütun_adi2, ...) VALUES ('değer1', 'değer2', ...); sorgusu, belirtilen sütunlara, verilen değerleri ekler.

UPDATE: Mevcut verileri güncellemek için kullanılır. UPDATE tablo_adi SET sütun_adi1='yeni_deger1', sütun_adi2='yeni_deger2' WHERE kosul; sorgusu, verilen koşula göre, ilgili sütunlardaki verileri günceller.

DELETE: Belirtilen koşula göre, verileri silmek için kullanılır. DELETE FROM tablo_adi WHERE kosul; sorgusu, tablodaki verileri seçilen koşula göre siler.

Sorgular, birleştirilebilir ve karmaşık sorgular oluşturmak için kullanılabilir. MySQL, diğer veritabanı yönetim sistemlerinde olduğu gibi, verimli ve efektif bir şekilde sorgulama yapmak için sunduğu işlemleri sayesinde, veri tabanlarının yönetimi ve işlemi açısından en popüler seçeneklerden biridir.


SELECT

SELECT, MySQL veritabanında bir veya daha fazla alanı seçmek ve bu alanları belirli bir koşula göre filtrelemek için kullanılan bir sorgulama işlemidir. SELECT sorgusu genellikle bir tablodan veri almak için kullanılır.

SELECT sorgusu, aşağıdaki şekilde kullanılabilir:

Sözdizimi Açıklama
SELECT * FROM table_name; Belirtilen tablodaki tüm alanların tüm satırlarını seçer.
SELECT column1, column2, ... FROM table_name; Belirtilen tablodaki belirli alanları seçer
SELECT * FROM table_name WHERE column_name = 'value'; Belirtilen koşula uyan satırları seçer.

SELECT sorgusu, veritabanından veri almanın temel yoludur ve sık sık kullanılan bir sorgulama işlemidir. Şartlara ve koşullara göre filtreleme yaparak, kullanıcının istediği verileri hızlı bir şekilde almasına izin verir.


INSERT

MySQL'de INSERT kullanarak yeni bir girdi eklemek oldukça kolaydır. İlk olarak, hangi tabloya veri ekleyeceğinizi belirlemelisiniz. Ardından, eklenecek olan verilerin sütunlarına karşılık gelen değerleri belirtmelisiniz.

INSERT INTO kullanımı için aşağıdaki tablo açıklamalarını inceleyebilirsiniz.

Sözdizimi Açıklama
INSERT INTO table_name (column1, column2, column3, ...) Eklemek istediğiniz yeni satırın sütunlarını belirtir.
VALUES (value1, value2, value3, ...) Eklemek istediğiniz yeni satırın değerlerini belirtir.

Örneğin, bir 'müşteriler' tablonuz olsun ve tabloya bir yeni müşteri eklemek istiyorsunuz.

musteriler
musteri_id adi soyadi yasi adresi
1 Ahmet Öz 35 Ankara
2 Mehmet Kara 23 İstanbul

Bu örnekte, müşteri tablonuza bir yeni müşteri eklemek istiyorsunuz. Yeni müşterinin adı 'Can', soyadı 'Yılmaz', yaşı '28' ve adresi de 'İzmir' olsun diyelim. Bu verileri INSERT INTO kullanarak müşteri tablonuza ekleyebilirsiniz:

Sözdizimi Açıklama
INSERT INTO musteriler (adi, soyadi, yasi, adresi) musteri tablonuza ekleyeceğiniz sütunları belirtir.
VALUES ('Can', 'Yılmaz', 28, 'İzmir') Yeni müşterinizin bilgilerini belirtir.

Bu sorgu, müşteri tablonuza yeni bir girdi olarak 'Can Yılmaz' isimli müşteriyi ekleyecektir.


UPDATE

MySQL'deki UPDATE işlemi, veritabanında mevcut olan bir girdiyi güncellemek için kullanılır. Bu işlem, bir girdinin belirli bir özelliğinin değiştirilmesi gerektiğinde veya bir veri yanlış girildiğinde kullanışlıdır.

UPDATE işlemi, güncellenmesi gereken tablo ve güncellenecek kaydın belirtilmesiyle başlar. Kayıdın seçilmesi, WHERE koşulu kullanılarak yapılır - bu, yalnızca belirli bir kritere uyan kayıtların güncellenmesini sağlar.

Örneğin, bir müşterinin adını güncellemek istediğimizde, aşağıdaki sorgu kullanılabilir:

SQL Sorgusu
UPDATE customers SET customer_name = 'Yeni İsim' WHERE customer_id = 1;

Bu sorgu, "customers" tablosundaki "customer_id" değeri 1 olan kaydın "customer_name" özelliğini "Yeni İsim" olarak değiştirir.

UPDATE işlemi hızlı ve etkilidir, ancak dikkatli kullanılmalıdır. Yanlışlıkla doğru kaydı güncellemek, verilerinizi bozabilir ve geri döndürülmesi zor hatalara yol açabilir.


DELETE

MySQL'de, veritabanındaki belirli koşullara göre veri silmek için DELETE kullanılır. Delete sorgusu, belirtilen tablodan belirtilen koşullara göre girdileri siler. Sorgu, silinen satır sayısını döndürür. Basit bir örnek olarak, "customers" adlı bir tabloda "country" alanı "Turkey" olan tüm müşterileri silmek istediğimizi varsayalım:

CustomerID CustomerName Country
1 John USA
2 Ayşe Turkey
3 Kemal Turkey

Bu durumda, aşağıdaki sorguyu kullanabiliriz:

DELETE FROM customers WHERE Country= 'Turkey'

Sorgu çalıştırıldıktan sonra, "customers" tablosunda "Country" alanı "Turkey" olan tüm müşteriler silinir:

CustomerID CustomerName Country
1 John USA

DELETE sorgusu ayrıca, diğer tablolara referans veren kayıtların da otomatik olarak silinmesini sağlayan FOREIGN KEY sınırlamalarını kullanabilir. Bununla birlikte, dikkatli olunmalıdır, çünkü yanlış kullanımda veri kaybı riski yüksektir.