国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務(wù)器 > Linux服務(wù)器 > 正文

Linux 下C語言連接mysql實例詳解

2024-09-05 23:03:42
字體:
供稿:網(wǎng)友

 

Linux 下C語言連接mysql實例詳解

第一步:

安裝mysql, 

第二步:

 

安裝mysql.h函數(shù)庫

sudo apt-get install libmysqlclient-dev

執(zhí)行之后就可以看到/usr/include/MySQL目錄了

然后開始我們的鏈接.

首先看我的數(shù)據(jù)庫

mysql> show databases;+--------------------+| Database      |+--------------------+| information_schema || chat_room     || mysql       || mysql_shiyan    || performance_schema || sys        |+--------------------+6 rows in set (0.00 sec)mysql> use chat_room;Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedmysql> show tables;+---------------------+| Tables_in_chat_room |+---------------------+| user_message    |+---------------------+1 row in set (0.00 sec)mysql> select * from user_message;+------+-------+--------+| ID  | name | passwd |+------+-------+--------+|  1 | linux | linux ||  2 | lyt  | lyt  |+------+-------+--------+2 rows in set (0.00 sec)

可以看到,我在chat_room數(shù)據(jù)庫中有user_message這張表,我們現(xiàn)在要做的就是讀出這張表里的數(shù)據(jù).

直接上代碼

#include<stdio.h>#include<stdlib.h>#include<errno.h>#include<mysql/mysql.h>int main(void){  char *sql;  sql="SELECT * FROM user_message;";  int res;//執(zhí)行sql語句后的返回標(biāo)志  MYSQL_RES *res_ptr;//指向查詢結(jié)果的指針  MYSQL_FIELD *field;//字段結(jié)構(gòu)指針  MYSQL_ROW result_row;//按行返回查詢信息  int row,column;//查詢返回的行數(shù)和列數(shù)  MYSQL *conn;//一個數(shù)據(jù)庫鏈接指針  int i,j;  //初始化連接句柄  conn = mysql_init(NULL);  if(conn == NULL) { //如果返回NULL說明初始化失敗    printf("mysql_init failed!/n");    return EXIT_FAILURE;  }  //進(jìn)行實際連接  //參數(shù) conn連接句柄,host mysql所在的主機或地址,user用戶名,passwd密碼,database_name數(shù)據(jù)庫名,后面的都是默認(rèn)  conn = mysql_real_connect(conn,"localhost","lyt","","chat_room",0,NULL,0);  if (conn) {    printf("Connection success!/n");  } else {    printf("Connection failed!/n");  }  mysql_query(conn,"set names gbk");//防止亂碼。設(shè)置和數(shù)據(jù)庫的編碼一致就不會亂碼  res = mysql_query(conn,sql);//正確返回0  if(res) {    perror("my_query");    mysql_close(conn);    exit(0);  } else{    //把查詢結(jié)果給res_ptr    res_ptr = mysql_store_result(conn);    //如果結(jié)果不為空,則輸出    if(res_ptr) {      column = mysql_num_fields(res_ptr);      row = mysql_num_rows(res_ptr);      printf("查到%d行/n",row);      //輸出結(jié)果的字段名      for(i = 0;field = mysql_fetch_field(res_ptr);i++) {        printf("%10s",field->name);      }      puts("");      //按行輸出結(jié)果      for(i = 1;i < row+1;i++){        result_row = mysql_fetch_row(res_ptr);        for(j = 0;j< column;j++) {          printf("%10s",result_row[j]);        }        puts("");      }    }  }  //退出前關(guān)閉連接  mysql_close(conn);  return 0;}

結(jié)果

gcc -o mysql a.c -L/usr/lib/mysql -lmysqlclient./mysql Connection success!查到2行    ID   name  passwd     1   linux   linux     2    lyt    lyt

注釋寫的相當(dāng)清楚,有什么不清楚的可以給我留言,大家一塊學(xué)習(xí)!


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 萨嘎县| 两当县| 金湖县| 久治县| 巴里| 阿坝| 中西区| 水富县| 平潭县| 台东市| 阿巴嘎旗| 彭州市| 萨迦县| 宁晋县| 黄大仙区| 湟源县| 咸阳市| 湾仔区| 安阳县| 宁波市| 平安县| 涿鹿县| 江门市| 朔州市| 镇平县| 那坡县| 沙雅县| 盖州市| 井冈山市| 化州市| 竹山县| 新泰市| 霞浦县| 通化县| 西城区| 大埔县| 忻城县| 西林县| 玛曲县| 成都市| 宜城市|