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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

如何用c 控制mysql数据库_用C语言操作MySQL数据库

發(fā)布時(shí)間:2023/12/1 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何用c 控制mysql数据库_用C语言操作MySQL数据库 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

函數(shù)

描述

mysql_affected_rows()

返回上次UPDATE、DELETE或INSERT查詢(xún)更改/刪除/插入的行數(shù)。

mysql_autocommit()

切換autocommit模式,ON/OFF

mysql_change_user()

更改打開(kāi)連接上的用戶(hù)和數(shù)據(jù)庫(kù)。

mysql_charset_name()

返回用于連接的默認(rèn)字符集的名稱(chēng)。

mysql_close()

關(guān)閉服務(wù)器連接。

mysql_commit()

提交事務(wù)。

mysql_connect()

連接到MySQL服務(wù)器。該函數(shù)已不再被重視,使用mysql_real_connect()取代。

mysql_create_db()

創(chuàng)建數(shù)據(jù)庫(kù)。該函數(shù)已不再被重視,使用SQL語(yǔ)句CREATE DATABASE取而代之。

mysql_data_seek()

在查詢(xún)結(jié)果集中查找屬性行編號(hào)。

mysql_debug()

用給定的字符串執(zhí)行DBUG_PUSH。

mysql_drop_db()

撤銷(xiāo)數(shù)據(jù)庫(kù)。該函數(shù)已不再被重視,使用SQL語(yǔ)句DROP DATABASE取而代之。

mysql_dump_debug_info()

讓服務(wù)器將調(diào)試信息寫(xiě)入日志。

mysql_eof()

確定是否讀取了結(jié)果集的最后一行。該函數(shù)已不再被重視,可以使用mysql_errno()或mysql_error()取而代之。

mysql_errno()

返回上次調(diào)用的MySQL函數(shù)的錯(cuò)誤編號(hào)。

mysql_error()

返回上次調(diào)用的MySQL函數(shù)的錯(cuò)誤消息。

mysql_escape_string()

為了用在SQL語(yǔ)句中,對(duì)特殊字符進(jìn)行轉(zhuǎn)義處理。

mysql_fetch_field()

返回下一個(gè)表字段的類(lèi)型。

mysql_fetch_field_direct()

給定字段編號(hào),返回表字段的類(lèi)型。

mysql_fetch_fields()

返回所有字段結(jié)構(gòu)的數(shù)組。

mysql_fetch_lengths()

返回當(dāng)前行中所有列的長(zhǎng)度。

mysql_fetch_row()

從結(jié)果集中獲取下一行

mysql_field_seek()

將列光標(biāo)置于指定的列。

mysql_field_count()

返回上次執(zhí)行語(yǔ)句的結(jié)果列的數(shù)目。

mysql_field_tell()

返回上次mysql_fetch_field()所使用字段光標(biāo)的位置。

mysql_free_result()

釋放結(jié)果集使用的內(nèi)存。

mysql_get_client_info()

以字符串形式返回客戶(hù)端版本信息。

mysql_get_client_version()

以整數(shù)形式返回客戶(hù)端版本信息。

mysql_get_host_info()

返回描述連接的字符串。

mysql_get_server_version()

以整數(shù)形式返回服務(wù)器的版本號(hào)。

mysql_get_proto_info()

返回連接所使用的協(xié)議版本。

mysql_get_server_info()

返回服務(wù)器的版本號(hào)。

mysql_info()

返回關(guān)于最近所執(zhí)行查詢(xún)的信息。

mysql_init()

獲取或初始化MYSQL結(jié)構(gòu)。

mysql_insert_id()

返回上一個(gè)查詢(xún)?yōu)锳UTO_INCREMENT列生成的ID。

mysql_kill()

殺死給定的線(xiàn)程。

mysql_library_end()

最終確定MySQL C API庫(kù)。

mysql_library_init()

初始化MySQL C API庫(kù)。

mysql_list_dbs()

返回與簡(jiǎn)單正則表達(dá)式匹配的數(shù)據(jù)庫(kù)名稱(chēng)。

