C Veritabanı Ekleme: Kapsamlı Bir Kılavuz
Veritabanları, modern uygulamaların ayrılmaz bir parçasıdır ve verileri kalıcı olarak depolamak ve yönetmek için kullanılır. C programlama dilinde, veritabanı işlemlerini gerçekleştirmek için çeşitli kütüphaneler ve araçlar mevcuttur. Bu makale, C’de veritabanına nasıl veri ekleneceğini ayrıntılı olarak açıklayacaktır.
Veritabanı Bağlantısı Kurma
Veritabanına veri eklemeden önce, bir bağlantı kurmanız gerekir. Bu, veritabanı sunucusuna bağlanmak ve veritabanını seçmek için kullanılır. Aşağıdaki kod parçası, MySQL veritabanına bir bağlantı kurar:
“`c
include
include
include
int main() {
MYSQL *con = mysql_init(NULL);
if (mysql_real_connect(con, “localhost”, “kullanıcı_adı”, “şifre”, “veritabanı_adı”, 0, NULL, 0) == NULL) {
fprintf(stderr, “%s\n”, mysql_error(con));
mysql_close(con);
exit(1);
}
// Veritabanına veri ekleme işlemleri burada gerçekleştirilebilir.
mysql_close(con);
return 0;
}
“`
Veri Ekleme Sorgusu Oluşturma
Veritabanına veri eklemek için bir SQL INSERT sorgusu oluşturmanız gerekir. Bu sorgu, eklenecek verileri ve hedef tabloyu belirtir. Aşağıdaki kod parçası, “kişiler” tablosuna yeni bir kayıt eklemek için bir INSERT sorgusu oluşturur:
c
char *sorgu = "INSERT INTO kişiler (ad, soyad, yaş) VALUES ('John', 'Doe', 30)";
Sorguyu Çalıştırma
Oluşturulan sorgu, mysql_query()
fonksiyonu kullanılarak veritabanında çalıştırılır. Bu fonksiyon, sorgunun başarılı olup olmadığını belirten bir tamsayı döndürür. Aşağıdaki kod parçası, daha önce oluşturulan sorguyu çalıştırır:
c
if (mysql_query(con, sorgu) != 0) {
fprintf(stderr, "%s\n", mysql_error(con));
mysql_close(con);
exit(1);
}
Eklenen Kayıt Sayısını Alma
Başarılı bir ekleme işlemi, etkilenen kayıt sayısını döndürür. Bu sayı, mysql_affected_rows()
fonksiyonu kullanılarak alınabilir. Aşağıdaki kod parçası, eklenen kayıt sayısını alır:
c
int etkilenen_kayıt_sayısı = mysql_affected_rows(con);
printf("%d kayıt eklendi.\n", etkilenen_kayıt_sayısı);
Örnek Kod
Aşağıdaki kod parçası, C’de veritabanına veri ekleme işleminin tamamını gösteren bir örnektir:
“`c
include
include
include
int main() {
MYSQL *con = mysql_init(NULL);
if (mysql_real_connect(con, “localhost”, “kullanıcı_adı”, “şifre”, “veritabanı_adı”, 0, NULL, 0) == NULL) {
fprintf(stderr, “%s\n”, mysql_error(con));
mysql_close(con);
exit(1);
}
char *sorgu = “INSERT INTO kişiler (ad, soyad, yaş) VALUES (‘John’, ‘Doe’, 30)”;
if (mysql_query(con, sorgu) != 0) {
fprintf(stderr, “%s\n”, mysql_error(con));
mysql_close(con);
exit(1);
}
int etkilenen_kayıt_sayısı = mysql_affected_rows(con);
printf(“%d kayıt eklendi.\n”, etkilenen_kayıt_sayısı);
mysql_close(con);
return 0;
}
“`