Linux下用C語言API連線MySQL資料庫

2021-04-13 07:26:46 字數 1960 閱讀 5517

像php和perl一樣,mysql也提供的c語言使用的api.

c**的api是隨mysql一起發布的. 它包含在mysqlclient庫中, 可以使c程式來訪問資料庫.

mysql原始碼包中的許多客戶端都是用c寫的.  如果你正在找使用這些c api的例子, 可以看看客戶端的寫法.你可以在mysql原始碼包的clients目錄找到這些例子.

請確保你已經安裝了必要的開發環境,比如gcc, mysql等等. 下面是編譯乙個程式所需要安裝的軟體包的列表 (ubuntu為例):

下面這個例子,連線本機的mysql伺服器,然後列出mysql資料庫中所有的表:

/* ****** c program that connects to mysql database server*/

#include

#include

main(

)/* send sql query */

if(mysql_query(conn,

"show tables"))

res = mysql_use_result(conn)

;/* output table name */

printf

("mysql tables in mysql database:/n");

while

((row = mysql_fetch_row(res))!

=null

)printf

("%s /n"

, row[0]);

/* close connection */

mysql_free_result(res)

;mysql_close(conn);}

mysql中有乙個特殊的指令碼,叫做mysql_config. 它會為你編譯mysql客戶端,並連線到mysql伺服器提供有用的資訊.你需要使用下面兩個選項.

1. --libs選項 - 連線mysql客戶端函式庫所需要的庫和選項.

$ mysql_config --libs

輸出:

-l/usr/lib64/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -l/usr/lib64 -lssl -lcrypto
2. --cflags選項 - 使用必要的include檔案的選項等等.

$ mysql_config --cflags

輸出:

-i/usr/include/mysql -g -pipe -m64 -d_gnu_source -d_file_offset_bits=64 -d_largefile_source -fno-strict-aliasing
你需要將上面兩個選項加入到對原始檔的編譯命令中. 所以,要編譯上面的程式,要使用下面的命令:

$gcc -o output-file $(mysql_config --cflags) mysql-c-api.c $(mysql_config --libs)

執行編譯後的程式:

$ ./output.file

輸出為:

mysql tables in mysql database:

columns_priv

dbfunc

help_category

help_keyword

help_relation

help_topic

host

tables_priv

time_zone

time_zone_leap_second

time_zone_name

time_zone_transition

time_zone_transition_type

user

【**】

linux下C語言連線mysql

linux下c語言連線mysql include include include mysql mysql void doquery m res mysql store result mysql if m res null while m field mysql fetch field m res i...

Linux下C語言連線MySQL

include include include int main if mysql query mysql,select from test num fields mysql num fields result while row mysql fetch row result for i 0 i編譯...

Linux下C語言連線MySQL

相對於window下的設定,linux要簡單的很多。1.示例程式 vi mysql c api.c include include mysql mysql.h int main return 0 2.編譯命令 在mysql編譯後的二進位制檔案中,有乙個很有用的二進位制檔案 mysql config ...