C Veritabanindaki Her Tabloya Kayit Ekleme

C Veritabanına Her Tabloya Kayıt Ekleme

Veritabanı yönetim sistemleri (DBMS), verileri yapılandırılmış bir şekilde saklamak ve yönetmek için kullanılan yazılım programlarıdır. C programlama dili, veritabanlarıyla etkileşime geçmek için çeşitli işlevler ve kitaplıklar sağlar. Bu makale, C kullanarak bir veritabanındaki her tabloya nasıl kayıt ekleneceğini ayrıntılı olarak açıklayacaktır.

Gereklilikler

  • C programlama dili
  • Bir veritabanı yönetim sistemi (örneğin MySQL, PostgreSQL, SQLite)
  • Veritabanına bağlanmak için uygun bir kitaplık (örneğin libmysqlclient, libpq, sqlite3)

Adım 1: Veritabanına Bağlanma

İlk adım, veritabanına bağlanmaktır. Bu, veritabanı sunucusunun adresini, bağlantı noktasını, kullanıcı adını ve parolayı belirterek yapılabilir. Örneğin, MySQL için aşağıdaki kod kullanılabilir:

“`c

include

include

include

int main() {
MYSQL *con = mysql_init(NULL);

if (mysql_real_connect(con, "localhost", "kullanici_adi", "sifre", "veritabani_adi", 0, NULL, 0) == NULL) {
    fprintf(stderr, "%s\n", mysql_error(con));
    mysql_close(con);
    return EXIT_FAILURE;
}

// Bağlantı başarılı
// ...

mysql_close(con);
return EXIT_SUCCESS;

}
“`

Adım 2: Tabloları Listeleme

Bir sonraki adım, veritabanındaki tabloları listelemektir. Bu, SHOW TABLES sorgusunu kullanarak yapılabilir. Örneğin, MySQL için aşağıdaki kod kullanılabilir:

“`c

include

include

include

int main() {
MYSQL *con = mysql_init(NULL);

if (mysql_real_connect(con, "localhost", "kullanici_adi", "sifre", "veritabani_adi", 0, NULL, 0) == NULL) {
    fprintf(stderr, "%s\n", mysql_error(con));
    mysql_close(con);
    return EXIT_FAILURE;
}

// Tabloları listele
MYSQL_RES *res = mysql_list_tables(con, NULL);
if (res == NULL) {
    fprintf(stderr, "%s\n", mysql_error(con));
    mysql_close(con);
    return EXIT_FAILURE;
}

// Sonuçları yazdır
MYSQL_ROW row;
while ((row = mysql_fetch_row(res)) != NULL) {
    printf("%s\n", row[0]);
}

mysql_free_result(res);
mysql_close(con);
return EXIT_SUCCESS;

}
“`

Adım 3: Kayıt Ekleme

Her tabloya kayıt eklemek için INSERT INTO sorgusu kullanılır. Sorgu, eklenecek verileri ve hedef tabloyu belirtir. Örneğin, MySQL için aşağıdaki kod kullanılabilir:

“`c

include

include

include

int main() {
MYSQL *con = mysql_init(NULL);

if (mysql_real_connect(con, "localhost", "kullanici_adi", "sifre", "veritabani_adi", 0, NULL, 0) == NULL) {
    fprintf(stderr, "%s\n", mysql_error(con));
    mysql_close(con);
    return EXIT_FAILURE;
}

// Tablolara kayıt ekle
char *tablolar[] = {"tablo1", "tablo2", "tablo3"};
int tablo_sayisi = sizeof(tablolar) / sizeof(tablolar[0]);

for (int i = 0; i < tablo_sayisi; i++) {
    char *sorgu = malloc(1024);
    sprintf(sorgu, "INSERT INTO %s (sutun1, sutun2, sutun3) VALUES (1, 'veri1', 10.5)", tablolar[i]);

    if (mysql_query(con, sorgu) != 0) {
        fprintf(stderr, "%s\n", mysql_error(con));
        mysql_close(con);
        return EXIT_FAILURE;
    }

    free(sorgu);
}

mysql_close(con);
return EXIT_SUCCESS;

}
“`

Faydalı Kaynaklar


Yayımlandı

kategorisi