C語言對mysql資料庫的操作

2021-05-26 05:04:46 字數 2120 閱讀 6458

這已經是一相當老的話題。不過今天我才首次使用,把今天的一些體會寫下來,也許能給一些新手帶來一定的幫助,更重要的是供自己今後忘記的怎麼使用而進行查閱的!

我們言歸正傳

1.標頭檔案:

#include

#include

#include //這個是必需要包含的,下面對mysql的所有操作函式,都出自這裡

2.定義乙個mysql變數:

mysql mysql;

這裡mysql是乙個用於連線mysql資料庫的變數。

在後面對mysql資料庫的操作中,我們就用這個mysql變數作為控制代碼的。

3.定義資料庫引數:

char host[32]=」localhost」;  

char user[32]=」username」;  

char passwd[32]=」pwd」; 

char dbname[32]=」testdb」; 

4.資料庫操作

1).初始化資料庫:

mysql_init(&mysql);

2).連線資料庫:

mysql_real_connect(&mysql,host,user,passwd,dbname,0,null,0);

我們在操作時,可以對以上的函式進行if測試,如果初始化或者連線出錯,作出相應提示,以便除錯。

5.對資料庫的操作:

mysql_query(&mysql, 「select * from testdb where condition」);

我們在實際操作中,為了更方便的使用程式中的某些變數,我們將會用到乙個函式:

int sprintf(char *str, const char *format, …);

這個函式用來格式化我們的字串,然後將變數按照給你的格式,賦給第乙個引數。

我們使用這個方法方法可以很方便的使用我們的變數來對資料庫進行操作。例如我們將要進行資料庫的查詢操作,我們就可以這樣使用:

sprintf(sql,」select * from testdb where username = 『%s』」, u_name);

然後使用mysql_query(&mysql, sql)進行查詢。

其實大家已經注意到了,在sprintf函式中第二個引數是我們非常熟悉的sql語句,只不過在條件的右端使用了類似輸出函式的格式符,因為我們使用了變 量。當然,在沒有變數的時候,我們可以省去第三個引數,但是這樣,我們使用sprintf的作用也就隨之消失了。 

大家對sql語句的操作一定比我更加熟悉,因此,關於刪除和修改的例子我們就不過列舉了。

6.關閉資料庫連線:        

mysql_close(&mysql);        

也許大夥都使用過php對mysql進行操作。也許也已經發現,在c語言中,對mysql資料庫的操作和php有很大的相似之處。

#include

#include

#include

#include

#include

mysql mysql;

main()

if (mysql_real_connect(&mysql,host,user,passwd,dbname,0,null,0) == null)

else syslog(log_user|log_info, 「connect to database: /n」);

printf(」connected to the db!/n」); 

int a = find_ps(); 

printf(」the num is:%d/n」,a); 

db_close(); 

return 0;}int db_close()

int  find_ps ()        

m_res = mysql_store_result(&mysql);

if(m_res==null)

}mysql_free_result(m_res);

return res;

7.編譯:

別忘了加上庫位置,否則編譯無法通過!

gcc  -l/usr/lib/mysql –lmysqlclient func.c -o func

呵呵,別忘記哦!

C語言操作MYSQL資料庫

因為最近聊天室的專案需要使用資料庫,所以我在這裡寫一篇部落格來講解一下如何用c語言來使用聊天室 mysql init mysql mysql 初始化乙個控制代碼 mysql library init 0,null,null 連線資料庫的重要一步 接下來還有最重要的一步就是為你的資料庫設定中文字符集,...

C語言操作mysql資料庫

usr local mysql support files mysql.server startmysql uroot p1 u 後邊接使用者名稱 p 後邊代表密碼 i 代表路徑 標頭檔案的目錄 l 動態庫的路徑 指定庫的路徑 l 指定需連線的庫名 gcc dm01 hello.c o dm01 h...

C語言操作Mysql資料庫API

1 功能 獲得或初始化乙個mysql結構 所需標頭檔案 include 函式原型 mysql mysql init mysql mysql 函式返回值 乙個被始化的mysql 控制代碼 備註 在記憶體不足的情況下,返回null2 函式功能 連線乙個mysql伺服器 1 所需標頭檔案 include ...