溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MySQL系列教程之如何使用C語言來連接數(shù)據(jù)庫

發(fā)布時(shí)間:2022-09-05 10:12:37 來源:億速云 閱讀:175 作者:iii 欄目:開發(fā)技術(shù)

本文小編為大家詳細(xì)介紹“MySQL系列教程之如何使用C語言來連接數(shù)據(jù)庫”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“MySQL系列教程之如何使用C語言來連接數(shù)據(jù)庫”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識(shí)吧。

一、準(zhǔn)備工作

1.1 把 libmysql.dll 和 libmysql.lib 文件復(fù)制到工程目錄下

首先,我們要找到剛剛開始下載的 MySQL數(shù)據(jù)庫 的安裝目錄,打開目錄,并且將 libmysql.dll文件 和 libmysql.lib文件 復(fù)制到工程目錄下~

我安裝MySQL的路徑:C:\Program Files\MySQL\MySQL Server 5.7\lib

MySQL系列教程之如何使用C語言來連接數(shù)據(jù)庫

MySQL系列教程之如何使用C語言來連接數(shù)據(jù)庫

1.2 添加 libmysql.lib 

MySQL系列教程之如何使用C語言來連接數(shù)據(jù)庫

MySQL系列教程之如何使用C語言來連接數(shù)據(jù)庫

MySQL系列教程之如何使用C語言來連接數(shù)據(jù)庫

1.3 添加 include目錄

我的這個(gè)路徑是:C:\Program Files\MySQL\MySQL Server 5.7\include 

MySQL系列教程之如何使用C語言來連接數(shù)據(jù)庫

來到 VS2019 頁面,和上述操作一樣~

右鍵MySQL工程,選擇屬性 右鍵,選擇 C/C++,選擇常規(guī),選擇 附加包含目錄,同時(shí)進(jìn)行編輯,將剛剛復(fù)制的 include路徑 給粘貼上去~

MySQL系列教程之如何使用C語言來連接數(shù)據(jù)庫

MySQL系列教程之如何使用C語言來連接數(shù)據(jù)庫

MySQL系列教程之如何使用C語言來連接數(shù)據(jù)庫

1.4 包含頭文件

接下來 在VS2019里面,先后敲出代碼:

#include <WinSock.h> 和 #include <mysql.h> ,需要注意的是,兩行代碼的順序不可以改變~ 

MySQL系列教程之如何使用C語言來連接數(shù)據(jù)庫

1.5 其他準(zhǔn)備工作

1.5.1 代碼準(zhǔn)備
#include <iostream>
using namespace std;
#include <WinSock.h>
#include <mysql.h>
 
void test();
 
int main()
{
	cout << "main" << endl;
 
	test();
	getchar();
	return 0;
}
 
void test() 
{
	printf("test\n");
 
	MYSQL m;        //mysql連接
	MYSQL_RES* res; //查詢結(jié)果集
	MYSQL_ROW row;  //二維數(shù)組,存放數(shù)據(jù)
 
	//初始化數(shù)據(jù)庫
	mysql_init(&m);
 
	//設(shè)置編碼方式
	mysql_options(&m, MYSQL_SET_CHARSET_NAME, "gbk");
 
	//連接數(shù)據(jù)庫
	if (mysql_real_connect(&m, "localhost", "root", "111111", "c",      3306, NULL, 0))
	{                           //主機(jī)       用戶名   密碼      數(shù)據(jù)庫名  端口
		printf("數(shù)據(jù)庫連接成功\n");
	}
	else {
		printf("數(shù)據(jù)庫連接失敗:%s \n", mysql_error(&m));
		//輸出錯(cuò)誤信息
	}
}
1.5.2 創(chuàng)建數(shù)據(jù)庫連接

第一步,Win+R,輸入 cmd~

MySQL系列教程之如何使用C語言來連接數(shù)據(jù)庫

 第二步,輸入 musql -uroot -p,回車后,輸入一開始安裝MySQL數(shù)據(jù)庫是設(shè)置的密碼,之后回車進(jìn)入數(shù)據(jù)庫~

MySQL系列教程之如何使用C語言來連接數(shù)據(jù)庫

第三步,開始創(chuàng)建一個(gè)新的數(shù)據(jù)庫,并且開始建表之類的操作~

MySQL系列教程之如何使用C語言來連接數(shù)據(jù)庫

MySQL系列教程之如何使用C語言來連接數(shù)據(jù)庫

