首頁 > 軟體

MySQL系列教學之使用C語言來連線資料庫

2022-09-02 18:01:26

寫在前面

知道了 Java中使用 JDBC程式設計 來連線資料庫了,但是使用 C語言 來連線資料庫卻總是連線不上去~

立即安排一波使用 C語言連線 MySQL資料庫的教學~

一、準備工作

1.1 把 libmysql.dll 和 libmysql.lib 檔案複製到工程目錄下

首先,我們要找到剛剛開始下載的 MySQL資料庫 的安裝目錄,開啟目錄,並且將 libmysql.dll檔案 和 libmysql.lib檔案 複製到工程目錄下~

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

1.2 新增 libmysql.lib 

1.3 新增 include目錄

我的這個路徑是:C:Program FilesMySQLMySQL Server 5.7include 

來到 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("testn");
 
	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("idtnametsexn");
	while (row = mysql_fetch_row(res)) 
	{
		printf("%st%st%sn", row[0], row[1], row[2]);
	}
	//釋放資源
	mysql_free_result(res);//釋放結果集
	mysql_close(&m);//關閉資料庫
}

使用 C語言 連線 MySQL資料庫,正好可以和 Java 連線 MySQL資料庫 相互映襯~

總結

到此這篇關於MySQL系列教學之使用C語言來連線資料庫的文章就介紹到這了,更多相關C語言連線MySQL資料庫內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com