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

歡迎訪問 生活随笔!

生活随笔

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

数据库

c 连接mysql批量存储数据库_C语言连接操作MySQL数据库的方法

發布時間:2024/3/26 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c 连接mysql批量存储数据库_C语言连接操作MySQL数据库的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C語言連接操作MySQL數據庫的方法

2014-07-13 16:20來源:中國存儲網

導讀:C語言連接mysql數據庫,需要相應的頭文件和lib文件,如果你安裝Mysql數據庫,會在安裝目錄下找到這些庫文件,如果沒有安裝,也可以在網上找到我這里也有一份網上找到的:/201205/other/C_link_mySql51.rarC連接MySql5.1所

C語言連接mysql數據庫,需要相應的頭文件和lib文件,如果你安裝Mysql數據庫,會在安裝目錄下找到這些庫文件,如果沒有安裝,也可以在網上找到

我這里也有一份網上找到的:/201205/other/C_link_mySql51.rar

C連接MySql5.1所需文件.rar

附帶一個不錯的例子: #include

#include

#include

#include

#include /*注意要包含這個頭文件*/

#pragma comment(lib,"libmysql")

/*定義了一些數據庫連接需要的宏*/

#define HOST "localhost"

#define USERNAME "root"

#define PASSWORD "123456"

#define DATABASE "test"

/*這個函數用來執行傳入的sqlZ句*/

void exe_sql(char* sql) {

MYSQL my_connection; /*這是一個數據庫連接*/

int res; /*執行sqlZ句后的返回標志*/

/*初始化mysql連接my_connection*/

mysql_init(&my_connection);

/*這里就是用了mysql.h里的一個函數,用我們之前定義的那些宏建立mysql連接,并

返回一個值,返回不為空證明連接是成功的*/

if (mysql_real_connect(&my_connection, HOST, USERNAME,

PASSWORD,

DATABASE, 0, NULL, CLIENT_FOUND_ROWS)) {/*連接成功*/

printf("數據庫執行exe_sql連接成功!n");

/*這句話是設置查詢編碼為utf8,這樣支持中文*/

mysql_query(&my_connection, "set names utf8");

/*下面這句話就是用mysql_query函數來執行我們剛剛傳入的sqlZ句,

這會返回一個int值,如果為0,證明Z句執行成功*/

res = mysql_query(&my_connection, sql);

if (res) {/*現在就代表執行失敗了*/

printf("Error: mysql_query !\n");

/*不要忘了關閉連接*/

mysql_close(&my_connection);

} else {/*現在就代表執行成功了*/

/*mysql_affected_rows會返回執行sql后影響的行數*/

printf("%d 行受到影響!\n",

mysql_affected_rows(&my_connection));

/*不要忘了關閉連接*/

mysql_close(&my_connection);

}

} else {

/*數據庫連接失敗*/

printf("數據庫執行exe_sql連接失敗!\n");

}

}

/*這個函數用來執行傳入的sqlZ句,并打印出查詢Y果*/