1.6 選擇相應(yīng)方案配置 Release,解決方案平臺(tái) x64

MySQL系列教程之如何使用C語言來連接數(shù)據(jù)庫

最終,來運(yùn)行一下代碼,發(fā)現(xiàn)已經(jīng)成功了~

MySQL系列教程之如何使用C語言來連接數(shù)據(jù)庫

 二、代碼測試案例

在經(jīng)過上述的一系列操作之后,已經(jīng)可以連接上 MySQL數(shù)據(jù)庫中了~

接下來我們就可以來做一些測試案例~

2.1 向數(shù)據(jù)庫插入數(shù)據(jù)

此時(shí),再插入數(shù)據(jù)之前,我們可以來看一看 上面新建的 student表 是沒有任何數(shù)據(jù)的~

MySQL系列教程之如何使用C語言來連接數(shù)據(jù)庫

但是,在加入 插入數(shù)據(jù)的代碼之后,運(yùn)行一下,我們就會(huì)發(fā)現(xiàn) 多出來一條數(shù)據(jù)~

MySQL系列教程之如何使用C語言來連接數(shù)據(jù)庫

 當(dāng)然,改成插入多條數(shù)據(jù)也是可以的啦~

MySQL系列教程之如何使用C語言來連接數(shù)據(jù)庫

2.2 向數(shù)據(jù)庫刪除數(shù)據(jù)

MySQL系列教程之如何使用C語言來連接數(shù)據(jù)庫

2.3 修改數(shù)據(jù)

沒修改之前:

MySQL系列教程之如何使用C語言來連接數(shù)據(jù)庫

修改之后:

MySQL系列教程之如何使用C語言來連接數(shù)據(jù)庫

2.4 查詢數(shù)據(jù),打印出來

MySQL系列教程之如何使用C語言來連接數(shù)據(jù)庫

三、使用C語言連接MySQL數(shù)據(jù)庫 的測試案例代碼

 /*
 	//向數(shù)據(jù)庫插入數(shù)據(jù)
	const char* sql = "insert into student values(2,'李四','女'),(3,'王五','男'),"
		"(4, '趙六', '女')";
	if (mysql_query(&m, sql))
	{
		printf("插入數(shù)據(jù)失敗:%s \n", mysql_error(&m));
	}
	else
	{
		printf("插入數(shù)據(jù)成功\n");
	}
 
 
	//向數(shù)據(jù)庫刪除數(shù)據(jù)
	const char* sql_2 = "delete from student where name = '趙六'";
	if (mysql_query(&m, sql_2))
	{
		printf("刪除數(shù)據(jù)失?。?s \n", mysql_error(&m));
	}
	else
	{
		printf("刪除數(shù)據(jù)成功\n");
	}
 
 
	//向數(shù)據(jù)庫修改數(shù)據(jù)
	const char* sql_3 = "update student set id = 5 where name = '李四'";
	if (mysql_query(&m, sql_3))
	{
		printf("修改數(shù)據(jù)失?。?s \n", mysql_error(&m));
	}
	else
	{
		printf("修改數(shù)據(jù)成功\n");
	}
*/
	//需要注意的是,在下面的設(shè)置中,所查詢到的數(shù)據(jù) 與打印出來的數(shù)據(jù)要相互匹配,
	//不然就會(huì)出現(xiàn)亂碼的
	//查詢數(shù)據(jù)
	const char* sql_4 = "select id,sex,name from student where name = '張三'";
	if (mysql_query(&m, sql_4)) 
	{
		printf("未查到記錄:%s \n", mysql_error(&m));
	}
	else
	{
		printf("查詢成功 \n");
	}
	//獲取查詢結(jié)果集
	res = mysql_store_result(&m);
	if (res)
	{
		printf("獲取到數(shù)據(jù)\n");
	}
	else
	{
		printf("未獲取到數(shù)據(jù):%s \n", mysql_error(&m));
	}
	//打印獲取到的數(shù)據(jù)
	printf("id\tname\tsex\n");
	while (row = mysql_fetch_row(res)) 
	{
		printf("%s\t%s\t%s\n", row[0], row[1], row[2]);
	}
	//釋放資源
	mysql_free_result(res);//釋放結(jié)果集
	mysql_close(&m);//關(guān)閉數(shù)據(jù)庫
}

讀到這里,這篇“MySQL系列教程之如何使用C語言來連接數(shù)據(jù)庫”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI