首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Linux C 語言連接 MySQL 完整教程:API 調用、編譯鏈接與實戰範例

     編輯:MySQL 資料庫相關知識

MySQL C API 開發指南 (Linux)

MySQL 提供 C 語言客戶端庫 (libmysqlclient),眾多官方客戶端工具即以 C 開發。原始碼 clients 目錄可作參考範例。

開發環境準備 (Ubuntu 為例)

sudo apt-get install mysql-client libmysqlclient15-dev libmysqlclient15off mysql-server gcc make

完整範例:連接本機 MySQL 列出所有表

/* mysql_c_api.c */
#include 
#include 
#include 

int main() {
  MYSQL *conn;
  MYSQL_RES *res;
  MYSQL_ROW row;

  char *server = "localhost";
  char *user = "root";
  char *password = "";  // 修改為你的密碼
  char *database = "mysql";

  conn = mysql_init(NULL);

  if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) {
    fprintf(stderr, "%s\n", mysql_error(conn));
    exit(1);
  }

  if (mysql_query(conn, "SHOW TABLES")) {
    fprintf(stderr, "%s\n", mysql_error(conn));
    exit(1);
  }

  res = mysql_use_result(conn);
  printf("MySQL Tables in mysql database:\n");
  while ((row = mysql_fetch_row(res)) != NULL)
    printf("%s\n", row[0]);

  mysql_free_result(res);
  mysql_close(conn);
  return 0;
}

編譯與鏈接關鍵:mysql_config

mysql_config 提供編譯旗標與鏈接庫資訊:

$ mysql_config --cflags
-I/usr/include/mysql -g -pipe -m64 -D_GNU_SOURCE ...

$ mysql_config --libs
-L/usr/lib64/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -L/usr/lib64 -lssl -lcrypto

編譯命令

gcc -o mysql_c_api $(mysql_config --cflags) mysql_c_api.c $(mysql_config --libs)

執行

./mysql_c_api

關鍵 API 流程

  1. mysql_init() 初始化連接句柄
  2. mysql_real_connect() 建立連接
  3. mysql_query() 發送 SQL
  4. mysql_use_result() / mysql_store_result() 獲取結果集
  5. mysql_fetch_row() 逐行讀取
  6. mysql_free_result() 釋放結果集
  7. mysql_close() 關閉連接

錯誤處理:每步檢查返回值,失敗時用 mysql_error(conn) 取得錯誤訊息。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved