C Veri Tabanında Veri Ekleme
Veri tabanları, verileri organize ve erişilebilir bir şekilde depolamak için kullanılan önemli araçlardır. C programlama dilinde, veri tabanlarına erişmek ve bunları yönetmek için çeşitli kütüphaneler ve araçlar mevcuttur. Bu makalede, C’de veri tabanına veri ekleme işleminin nasıl gerçekleştirileceğini ayrıntılı olarak inceleyeceğiz.
Veri Tabanı Bağlantısı Kurma
Veri tabanına veri eklemeden önce, öncelikle veri tabanına bir bağlantı kurmamız gerekir. Bu, mysql_connect()
veya mysqli_connect()
gibi bir bağlantı işlevi kullanılarak yapılabilir. Bağlantı işlevi, veri tabanı sunucusunun adını, kullanıcı adını, parolayı ve veri tabanı adını parametre olarak alır.
c
MYSQL *conn;
conn = mysql_connect("localhost", "kullanici_adi", "sifre", "veri_tabani_adi");
Veri Ekleme Sorgusu Oluşturma
Veri tabanına veri eklemek için bir SQL sorgusu oluşturmamız gerekir. INSERT INTO
ifadesi, veri ekleme işlemi için kullanılır. Sorgu, eklenecek verilerin değerlerini ve eklenecekleri tabloyu içermelidir.
sql
INSERT INTO tablo_adi (sutun1, sutun2, ...) VALUES (deger1, deger2, ...);
Sorguyu Çalıştırma
Oluşturulan SQL sorgusu, mysql_query()
veya mysqli_query()
gibi bir sorgu işlevi kullanılarak çalıştırılır. Sorgu işlevi, bağlantı nesnesini ve çalıştırılacak sorguyu parametre olarak alır.
c
int result;
result = mysql_query(conn, "INSERT INTO tablo_adi (sutun1, sutun2, ...) VALUES (deger1, deger2, ...)");
Sonuçları İşleme
Sorgu başarıyla çalıştırıldıktan sonra, eklenen satırların sayısını veya etkilenen satırların sayısını döndüren bir sonuç nesnesi elde ederiz. Bu sonuç nesnesi, mysql_affected_rows()
veya mysqli_affected_rows()
işlevi kullanılarak işlenebilir.
c
int affected_rows;
affected_rows = mysql_affected_rows(conn);
Örnek Kod
Aşağıdaki kod örneği, “kisiler” adlı bir tabloya yeni bir kişi ekleme işlemini göstermektedir:
“`c
include
include
include
int main() {
MYSQL *conn;
conn = mysql_connect(“localhost”, “kullanici_adi”, “sifre”, “veri_tabani_adi”);
if (conn == NULL) {
fprintf(stderr, "Veri tabanına bağlanılamadı: %s\n", mysql_error(conn));
exit(1);
}
char *sorgu = "INSERT INTO kisiler (ad, soyad, yas) VALUES ('Ahmet', 'Yilmaz', 25)";
int result = mysql_query(conn, sorgu);
if (result != 0) {
fprintf(stderr, "Sorgu çalıştırılamadı: %s\n", mysql_error(conn));
exit(1);
}
int affected_rows = mysql_affected_rows(conn);
printf("%d satır eklendi.\n", affected_rows);
mysql_close(conn);
return 0;
}
“`