Database MySQL dapat digunakan oleh program yang ditulis dalam bahasa pemrograman C pada Socrates dan Plato dan pada workstation IS Solaris. Detail lengkap tentang C API (Application Program Interface) diberikan dalam manual MySQL Show cc -I/usr/local/include/mysql prog.c -lmysqlclient -lsocket -lnsl -lm -lz Program ini menampilkan field kedua dan ketiga (bernomor 1 dan 2) dari setiap baris tabel people di database ucabwww dimana umur field lebih besar dari 30 #include <mysql.h> #include <stdio.h> int main() { MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row; char *server = "mysql-server.ucl.ac.uk"; char *user = "ucabwww"; char *password = "secret"; char *database = "ucabwww"; conn = mysql_init(NULL); /* Connect to database */ if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) { fprintf(stderr, "%s\n", mysql_error(conn)); return(0); } /* send SQL query */ if (mysql_query(conn, "SELECT * FROM people WHERE age > 30")) { fprintf(stderr, "%s\n", mysql_error(conn)); return(0); } res = mysql_use_result(conn); /* output fields 1 and 2 of each row */ while ((row = mysql_fetch_row(res)) != NULL) printf("%s %s\n", row[1], row[2]); /* Release memory used to store results and close connection */ mysql_free_result(res); mysql_close(conn); }_ MySQL adalah sistem manajemen basis data sumber terbuka (DBMS). Ini sangat populer di kalangan pengembang web karena merupakan bagian dari tumpukan LAMP (Linux, Apache, MySQL, PHP/Perl/Python). Banyak situs web skala besar populer seperti WikiPedia, Facebook, Youtube menggunakan database ini. Sering kali kita perlu menggunakan akses database MySQL dari program C. Di sini kita akan melihat cara mengakses database MySQL dari program C Catatan. CentOS 7. 2 sistem operasi digunakan di sini untuk penginstalan database dan kompilasi kode. Ini harus sama untuk semua distribusi Linux berbasis RedHat Menginstal MySqlJika Anda sudah menginstal MySQL di sistem Anda, Anda dapat melewati bagian ini dan menggunakan database yang ada, jika tidak, jalankan perintah berikut untuk menginstal database MySQL Harap diperhatikan bahwa Anda harus menjadi pengguna super (root) dan harus memiliki koneksi internet saat mengeluarkan perintah ini wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release-el7-5.noarch.rpm yum update yum install mysql-server MySQL berjalan sebagai layanan pada sistem Linux. Untuk memulai layanan MySQL, keluarkan perintah ini sebagai pengguna super (root) systemctl start mysqld Anda juga dapat memeriksa apakah layanan tersebut benar-benar berjalan dengan perintah ini systemctl status mysqld_ Jika service sedang berjalan maka perintah ini akan menunjukkan aktif (running) seperti gambar di bawah ini Membuat Tabel di DatabasePada bagian ini, kita akan membuat tabel sampel di database MySQL secara manual langsung di server database. Kami akan mengakses tabel itu dari program C nanti mysql -u root -p Di bawah MySQL, Anda dapat memiliki banyak database. Tabel akan dibuat di bawah database. Anda dapat membuat database baru dengan mengeluarkan perintah ini CREATE DATABASE mydb;_ Sekarang Anda harus masuk ke dalam database dengan perintah USE mydb; Buat tabel my_table di bawah database mydb menggunakan pernyataan SQL ini CREATE TABLE my_table (table_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, first_name TEXT, last_name TEXT);_ Masukkan beberapa entri ke tabel my_table INSERT INTO my_table(first_name, last_name) VALUES('Cristiano', 'Ronaldo'); INSERT INTO my_table(first_name, last_name) values('Lionel', 'Messi');_ Anda dapat memeriksa entri tabel dengan kueri SQL ini SELECT * FROM my_table; Akses database MySQL dari Program CUntuk mengakses database MySQL, Anda harus memiliki paket mysql-devel di sistem Anda. Paket ini menyediakan pustaka berbagi dan file header yang diperlukan untuk pengembangan program klien MySQL. File header diperlukan untuk kompilasi program dan pustaka bersama digunakan saat run-time. Untuk mengecek apakah paket sudah terinstall dengan perintah ini yum info mysql-devel Jika tidak diinstal, keluarkan perintah ini untuk menginstal mysql-devel systemctl start mysqld0 Berikut adalah program klien MySQL untuk mengakses entitas basis data seperti tabel, deretan tabel systemctl start mysqld1 Dalam program contoh kami di atas, kami menampilkan semua tabel di database mydb kami dan semua baris dari tabel my_table Sebelum melakukan operasi database apa pun, kita perlu terhubung ke server database. Bagian kode ini melakukan itu systemctl start mysqld2 API mysql_init() menginisialisasi satu objek MYSQL dan mengembalikan alamat (penunjuk) objek tersebut jika alokasi berhasil. Jika fungsi gagal mengalokasikan objek MYSQL, maka akan mengembalikan NULL. Pointer yang dikembalikan akan digunakan sebagai pegangan untuk operasi database selanjutnya. Untuk mengakses elemen basis data apa pun seperti tabel atau bidang tabel apa pun, pertama-tama kita harus terhubung ke server basis data. Fungsi mysql_real_connect() digunakan untuk terhubung ke server database MySQL. Dibutuhkan alamat IP atau nama domain dari sistem tempat server MySQL berjalan. Karena server kami berjalan pada sistem yang sama tempat program akan berjalan, “localhost”
systemctl start mysqld_3 Sepotong kode di atas mendapatkan semua nama tabel dari database MySQL yang terhubung. Untuk melakukannya, kita harus menjalankan kueri SQL yang dapat kita lakukan dengan menggunakan mysql_query() API. Untuk mendapatkan hasil dari kueri yang dieksekusi, kita harus menggunakan API mysql_use_result() atau mysql_store_result(). Di sini kami menggunakan mysql_use_result() yang tidak membawa seluruh hasil ke Bagian selanjutnya dari kode mengambil semua baris tabel my_table systemctl start mysqld_4 Di sini juga kami menggunakan mysql_query() API untuk mengeksekusi kueri SELECT SQL. Di sini kami menggunakan mysql_store_result() untuk mengambil semua baris yang dikembalikan ke klien Kode di bawah ini akan melintasi semua baris dan mencetaknya systemctl start mysqld5 API mysql_num_fields() mengembalikan nomor kolom dari tabel yang dikembalikan. Loop while luar diulangi melalui baris dan inner Dan akhirnya res jika dibebaskan menggunakan mysql_free_result() Kompilasi Kode Klien MySQLMengkompilasi kode klien MySQL itu rumit. Pertama-tama Anda harus menginstal GCC di sistem Anda. Anda harus menyetel flag dan pustaka kompilasi yang tepat untuk ditautkan. Untuk melakukannya, kami akan menggunakan utilitas mysql_config untuk mendapatkan opsi kompiler. “mysql_config –cflags” mengembalikan flag C Compiler untuk menemukan file sertakan dan flag compiler kritis dan definisi yang digunakan saat mengkompilasi pustaka libmysqlclient. Dan Perpustakaan "mysql_config –libs" dan opsi yang diperlukan untuk terhubung dengan perpustakaan klien MySQL systemctl start mysqld6 Biner keluaran akan disimpan sebagai mysqlc Jika kita menjalankan programnya, outputnya akan terlihat seperti ini systemctl start mysqld_7 Penulis. SrikantaSaya menulis di sini untuk membantu para pembaca mempelajari dan memahami pemrograman komputer, algoritma, jaringan, konsep OS, dll. dengan cara sederhana. Saya memiliki 20 tahun pengalaman kerja dalam jaringan komputer dan otomasi industri. Lihat semua posting oleh Srikanta Bisakah kita menghubungkan MySQL dengan C?Database MySQL tersedia di sebagian besar platform OS penting. Ini berjalan di BSD Unix, Linux, Windows, atau Mac OS. Untuk dapat mengkompilasi contoh C, kita perlu menginstal pustaka pengembangan MySQL C . Baris di atas menunjukkan bagaimana kita dapat melakukannya di Linux berbasis Debian.
Apakah MySQL ditulis dalam C atau C++?MySQL ditulis dalam C dan C++ . Parser SQL-nya ditulis dalam yacc, tetapi menggunakan penganalisa leksikal buatan sendiri.
Bagaimana cara menautkan basis data ke C?Satu-satunya peringatan di sini adalah bahwa ODBC menggunakan API gaya-C lama. . Langkah 1. Membuat Database Azure SQL Anda. . Langkah 2. Dapatkan string koneksi. . Langkah 3. Tambahkan IP Anda ke firewall. . Langkah 4. Menghubungkan dari aplikasi Windows C/C++. . Langkah 5. Menghubungkan dari aplikasi Linux C/C++ |