Mysql—C語言API接口-創(chuàng)新互聯(lián)

Mysql—C語言API接口
  • 一、mysql-arp訪問數(shù)據(jù)的操作流程
    • 1. 初始化mysql操作句柄;
    • 2. 連接mysql服務(wù)器;
    • 3. 設(shè)置mysql客戶端字符集(保持與服務(wù)器一致);
    • 4. 選擇要操作的數(shù)據(jù)庫;
    • 5. 定義sql語句,并且執(zhí)行語句;
    • 6. 將查詢結(jié)果保存到本地;
    • 7. 獲取結(jié)果中的條數(shù)和列數(shù);
    • 8. 根據(jù)條數(shù)和列數(shù)遍歷結(jié)果集;
    • 9. 釋放保存在本地的結(jié)果集;
    • 10. 關(guān)閉mysql句柄,釋放資源;
  • 二、接口認(rèn)識(shí)
    • 1. 初始化mysql句柄
    • 2. 連接mysql服務(wù)器
    • 3. 設(shè)置當(dāng)前客戶端的字符集
    • 4. 選擇操作的數(shù)據(jù)庫
    • 5. 執(zhí)行sql語句
      • 5.1 獲取mysql-api接口運(yùn)行失敗的原因:
    • 6. 保存查詢結(jié)果到本地
    • 7. 獲取結(jié)果集中的行數(shù)與列數(shù)
    • 8. 遍歷結(jié)果集
    • 9. 釋放結(jié)果集
    • 10. 關(guān)閉數(shù)據(jù)庫客戶端連接,銷毀句柄:

專業(yè)從事成都做網(wǎng)站、網(wǎng)站設(shè)計(jì),高端網(wǎng)站制作設(shè)計(jì),小程序開發(fā),網(wǎng)站推廣的成都做網(wǎng)站的公司。優(yōu)秀技術(shù)團(tuán)隊(duì)竭力真誠(chéng)服務(wù),采用html5+CSS3前端渲染技術(shù),成都響應(yīng)式網(wǎng)站建設(shè)公司,讓網(wǎng)站在手機(jī)、平板、PC、微信下都能呈現(xiàn)。建站過程建立專項(xiàng)小組,與您實(shí)時(shí)在線互動(dòng),隨時(shí)提供解決方案,暢聊想法和感受。

了解api接口,自己實(shí)現(xiàn)mysql客戶端,在代碼中訪問數(shù)據(jù)庫操作數(shù)據(jù)。

一、mysql-arp訪問數(shù)據(jù)的操作流程 1. 初始化mysql操作句柄; 2. 連接mysql服務(wù)器; 3. 設(shè)置mysql客戶端字符集(保持與服務(wù)器一致); 4. 選擇要操作的數(shù)據(jù)庫; 5. 定義sql語句,并且執(zhí)行語句;

(就是將sql發(fā)送給服務(wù)器,服務(wù)器進(jìn)行解析完成操作);

  • 如果是新增,修改,刪除操作語句執(zhí)行成功意味著本次操作完成,
  • 但是如果是查詢,語句執(zhí)行成功只是第一步。
6. 將查詢結(jié)果保存到本地; 7. 獲取結(jié)果中的條數(shù)和列數(shù); 8. 根據(jù)條數(shù)和列數(shù)遍歷結(jié)果集; 9. 釋放保存在本地的結(jié)果集; 10. 關(guān)閉mysql句柄,釋放資源; 二、接口認(rèn)識(shí) 1. 初始化mysql句柄
MYSQL *mysql_init(MYSQL *mysql);
  mysql:傳入一個(gè)句柄的地址進(jìn)行初始化,
         如果傳入NULL,則內(nèi)部申請(qǐng)空間進(jìn)行初始化并返回申請(qǐng)的句柄的首地址。
  返回值:失敗返回NULL;
2. 連接mysql服務(wù)器
MYSQL *mysql_real_connect(MYSQL *mysql, char *host, char *user, char *pass, 
                          char *db, int port, char *socket, int clientflag);
  mysql:mysql_init返回的句柄;
  host:mysql服務(wù)器地址;
  user:用戶名;
  db:默認(rèn)要操作的庫名稱;
  port:端口,0表示默認(rèn)使用3306端口
  socket:套接字或者管道文件,通常置NULL;
  clientflag:客戶端標(biāo)志,通常置0;
  返回值:成功返回句柄首地址,失敗返回NULL;
3. 設(shè)置當(dāng)前客戶端的字符集
int mysql_set_character_set(MYSQL *mysql, const char *csname);	
  mysql:初始化完成的句柄;
  csname:字符集名稱,通常是uft8;
  返回值:成功返回0,失敗返回非0;
4. 選擇操作的數(shù)據(jù)庫
int mysql_select_db(MYSQL *mysql, const char *db);
  mysql:初始化完成的句柄;
  db:要操作的數(shù)據(jù)庫名稱;
  返回值:成功返回0,失敗返回非0;
5. 執(zhí)行sql語句
int mysql_query(MYSQL *mysql, const char *sql);
  mysql:初始化完成的句柄;
  sql:要執(zhí)行的sql語句;
  返回值:成功返回0,失敗返回非0;
5.1 獲取mysql-api接口運(yùn)行失敗的原因:
char * mysql_error(MYSQL *mysql)
6. 保存查詢結(jié)果到本地
MYSQL_RES *mysql_store_result(MYSQL *mysql)
7. 獲取結(jié)果集中的行數(shù)與列數(shù)
uint64_t mysql_num_rows(MYSQL_RES *res);
  res:保存到本地的結(jié)果集地址;
  返回值:結(jié)果集中數(shù)據(jù)的**條數(shù)**;
unsigned int mysql_num_fields(MYSQL_RES *res);
  res:保存到本地的結(jié)果集地址;
  返回值:結(jié)果集中每一條數(shù)據(jù)的**列數(shù)**;
8. 遍歷結(jié)果集
MYSQL_ROW mysql_fetch_row(MYSQL_RES *res); 
  res:保存到本地的結(jié)果集地址;

遍歷結(jié)果集,會(huì)在res中做標(biāo)記,保存讀寫位置,每獲取一條就會(huì)向后偏移;

MYSQL_ROW這是一個(gè)char *res[xxxx] - - 每個(gè)元素都是一個(gè)字段的值。

mysql結(jié)果不管是什么類型,保存過來就是一個(gè)字符串;

9. 釋放結(jié)果集
int mysql_free_result(MYSQL_RES *res);
10. 關(guān)閉數(shù)據(jù)庫客戶端連接,銷毀句柄:
int mysql_close(MYSQL *mysql);

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

網(wǎng)站名稱:Mysql—C語言API接口-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://muchs.cn/article34/djjipe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)企業(yè)網(wǎng)站制作、網(wǎng)站策劃、網(wǎng)頁設(shè)計(jì)公司手機(jī)網(wǎng)站建設(shè)、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)