1,用C的接口。
創(chuàng)新互聯(lián)公司提供網(wǎng)站制作、做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì),高端網(wǎng)站設(shè)計(jì),一元廣告等致力于企業(yè)網(wǎng)站建設(shè)與公司網(wǎng)站制作,十載的網(wǎng)站開(kāi)發(fā)和建站經(jīng)驗(yàn),助力企業(yè)信息化建設(shè),成功案例突破上千余家,是您實(shí)現(xiàn)網(wǎng)站建設(shè)的好選擇.
先裝mysql,只要client就好了,./configure的時(shí)候可以用--without-server
然后寫(xiě)程序的時(shí)候包含mysql.h
用
MYSQL mysql;
mysql_init(mysql);
初始化mysql引擎,
用mysql_real_connect()函數(shù)連接數(shù)據(jù)庫(kù)。
....
mysql.h中有一些對(duì)C的API函數(shù),你可以在手冊(cè)里查到。你自己可以封裝成類(lèi)。或者干脆網(wǎng)上下人家封裝好的代碼。
編譯的時(shí)候加-lmysqlclient, -I[path to mysql headers]
2,用mysql的 c++開(kāi)發(fā)包
libmysql++-dev
libmysql++2c2a
libmysqlclient15-dev
libmysqlclient15off
關(guān)于里面的類(lèi)是如何封裝的,我沒(méi)用過(guò),自己看doc吧, 呵呵。
方法如下:
1.頭文件:
#include
#include
#include//這個(gè)是必需要包含的,下面對(duì)mysql的所有操作函數(shù),都出自這里
2.定義一個(gè)MYSQL變量:
MYSQLmysql;
這里MYSQL是一個(gè)用于連接MySql數(shù)據(jù)庫(kù)的變量。
在后面對(duì)mysql數(shù)據(jù)庫(kù)的操作中,我們就用這個(gè)MYSQL變量作為句柄的。
3.定義數(shù)據(jù)庫(kù)參數(shù):
charhost[32]=”localhost”;
charuser[32]=”username”;
charpasswd[32]=”pwd”;
chardbname[32]=”testdb”;
4.數(shù)據(jù)庫(kù)操作
1).初始化數(shù)據(jù)庫(kù):
mysql_init(mysql);
2).連接數(shù)據(jù)庫(kù):
mysql_real_connect(mysql,host,user,passwd,dbname,0,NULL,0);
我們?cè)诓僮鲿r(shí),可以對(duì)以上的函數(shù)進(jìn)行if測(cè)試,如果初始化或者連接出錯(cuò),作出相應(yīng)提示,以便調(diào)試。
5.對(duì)數(shù)據(jù)庫(kù)的操作:
Mysql_query(mysql,“select*fromtestdbwherecondition”);
我們?cè)趯?shí)際操作中,為了更方便的使用程序中的某些變量,我們將會(huì)用到一個(gè)函數(shù):
intsprintf(char*str,constchar*format,?);
這個(gè)函數(shù)用來(lái)格式化我們的字符串,然后將變量按照給你的格式,賦給第一個(gè)參數(shù)。
我們使用這個(gè)方法方法可以很方便的使用我們的變量來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。例如我們將要進(jìn)行數(shù)據(jù)庫(kù)的查詢(xún)操作,我們就可以這樣使用:
sprintf(sql,”select*fromtestdbwhereusername=‘%s’”,u_name);
然后使用mysql_query(mysql,sql)進(jìn)行查詢(xún)。
MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQLAB公司開(kāi)發(fā),屬于Oracle旗下產(chǎn)品。MySQL是最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)之一,在WEB應(yīng)用方面,MySQL是最好的RDBMS(RelationalDatabaseManagementSystem,關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng))應(yīng)用軟件之一。
鏈表是一種物理存儲(chǔ)單元上非連續(xù)、非順序的存儲(chǔ)結(jié)構(gòu),數(shù)據(jù)元素的邏輯順序是通過(guò)鏈表中的指針鏈接次序?qū)崿F(xiàn)的。鏈表由一系列結(jié)點(diǎn)(鏈表中每一個(gè)元素稱(chēng)為結(jié)點(diǎn))組成,結(jié)點(diǎn)可以在運(yùn)行時(shí)動(dòng)態(tài)生成。每個(gè)結(jié)點(diǎn)包括兩個(gè)部分:一個(gè)是存儲(chǔ)數(shù)據(jù)元素的數(shù)據(jù)域,另一個(gè)是存儲(chǔ)下一個(gè)結(jié)點(diǎn)地址的指針域。相比于線性表順序結(jié)構(gòu),操作復(fù)雜。由于不必須按順序存儲(chǔ),鏈表在插入的時(shí)候可以達(dá)到O(1)的復(fù)雜度,比另一種線性表順序表快得多,但是查找一個(gè)節(jié)點(diǎn)或者訪問(wèn)特定編號(hào)的節(jié)點(diǎn)則需要O(n)的時(shí)間,而線性表和順序表相應(yīng)的時(shí)間復(fù)雜度分別是O(logn)和O(1)。
#includemysql/mysql.h
#includestdio.h
intmain()
{
MYSQL*conn;
MYSQL_RES*res;
MYSQL_ROWrow;
char*server="localhost";//本地連接
char*user="root";//
char*password="525215980";//mysql密碼
char*database="student";//數(shù)據(jù)庫(kù)名
char*query="select*fromclass";//需要查詢(xún)的語(yǔ)句
intt,r;
conn=mysql_init(NULL);
if(!mysql_real_connect(conn,server,user,password,database,0,NULL,0))
{
printf("Errorconnectingtodatabase:%s\n",mysql_error(conn));
}else{
printf("Connected...\n");
}
t=mysql_query(conn,query);
if(t)
{
printf("Errormakingquery:%s\n",mysql_error(conn));
}else{
printf("Querymade...\n");
res=mysql_use_result(conn);
if(res)
{
while((row=mysql_fetch_row(res))!=NULL)
{
//printf("num=%d\n",mysql_num_fields(res));//列數(shù)
for(t=0;tmysql_num_fields(res);t++)
printf("%8s",row[t]);
printf("\n");
}
}
mysql_free_result(res);
}
mysql_close(conn);
return0;
}
擴(kuò)展資料
C語(yǔ)言使用注意事項(xiàng):
1、指針是c語(yǔ)言的靈魂,一定要靈活的使用它:
(1)、指針的聲明,創(chuàng)建,賦值,銷(xiāo)毀等
(2)、指針的類(lèi)型轉(zhuǎn)換,傳參,回調(diào)等
2、遞歸調(diào)用也會(huì)經(jīng)常用到:
(1)、遞歸遍歷樹(shù)結(jié)構(gòu)
(2)、遞歸搜索
mysql是有c語(yǔ)言接口的,安裝相應(yīng)庫(kù)后就可以鏈接了,一般連接mysql的函數(shù)是mysql_connect或者mysql_real_connect(大概就是這么拼的吧。。。)可以使用mysql_query執(zhí)行sql語(yǔ)句
當(dāng)前題目:怎么將C和mysql c語(yǔ)言與mysql相連
標(biāo)題URL:http://m.2m8n56k.cn/article40/doggsho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、搜索引擎優(yōu)化、Google、、軟件開(kāi)發(fā)、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容