mysql_list_fields()

返回與簡(jiǎn)單正則表達(dá)式匹配的字段名稱(chēng)。

mysql_list_processes()

返回當(dāng)前服務(wù)器線(xiàn)程的列表。

mysql_list_tables()

返回與簡(jiǎn)單正則表達(dá)式匹配的表名。

mysql_more_results()

檢查是否還存在其他結(jié)果。

mysql_next_result()

在多語(yǔ)句執(zhí)行過(guò)程中返回/初始化下一個(gè)結(jié)果。

mysql_num_fields()

返回結(jié)果集中的列數(shù)。

mysql_num_rows()

返回結(jié)果集中的行數(shù)。

mysql_options()

為mysql_connect()設(shè)置連接選項(xiàng)。

mysql_ping()

檢查與服務(wù)器的連接是否工作,如有必要重新連接。

mysql_query()

執(zhí)行指定為“以Null終結(jié)的字符串”的SQL查詢(xún)。

mysql_real_connect()

連接到MySQL服務(wù)器。

mysql_real_escape_string()

考慮到連接的當(dāng)前字符集,為了在SQL語(yǔ)句中使用,對(duì)字符串中的特殊字符進(jìn)行轉(zhuǎn)義處理。

mysql_real_query()

執(zhí)行指定為計(jì)數(shù)字符串的SQL查詢(xún)。

mysql_refresh()

刷新或復(fù)位表和高速緩沖。

mysql_reload()

通知服務(wù)器再次加載授權(quán)表。

mysql_rollback()

回滾事務(wù)。

mysql_row_seek()

使用從mysql_row_tell()返回的值,查找結(jié)果集中的行偏移。

mysql_row_tell()

返回行光標(biāo)位置。

mysql_select_db()

選擇數(shù)據(jù)庫(kù)。

mysql_server_end()

最終確定嵌入式服務(wù)器庫(kù)。

mysql_server_init()

初始化嵌入式服務(wù)器庫(kù)。

mysql_set_server_option()

為連接設(shè)置選項(xiàng)(如多語(yǔ)句)。

mysql_sqlstate()

返回關(guān)于上一個(gè)錯(cuò)誤的SQLSTATE錯(cuò)誤代碼。

mysql_shutdown()

關(guān)閉數(shù)據(jù)庫(kù)服務(wù)器。

mysql_stat()

以字符串形式返回服務(wù)器狀態(tài)。

mysql_store_result()

檢索完整的結(jié)果集至客戶(hù)端。

mysql_thread_id()

返回當(dāng)前線(xiàn)程ID。

mysql_thread_safe()

如果客戶(hù)端已編譯為線(xiàn)程安全的,返回1。

mysql_use_result()

初始化逐行的結(jié)果集檢索。

mysql_warning_count()

返回上一個(gè)SQL語(yǔ)句的告警數(shù)。

與MySQL交互時(shí),應(yīng)用程序應(yīng)使用該一般性原則:

1.通過(guò)調(diào)用mysql_library_init(),初始化MySQL庫(kù)。庫(kù)可以是mysqlclient C客戶(hù)端庫(kù),或mysqld嵌入式服務(wù)器庫(kù),具體情況取決于應(yīng)用程序是否與“-libmysqlclient”或“-libmysqld”標(biāo)志鏈接。

2.通過(guò)調(diào)用mysql_init()初始化連接處理程序,并通過(guò)調(diào)用mysql_real_connect()連接到服務(wù)器。

3.發(fā)出SQL語(yǔ)句并處理其結(jié)果。(在下面的討論中,詳細(xì)介紹了使用它的方法)。

4.通過(guò)調(diào)用mysql_close(),關(guān)閉與MySQL服務(wù)器的連接。

5.通過(guò)調(diào)用mysql_library_end(),結(jié)束MySQL庫(kù)的使用。

介紹常用到的MYSQL相關(guān)的C變量類(lèi)型。這些類(lèi)型在我們后面定義變量的時(shí)候會(huì)用到

