c++操作mysql入门详解

Posted mingbujian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++操作mysql入门详解相关的知识,希望对你有一定的参考价值。

首先,根据你当前的操作系统,还有开发工具,选择相应的mysql版本。本人选择的环境是win10 + vs2013

需要解决三个问题:1、下载安装mysql服务器,并登录mysql测试一下是否安装成功;2、搭建mysql开发环境;3、写一个简单的demo连接操作数据库,看看是否能够成功。

下面依次完成上述三个问题:

1、下载安装mysql:

  注:安装环境是一件耐心和折磨的事,所以静下心来慢慢弄吧。

  打开https://downloads.mysql.com/archives/这个地址,找到 mysql installer 下载,或者这个地址下载:https://dev.mysql.com/archives/get/file/mysql-installer-community-5.7.21.0.msi。

  安装mysql,并测试是否安装成功,请另行百度。啊哈哈哈嗝

  懒人参考:https://www.cnblogs.com/dtting/p/7691202.html

  安装完后,可以看一下任务管理器里mysqld.exe这个进程在不在。

  有可能你在cmd界面执行mysql命令登录会提示你没有这个命令,这时不用慌,可以cd到mysql安装目录再执行目录下的mysql.exe -u root -p 登录。可以执行这个sql看下当前的数据库,show databases; 

  use world;

可能还会遇到很多问题,百度一下吧。

2、搭建mysql开发环境:

  恭喜你,完成了第一步,你已经很了不起了。

  在你安装的目录里有你需要的开发环境,看考:https://www.cnblogs.com/magicsoar/p/3817518.html。

   打开工程属性,c/c++常规在添加头文件目录(Additional Include Directories)里添加mysql的头文件路径。我的是C:Program FilesMySQLMySQL Server 5.7include;

  链接器(Linker)常规里,找到添加库目录(Additional Library Directories)里添加mysql的库目录。这样代码里就可以这样写了#pragma comment(lib,"libmysql.lib")

  还需要把libmysql.dll拷贝到你的可执行文件所在目录才行哦。

3、一个简单的demo连接操作数据库:

 1 #include <Windows.h>
 2 #include <mysql.h>
 3 #include <string>
 4 #include <iostream>
 5 
 6 using namespace std;
 7 #pragma comment(lib,"libmysql.lib") 
 8 int main()
 9 {
10 
11     const char user[] = "root";
12     const char pswd[] = "root";
13     const char host[] = "localhost";
14     const char database[] = "world";
15     unsigned int port = 3306;
16     MYSQL myCont;
17     MYSQL_RES *result;
18     MYSQL_ROW sql_row;
19     int res;
20     mysql_init(&myCont);
21     if (mysql_real_connect(&myCont, host, user, pswd, database, port, NULL, 0))
22     {
23         mysql_query(&myCont, "SET NAMES GBK"); //设置编码格式
24         res = mysql_query(&myCont, "select * from city ORDER BY ID desc limit 10");//正序ASC,倒序desc查询,字符串里千万不要有分号
25         if (!res)
26         {
27             result = mysql_store_result(&myCont);
28             if (result)
29             {
30                 int iLength = mysql_num_fields(result);
31                 while (sql_row = mysql_fetch_row(result))//获取具体的数据
32                 {
33                     for (int num = 0; num < iLength; ++num)
34                     {
35                         cout << sql_row[num] << "	";
36                     }
37                     cout << endl;
38                 }
39             }
40         }
41         else
42         {
43             cout << "query sql failed!" << endl;
44         }
45     }
46     else
47     {
48         cout << "connect failed!" << endl;
49     }
50     if (result != NULL)
51         mysql_free_result(result);
52     mysql_close(&myCont);
53     system("pause");
54     return 0;
55 
56 }

代码来源网络。

执行结果:

技术分享图片

4、小提示:

  a、如果你是32位的mysql库文件,就编译32位的程序;64位mysql库文件就编译64位的程序哦;

  b、我也是渣渣,但我有一颗死磕且能静下来的心,借用网上资料也能成事,难得。

以上是关于c++操作mysql入门详解的主要内容,如果未能解决你的问题,请参考以下文章

C++ 入门超详解!

ADO数据库编程详解(C++)----初级入门篇

C++入门引用符&详解

MySQL入门详解

详解C++多线程

mybatis 详解------入门实例(基于XML)