像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 -lcrypto2. --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 ...