1、MYSQL

要連接MYSQL,必須建立MYSQL實(shí)例,通過(guò)mysql_init初始化方能開(kāi)始進(jìn)行連接

示例:

MYSQL mysql;#創(chuàng)建MYSQL實(shí)例

mysql_init(&mysql);#初始化開(kāi)始進(jìn)行連接

2、MYSQL_RES

這個(gè)結(jié)構(gòu)代表返回行的一個(gè)查詢(xún)的(SELECT,SHOW,DESCRIBE,EXPLAIN)的結(jié)果。返回的數(shù)據(jù)稱(chēng)為“數(shù)據(jù)集”。從數(shù)據(jù)庫(kù)讀取數(shù)據(jù),最后就是從MYSQL_RES中讀取數(shù)據(jù)。

PS:類(lèi)似于JAVA里面的ResultSet變量一樣,將結(jié)果集存入到此變量中再?gòu)乃锩嫒プx數(shù)據(jù)。

3、MYSQL_ROW

這是一個(gè)行數(shù)據(jù)的類(lèi)型安全(type-safe)的表示。當(dāng)前它實(shí)現(xiàn)為一個(gè)計(jì)數(shù)字節(jié)的字符串?dāng)?shù)組。行通過(guò)調(diào)用mysql_fetch_row()獲得

4、MYSQL_FIELD

你可以通過(guò)重復(fù)調(diào)用mysql_fetch_field()對(duì)每一列獲得MYSQL_FIELD結(jié)構(gòu)。這個(gè)結(jié)構(gòu)包含字段信息,例如字段名、類(lèi)型和大小。

PS:此變量定義的是列的相關(guān)屬性問(wèn)題!

示例一:實(shí)現(xiàn)遍歷查詢(xún)select * from table-name操作

#include "windows.h"

#include "mysql.h"

#pragma comment(lib,"libmySQL.lib")

int main()

{

MYSQL mysql;//mysql連接

MYSQL_RES *res; //這個(gè)結(jié)構(gòu)代表返回行的一個(gè)查詢(xún)結(jié)果集

MYSQL_ROW row; //一個(gè)行數(shù)據(jù)的類(lèi)型安全(type-safe)的表示

char *query;//查詢(xún)語(yǔ)句

int t,r;

mysql_init(&mysql);

if (!mysql_real_connect(&mysql,"localhost", "root", "123", "test",3306,NULL,0))

{

printf( "Error connecting to database: %s",mysql_error(&mysql));

} else

printf("Connected...");

query="SET CHARACTER SET utf8"; //設(shè)置編碼

t=mysql_real_query(&mysql,query,(unsigned int)strlen(query));

if(t)

{

printf("編碼設(shè)置失敗");

}

query=" select * from a ";

t=mysql_real_query(&mysql,query,(unsigned int)strlen(query));

if(t)

{

printf("執(zhí)行查詢(xún)時(shí)出現(xiàn)異常: %s",mysql_error(&mysql));

}else

printf("[%s]構(gòu)建成功",query);

res=mysql_store_result(&mysql);

while(row=mysql_fetch_row(res))

{

/*

for(t=0;t

{

printf("%s" " ",row[t]);

}

*/

printf("%s",row[1]);表示查詢(xún)的第幾個(gè)字段的!也還可以遍歷全部字段信息

printf("\n");

}

mysql_free_result(res);

mysql_close(&mysql);

return 0;

}

示例二:執(zhí)行插入、更新、刪除操作

#include "windows.h"

#include "mysql.h"

#pragma comment(lib,"libmySQL.lib")

int main()