void query_sql(char* sql) {

MYSQL my_connection; /*這是一個數據庫連接*/

int res; /*執行sqlZ句后的返回標志*/

MYSQL_RES *res_ptr; /*指向查詢結果的指針*/

MYSQL_FIELD *field; /*字段結構指針*/

MYSQL_ROW result_row; /*按行返回的查詢信息*/

int row, column; /*查詢返回的行數和列數*/

int i, j; /*只是控制循環的兩個變量*/

/*初始化mysql連接my_connection*/

mysql_init(&my_connection);

/*這里就是用了mysql.h里的一個函數,用我們之前定義的那些宏建立mysql連接,并

返回一個值,返回不為空證明連接是成功的*/

if (mysql_real_connect(&my_connection, HOST, USERNAME,

PASSWORD,

DATABASE, 0, NULL, CLIENT_FOUND_ROWS)) {/*連接成功*/

printf("數據庫查詢query_sql連接成功!\n");

/*這句話是設置查詢編碼為utf8,這樣支持中文*/

mysql_query(&my_connection, "set names utf8");

*下面這句話就是用mysql_query函數來執行我們剛剛傳入的sqlZ句,

這會返回一個int值,如果為0,證明Z句執行成功*/

res = mysql_query(&my_connection, sql);

if (res) { /*現在就代表執行失敗了*/

printf("Error: mysql_query !\n");

/*不要忘了關閉連接*/

mysql_close(&my_connection);

} else { /*現在就代表執行成功了*/

/*將查詢的Y果給res_ptr*/

res_ptr = mysql_store_result(&my_connection);

/*如果結果不為空,就把結果print*/

if (res_ptr) {

/*取得Y果的行數和*/

column = mysql_num_fields(res_ptr);

row = mysql_num_rows(res_ptr) + 1;

printf("查詢到 %lu 行 \n", row);

/*輸出Y果的字段名*/

for (i = 0; field = mysql_fetch_field(res_ptr); i++)

printf("%st", field->name);

printf("\n");

/*按行輸出Y果*/

for (i = 1; i < row; i++) {

result_row = mysql_fetch_row(res_ptr);

for (j = 0; j < column; j++)

printf("%st", result_row[j]);

printf("\n");

}

}

/*不要忘了關閉連接*/

mysql_close(&my_connection);

}

}

}

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

/*測試下向里面插入數據*/

char *query;

char *exe = "insert into student values('lala','hahhahah!');";

exe_sql(exe);

*測試下查詢*/

query="select * from student;";

query_sql(query);

return 0;

}

中國存儲網聲明:此文觀點不代表本站立場,如有版權疑問請聯系我們。

相關閱讀

MySQL事務中一致性指的是?

MySQL事務中一致性是指事務的隔離執行(沒有并發其他事務)保持數據庫的一致性。

mysql數據庫 root密碼忘記后的修改方法分享-centos環境下

mysql root密碼忘記后自然是要重置一個,方法很簡單,修改my.cnf文件添加skip-grant-tables,就可以重置mysql root密碼了。

騰訊計費平臺 分布式MySQL數據庫TDSQL架構分析

隨著業務的發展,基于內存的NoSQL解決方案HOLD平臺在高峰期一天支撐3000億讀寫,證明了分布式Cache的巨大價值;但隨著各種業務的接入,NoSQL方案的不足也逐步顯現出來了,如下所示。

CentOS 5.1安裝和配置berkeleydb.4.5+sendmail-8.14.2

CentOS 5.1安裝和配置berkeleydb.4.5+sendmail-8.14.2,出現過以下問題:makemap hash /etc/mail/access < /etc/mail/access出錯:makemap: Need to recompile with -DNEWDB。

centos系統設置zabbix中的sendmail發信

最近在搞zabbix發郵件的問題,從網上找了很多均沒有得到答案!在我把自己的配置共享給大家,希望大家不斷完善和分享。

數據中臺進入銀行后,會給給IT技術人員帶來哪些挑戰?

作為銀行的技術人員,如何適應數據中臺的變化。面臨著業務挑戰、技術挑戰、組織架構挑戰。

銀行IT架構設計:選擇集中式架構(非云化)還是分布式架構(云化)

近年來,隨著金融產品和服務模式的持續變革,以及銀行業轉型發展的深入推進,促使人們不斷思考銀行IT 架構面臨的挑戰和影響。

TACC利用超級計算機模擬處理海水淡化

事實證明,海水淡化的秘訣在于:精確的網狀均勻性,精確到納米級。

對自己負責,對大家負責,請不要瞞報行程!告訴瞞報行程怎么處罰?

不聽勸阻、不遵守相關隔離規定,導致他人感染,可以考慮過失以危險方法危害公共安全罪來定罪處罰。

總結

以上是生活随笔為你收集整理的c 连接mysql批量存储数据库_C语言连接操作MySQL数据库的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

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