最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2022年09月02日 12:38:56   作者:哎呀是小張啊  
c語言操作Mysql數(shù)據(jù)庫,主要就是為了實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的增、刪、改、查等操作,下面這篇文章主要給大家介紹了關(guān)于MySQL系列教程之使用C語言來連接數(shù)據(jù)庫的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

寫在前面

知道了 Java中使用 JDBC編程 來連接數(shù)據(jù)庫了,但是使用 C語言 來連接數(shù)據(jù)庫卻總是連接不上去~

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

一、準(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

1.2 添加 libmysql.lib 

1.3 添加 include目錄

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

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

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

1.4 包含頭文件

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

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

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~

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

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

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

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

 二、代碼測(cè)試案例

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

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

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

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

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

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

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

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

沒修改之前:

修改之后:

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

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

 
/*
 	//向數(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ù)庫
}

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

總結(jié)

到此這篇關(guān)于MySQL系列教程之使用C語言來連接數(shù)據(jù)庫的文章就介紹到這了,更多相關(guān)C語言連接MySQL數(shù)據(jù)庫內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++布隆過濾器的使用示例

    C++布隆過濾器的使用示例

    寧可錯(cuò)殺一千,也不放過一個(gè),這是布隆過濾器的特點(diǎn),本文主要介紹了C++布隆過濾器的使用示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-09-09
  • C語言模擬實(shí)現(xiàn)動(dòng)態(tài)通訊錄

    C語言模擬實(shí)現(xiàn)動(dòng)態(tài)通訊錄

    本文主要介紹了C語言模擬實(shí)現(xiàn)動(dòng)態(tài)通訊錄,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 關(guān)于在C程序中處理UTF-8文本的方法詳解

    關(guān)于在C程序中處理UTF-8文本的方法詳解

    這篇文章主要給大家介紹了關(guān)于在C程序中處理UTF-8文本的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-11-11
  • C++寫注冊(cè)表項(xiàng)實(shí)例

    C++寫注冊(cè)表項(xiàng)實(shí)例

    這篇文章主要介紹了C++寫注冊(cè)表項(xiàng)實(shí)例,可實(shí)現(xiàn)開機(jī)啟動(dòng)的功能,是進(jìn)行Windows桌面應(yīng)用程序開發(fā)中非常重要的技巧,需要的朋友可以參考下
    2014-10-10
  • C++數(shù)據(jù)精度問題(對(duì)浮點(diǎn)數(shù)保存指定位小數(shù))

    C++數(shù)據(jù)精度問題(對(duì)浮點(diǎn)數(shù)保存指定位小數(shù))

    這篇文章主要介紹了對(duì)浮點(diǎn)數(shù)保存指定位小數(shù)。比如, 1.123456. 要保存1位小數(shù),,調(diào)用方法后, 保存的結(jié)果為: 1.1。 再比如,1.98765, 保存2位小數(shù)的結(jié)果為: 2.00,需要的朋友可以參考下
    2017-08-08
  • C++實(shí)現(xiàn)LeetCode(24.成對(duì)交換節(jié)點(diǎn))

    C++實(shí)現(xiàn)LeetCode(24.成對(duì)交換節(jié)點(diǎn))

    這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(24.成對(duì)交換節(jié)點(diǎn)),本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C++簡單又輕松的講解類和對(duì)象中友元函數(shù)

    C++簡單又輕松的講解類和對(duì)象中友元函數(shù)

    采用類的機(jī)制后實(shí)現(xiàn)了數(shù)據(jù)的隱藏與封裝,類的數(shù)據(jù)成員一般定義為私有成員,成員函數(shù)一般定義為公有的,依此提供類與外界間的通信接口。但是,有時(shí)需要定義一些函數(shù),這些函數(shù)不是類的一部分,但又需要頻繁地訪問類的數(shù)據(jù)成員,這時(shí)可以將這些函數(shù)定義為該類的友元函數(shù)
    2022-06-06
  • C/C++中for語句循環(huán)用法以及練習(xí)舉例

    C/C++中for語句循環(huán)用法以及練習(xí)舉例

    for語句是一種循環(huán)語句,它是對(duì)while語句的推廣,下面這篇文章主要給大家介紹了關(guān)于C/C++中for語句循環(huán)用法以及練習(xí)舉例的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • C語言實(shí)現(xiàn)掃雷OvO(完整代碼)

    C語言實(shí)現(xiàn)掃雷OvO(完整代碼)

    相信大家都玩過掃雷游戲,因?yàn)樗?jīng)典了,今天我們用C語言來模擬實(shí)現(xiàn)掃雷游戲,結(jié)合示例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧
    2022-04-04
  • C++?Boost?Xpressive示例分析使用

    C++?Boost?Xpressive示例分析使用

    Boost是為C++語言標(biāo)準(zhǔn)庫提供擴(kuò)展的一些C++程序庫的總稱。Boost庫是一個(gè)可移植、提供源代碼的C++庫,作為標(biāo)準(zhǔn)庫的后備,是C++標(biāo)準(zhǔn)化進(jìn)程的開發(fā)引擎之一,是為C++語言標(biāo)準(zhǔn)庫提供擴(kuò)展的一些C++程序庫的總稱
    2022-11-11

最新評(píng)論

同心县| 忻州市| 康马县| 揭阳市| 长治县| 雷波县| 甘泉县| 佳木斯市| 台北市| 利津县| 宁南县| 房产| 海林市| 滨海县| 宁海县| 商水县| 武陟县| 新安县| 临泉县| 平阴县| 绿春县| 巴中市| 株洲市| 漳平市| 常州市| 澜沧| 特克斯县| 和硕县| 凤庆县| 泸定县| 永城市| 普兰店市| 朝阳区| 兴海县| 申扎县| 抚州市| 稷山县| 龙山县| 抚宁县| 西华县| 专栏|