{

MYSQL mysql;//mysql連接

MYSQL_RES *res; //這個(gè)結(jié)構(gòu)代表返回行的一個(gè)查詢(xún)結(jié)果集

MYSQL_ROW row; //一個(gè)行數(shù)據(jù)的類(lèi)型安全(type-safe)的表示

char *query;//查詢(xún)語(yǔ)句

int t,r;

mysql_init(&mysql);

if (!mysql_real_connect(&mysql,"localhost", "root", "123", "test",3306,NULL,0))

{

printf( "Error connecting to database: %s",mysql_error(&mysql));

} else

printf("Connected...");

query="SET CHARACTER SET utf8"; //設(shè)置編碼

t=mysql_real_query(&mysql,query,(unsigned int)strlen(query));

if(t)

{

printf("編碼設(shè)置失敗");

}

query="insert into a(name,age) values('w',9)";

t=mysql_real_query(&mysql,query,(unsigned int)strlen(query));

if(t)

{

printf("執(zhí)行查詢(xún)時(shí)出現(xiàn)異常: %s",mysql_error(&mysql));

}else

printf("[%s]構(gòu)建成功",query);

mysql_close(&mysql);

return 0;

}

總結(jié)

以上是生活随笔為你收集整理的如何用c 控制mysql数据库_用C语言操作MySQL数据库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩最新网址 | aa视频在线观看 | 91爱在线观看 | 欧美激情精品久久久久久免费 | 欧美日韩精品 | 免费人成 | av2018| 伊人久久av| 国产成人精品无码免费看81 | 欧美视频在线播放 | 亚洲综合一区二区 | 97久草| 哈利波特3在线观看免费版英文版 | 精品动漫3d一区二区三区免费版 | 国产精品三级在线观看无码 | 国产xxxxx视频 | 国产第八页 | 欧美日韩一区二区三区不卡 | 青青草日韩 | 成人免费看视频 | 欧美婷婷六月丁香综合色 | 国产毛片毛片毛片毛片毛片 | 美女啪啪无遮挡 | 欧美另类视频在线 | 日本特黄特色aaa大片免费 | 高清国产一区 | 九九热精品视频 | 天天久久久 | www黄在线观看 | 在线观看国产免费视频 | 久久久久无码国产精品不卡 | 精品免费久久久 | 少妇喷水在线观看 | 国产91精品久久久久久久网曝门 | 欧美黑人性生活 | 波多野结衣一区二区三区免费视频 | 亚洲一区不卡在线 | 深夜天堂 | 一本之道高清无码视频 | 国产精选一区二区 | 国产不卡精品视频 | 亚洲成人精品一区 | 欧美激情精品久久久久 | 成人免费看黄 | 鸥美一级片 | 免费一级a毛片夜夜看 | av自拍偷拍| 香蕉久久精品 | 乱中年女人伦 | 成人三级黄色片 | 久久久久久久久久久91 | 大胸美女网站 | 成人在线h| 涩涩片影院 | 毛片库| 欧美色xxxxx| 日批免费在线观看 | 国产成人超碰人人澡人人澡 | 亚洲天堂黄 | 一区二区三区久久精品 | 国产高清久久 | 国产精品刘玥久久一区 | 天堂在线观看中文字幕 | 日韩在线观看视频一区二区 | 鲁一鲁在线视频 | 久草国产精品视频 | 国产亚洲综合在线 | 中文文字幕一区二区三三 | 国产精品丝袜黑色高跟鞋的设计特点 | 亚洲视频在线播放免费 | 在线免费播放av | 欧洲做受高潮欧美裸体艺术 | 大肉大捧一进一出视频 | 三级黄色生活片 | 国产九色av | 丁香激情五月少妇 | 中国女人av | 欧美日在线 | 日本激情视频一区二区三区 | 黄色国产在线 | 日本天堂在线 | 精品美女一区 | 性xx紧缚网站 | 91精品导航 | 国产又粗又长又大视频 | 双性懵懂美人被强制调教 | 一级黄网 | 黄网站免费大全入口 | 国产成人av无码精品 | 免费观看在线视频 | 人妻无码中文字幕免费视频蜜桃 | 999毛片| 国产精品一区二区三区线羞羞网站 | 亚洲欧洲色图 | 国产69精品久久久久久久久久 | 国产视频精品在线 | 精品成人 | 加勒比精品在线 | 美女黄色免费网站 |