日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

linux c mysql教程_linux下c操作mysql之增删改查

發布時間:2023/12/2 数据库 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux c mysql教程_linux下c操作mysql之增删改查 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

書接上文,繼續進行linux 下c操作mysql。

1.創建表/插入數據

mysql> desc children

-> ;

+---------+-------------+------+-----+---------+----------------+

| Field | Type| Null | Key | Default | Extra |

+---------+-------------+------+-----+---------+----------------+

| childno | int(11) | NO | PRI | NULL| auto_increment |

| fname | varchar(32) | YES | | NULL||

| age | int(11) | YES | | NULL||

+---------+-------------+------+-----+---------+----------------+

3 rows in set (0.00 sec)

mysql> select * from children;

+---------+---------+------+

| childno | fname | age |

+---------+---------+------+

| 1 | Jenny | 21 |

| 2 | Andrew | 17 |

| 3 | Gavin | 8 |

| 4 | Duncan | 6 |

| 5 | Emma | 4 |

| 6 | Alex | 15 |

| 7 | Adrian | 9 |

| 8 | jeffsui | 5 |

+---------+---------+------+

8 rows in set (0.00 sec)

2.文件清單

demo.c

/************************************************************

FileName : demo.c

FileFunc : C語言接口訪問MySQL

Version : V0.1

Author : JeffSui

Date : 2014-02-20

Descp : c查詢mysql數據庫遍歷輸出

*************************************************************/

#include

#include

#include "/usr/include/mysql/mysql.h"

int main(int argc,char *argv[])

{

MYSQL my_connection,*conn_ptr;

MYSQL_RES *res_ptr;

MYSQL_ROW sqlrow;

int iRet;

int iTableRow,iTableCol,i,j;

char *server = "localhost";

char *user = "root";

char *password = "";

char *database = "csql";

unsigned int uiTimeOut = 7;//設置連接超時7s

conn_ptr = mysql_init(&my_connection);//初始化連接句柄

if( !conn_ptr )

{

fprintf(stderr,"mysql_init failed ! \n");

return EXIT_FAILURE;

}

iRet = mysql_options(&my_connection,MYSQL_OPT_CONNECT_TIMEOUT,(const char *)&uiTimeOut);//設置連接超時

if( iRet )

{

fprintf(stderr,"Connection is timeout! \n");

return EXIT_FAILURE;

}

conn_ptr = mysql_real_connect(&my_connection,server,user,password,database,0,NULL,0);//連接數據庫

if( conn_ptr )

{

printf("Connection success!\n");

iRet = mysql_query(&my_connection,"select * from children");//執行SQL語句

if( iRet )

{

fprintf(stderr,"select error %d: %s !\n",mysql_errno(&my_connection),mysql_error(&my_connection));//>打印錯誤處理具體信息

return EXIT_FAILURE;

}

res_ptr = mysql_store_result(&my_connection);//集合

if( res_ptr )

{

iTableRow = mysql_num_rows(res_ptr);//行

iTableCol = mysql_num_fields(res_ptr);//列

for(i=0; i

{

sqlrow = mysql_fetch_row(res_ptr);

for(j=0; j

{

printf("%-8s ",sqlrow[j]);//字符串向左靠,右補空格

}

printf("\n");

}

mysql_free_result(res_ptr);//完成對數據的所有操作后,調用此函數來讓MySQL庫清理它分配的對象

}

mysql_close(&my_connection);//關閉連接

} else

{

fprintf(stderr,"Connection failed!\n");

if( mysql_errno(&my_connection) )

{

fprintf(stderr,"Connection error %d: %s!\n",mysql_errno(&my_connection),mysql_error(&my_connection));

}

}

return EXIT_SUCCESS;

}

insert.c /******************************************************

FileName : insert.c

FileFunc : C語言接口訪問MySQL

Version : V0.1

Author : JeffSui

Date : 2014-02-24

Descp : c插入mysql數據庫

******************************************************/

#include

#include

#include "/usr/include/mysql/mysql.h"

int main() {

MYSQL *conn_ptr;

int res;

conn_ptr = mysql_init(NULL);

if (!conn_ptr) {

printf("mysql_init failed\n");

return EXIT_FAILURE;

}

conn_ptr = mysql_real_connect(conn_ptr, "localhost", "root", "", "csql", 0, NULL, 0);

if (conn_ptr) {

res = mysql_query(conn_ptr, "insert into children values(null,'jeffsui',5)"); //可以把insert語句替換成delete或者update語句,都一樣的

if(!res){

printf("Insert %lu rows\n",(unsigned long)mysql_affected_rows(conn_ptr));

}else{

fprintf(stderr,"Insert error %d: %s\n",mysql_error(conn_ptr),mysql_error(conn_ptr));

}

}else{

printf("Connection failed!");

}

mysql_close(conn_ptr);

return EXIT_SUCCESS;

}

makefile

#makefile開始

c_mysql_demo:demo.c

@gcc -lm -lpthread -ldl -I/usr/include/mysql demo.c -o demo -L/usr/lib64/mysql -lmysqlclient

@gcc -lm -lpthread -ldl -I/usr/include/mysql insert.c -o insert -L/usr/lib64/mysql -lmysqlclient

clean:

@rm -rf demo

@rm -rf insert

#makefile結束

3.執行make 指令

4.執行目標路徑下的

[root@tf-test c_pro]# ./insert

Insert 1 rows

[root@tf-test c_pro]# ./demo

Connection success!

1 Jenny 21

2 Andrew 17

3 Gavin 8

4 Duncan 6

5 Emma 4

6 Alex 15

7 Adrian 9

8 jeffsui 5

9 kelly 22

總結

以上是生活随笔為你收集整理的linux c mysql教程_linux下c操作mysql之增删改查的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。