MySQL 是一種常見的關系型數據庫管理系統,C 語言可以使用其提供的 API 連接 MySQL 數據庫。在 C 語言中,我們可以使用 MySQL Connector/C++ 庫或者 MySQL Connector/C 庫來實現對 MySQL 數據庫的操作。同時,MySQL 支持多種數據類型,包括但不限于整型、字符型、浮點型、日期、時間等。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <mysql/mysql.h> int main(int argc, char *argv[]) { MYSQL conn; MYSQL_RES *res; MYSQL_ROW row; char *server = "localhost"; char *user = "root"; char *password = "password"; char *database = "test"; char query[100]; int port = 3306; mysql_init(&conn); if (!mysql_real_connect(&conn, server, user, password, database, port, NULL, 0)) { fprintf(stderr, "Failed to connect to database: Error: %s\n", mysql_error(&conn)); } else { sprintf(query, "SELECT * FROM student"); if (mysql_query(&conn, query)) { fprintf(stderr, "Query failed: Error: %s\n", mysql_error(&conn)); } else { res = mysql_use_result(&conn); printf("Name\t\tAge\t\tGrade\n"); while ((row = mysql_fetch_row(res))) { printf("%s\t\t%s\t\t%s\n", row[0], row[1], row[2]); } mysql_free_result(res); } mysql_close(&conn); } return 0; }
在上述代碼中,我們通過 MySQL Connector/C 庫連接到 MySQL 數據庫,并查詢了名為 'student' 的表中的所有數據,然后將其輸出。其中,mysql_init() 函數用于初始化連接對象,mysql_real_connect() 函數用于連接到數據庫,mysql_query() 函數用于執行 SQL 查詢語句,mysql_use_result() 函數用于獲取結果集,mysql_fetch_row() 函數用于逐行獲取結果集中的數據。通過這些函數的組合應用,我們可以實現對 MySQL 數據庫的靈活操作。