1.首先安裝mysql-server , mysql-client:
sudo apt-get install libmysqlclient16 mysql-server mysql-client libmysqlclient-dev
2.範例程式碼:
/********************************************** ** 作者:楊志永 ** 日期:2012-05-17 ** ** Email: ljy520zhiyong@163.com ** QQ: 929168233 * * ** 檔案名稱:mysql.c ** ** 功能:串連MySQL並查詢 ** ***********************************************/#include <stdio.h>#include <stdlib.h>#include <mysql.h> //包含MySQL所需要的標頭檔MYSQL mysql, *sock; //聲明MySQL的控制代碼int main(void){ const char * host = "127.0.0.1"; //因為是作為本機測試,所以填寫的是本地IPconst char * user = "root"; //這裡改為你的使用者名稱,即串連MySQL的使用者名稱const char * passwd = "yangfamily"; //這裡改為你的使用者密碼const char * db = "testmysql"; //這裡改為你要串連的資料庫的名字unsigned int port = 3306; //這是MySQL的伺服器的連接埠,如果你沒有修改過的話就是3306。const char * unix_socket = NULL; //unix_socket這是unix下的,我在Windows下,所以就把它設定為NULLunsigned long client_flag = 0; //這個參數一般為0const char * i_query = "select * from test"; //查詢語句MYSQL_RES * result; //儲存結果集的MYSQL_ROW row; //代表的是結果集中的一行mysql_init(&mysql); //串連之前必須使用這個函數來初始化if ( (sock = mysql_real_connect(&mysql, host, user, passwd, db, port, unix_socket, client_flag) ) == NULL ) //串連MySQL{printf("串連失敗,原因是: \n");fprintf(stderr, " %s\n", mysql_error(&mysql));exit(1);}else{fprintf(stderr, "串連MySQL成功!!\n");}if ( mysql_query(&mysql, i_query) != 0 ) //如果串連成功,則開始查詢{fprintf(stderr, "查詢失敗!\n");exit(1);}else{if ( (result = mysql_store_result(&mysql)) == NULL ) //儲存查詢的結果{fprintf(stderr, "儲存結果集失敗!\n");exit(1);}else{while ( (row = mysql_fetch_row(result)) != NULL ) //讀取結果集中的資料,返回的是下一行。因為儲存結果集時,當前的遊標在第一行【之前】{printf("name is %s\t", row[0]); //列印當前行的第一列的資料printf("age is %s\t\n", row[1]); //列印當前行的第二列的資料}}}mysql_free_result(result); //釋放結果集mysql_close(sock); //關閉串連exit(EXIT_SUCCESS);}
3.編譯:
gcc connectMySQL.c -o connectMySQL $(mysql_config --cflags --libs)
4.執行:
./connectMySQL
MySQL資料庫中的資料為: