图片.pngMysql官方提供有多种api(应用程序接口),其中自然也是有c语言的api的,用来提供c/c++语言来连接和使用mysql数据库,我们可以简单的查看一下官方的参考手册:
我们就可以看到起包含的基于各种语言的api了,这也意味着mysql的支持性是非常强大的.
我们简单查看一下关于c语言api的简单实现:
图片.png- 包含相关的头文件
- 连接上两个相关的库文件:
我们可以在本地mysql安装位置找到include文件夹和lib文件夹:
发现果然,include文件夹包含了所有mysql相关的头文件,在使用时可以选择全部包含进项目,也可以选择只包含需要使用的头文件.
图片.png 图片.png将lib下相关的库文件导入到你的c++项目目录中.使得程序能够在链接的时候连接到他们.
图片.png- 编写一个简单的Mysql连接程序.检验是否能够成功连接到mysql数据库:
// 使用mysql数据库,必须引入mysql.h头文件
// 并且在最新版vs2019中必须在mysql.h头文件的前面引入windows.h或winsock.h头文件.否则mysql.h会报错,某些元素将是未被定义的.
#include <iostream>
#include <Windows.h>
#include "mysql.h"
#pragma comment(lib,"libmysql.lib")
using namespace std;
int main()
{
// 建立一个连接
MYSQL my;
mysql_init(&my);
// mysql_real_connect 连接mysql数据库.参数分别是ip地址,用户名,密码,数据库,端口号.后面两个参数是套接字与端口标识,暂时不需要了解.置零就可以了.
if (mysql_real_connect(&my,"127.0.0.1","root","1011","spring_blog",3306,NULL,0))
{
cout << "连接成功" << endl;
}
else
{
cout << "连接失败";
}
// 声明一个结果集.
MYSQL_RES* result;
MYSQL_ROW row;
int num,i;
// mysql_query函数,用来执行sql语句,进行各种数据库操作.
if (!mysql_query(&my,"select * from m_user")) { //查询成功返回0,否则返回随机数.
cout << "查询成功" << endl;
}
result = mysql_store_result(&my);
num = mysql_num_fields(result);
while (row = mysql_fetch_row(result))
{
for (i = 0; i < num; i++) {
cout << row[i] << "\t";
}
cout << endl;
}
mysql_free_result(result);
mysql_close(&my);
}
图片.png
连接成功,当然,你还可以使用它访问远程数据库或者实现跨平台的数据库访问.
2019.12.26
11:47
网友评论