MySQL系列教程之使用C語言來連接數據庫

寫在前面

知道瞭 Java中使用 JDBC編程 來連接數據庫瞭,但是使用 C語言 來連接數據庫卻總是連接不上去~

立即安排一波使用 C語言連接 MySQL數據庫的教程~

一、準備工作

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

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

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

1.2 添加 libmysql.lib 

1.3 添加 include目錄

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

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

右鍵MySQL工程,選擇屬性 右鍵,選擇 C/C++,選擇常規,選擇 附加包含目錄,同時進行編輯,將剛剛復制的 include路徑 給粘貼上去~

1.4 包含頭文件

接下來 在VS2019裡面,先後敲出代碼:

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

1.5 其他準備工作

1.5.1 代碼準備

#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; //查詢結果集
	MYSQL_ROW row;  //二維數組,存放數據
 
	//初始化數據庫
	mysql_init(&m);
 
	//設置編碼方式
	mysql_options(&m, MYSQL_SET_CHARSET_NAME, "gbk");
 
	//連接數據庫
	if (mysql_real_connect(&m, "localhost", "root", "111111", "c",      3306, NULL, 0))
	{                           //主機       用戶名   密碼      數據庫名  端口
		printf("數據庫連接成功\n");
	}
	else {
		printf("數據庫連接失敗:%s \n", mysql_error(&m));
		//輸出錯誤信息
	}
}

1.5.2 創建數據庫連接

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

 第二步,輸入 musql -uroot -p,回車後,輸入一開始安裝MySQL數據庫是設置的密碼,之後回車進入數據庫~

第三步,開始創建一個新的數據庫,並且開始建表之類的操作~

1.6 選擇相應方案配置 Release,解決方案平臺 x64

最終,來運行一下代碼,發現已經成功瞭~

 二、代碼測試案例

在經過上述的一系列操作之後,已經可以連接上 MySQL數據庫中瞭~

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

2.1 向數據庫插入數據

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

但是,在加入 插入數據的代碼之後,運行一下,我們就會發現 多出來一條數據~

 當然,改成插入多條數據也是可以的啦~

2.2 向數據庫刪除數據

2.3 修改數據

沒修改之前:

修改之後:

2.4 查詢數據,打印出來

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

 
/*
 	//向數據庫插入數據
	const char* sql = "insert into student values(2,'李四','女'),(3,'王五','男'),"
		"(4, '趙六', '女')";
	if (mysql_query(&m, sql))
	{
		printf("插入數據失敗:%s \n", mysql_error(&m));
	}
	else
	{
		printf("插入數據成功\n");
	}
 
 
	//向數據庫刪除數據
	const char* sql_2 = "delete from student where name = '趙六'";
	if (mysql_query(&m, sql_2))
	{
		printf("刪除數據失敗:%s \n", mysql_error(&m));
	}
	else
	{
		printf("刪除數據成功\n");
	}
 
 
	//向數據庫修改數據
	const char* sql_3 = "update student set id = 5 where name = '李四'";
	if (mysql_query(&m, sql_3))
	{
		printf("修改數據失敗:%s \n", mysql_error(&m));
	}
	else
	{
		printf("修改數據成功\n");
	}
*/
	//需要註意的是,在下面的設置中,所查詢到的數據 與打印出來的數據要相互匹配,
	//不然就會出現亂碼的
	//查詢數據
	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");
	}
	//獲取查詢結果集
	res = mysql_store_result(&m);
	if (res)
	{
		printf("獲取到數據\n");
	}
	else
	{
		printf("未獲取到數據:%s \n", mysql_error(&m));
	}
	//打印獲取到的數據
	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);//釋放結果集
	mysql_close(&m);//關閉數據庫
}

使用 C語言 連接 MySQL數據庫,正好可以和 Java 連接 MySQL數據庫 相互映襯~

總結

到此這篇關於MySQL系列教程之使用C語言來連接數據庫的文章就介紹到這瞭,更多相關C語言連接MySQL數據庫內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: