[c/c++] _ 连接Mysql数据库(Mysql api)

Mysql官方提供有多种api(应用程序接口),其中自然也是有c语言的api的,用来提供c/c++语言来连接和使用mysql数据库,我们可以简单的查看一下官方的参考手册:

图片.png

我们就可以看到起包含的基于各种语言的api了,这也意味着mysql的支持性是非常强大的.

我们简单查看一下关于c语言api的简单实现:

图片.png
  • 包含相关的头文件
  • 连接上两个相关的库文件:
图片.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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容