• 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、注意修改配置时,debug和release的区别。

  • 相关阅读:
    六. 异常处理5.多重catch语句的使用
    六. 异常处理4.try和catch的使用
    六. 异常处理3.未被捕获的异常
    六. 异常处理2.异常类型
    对mysql数据库中字段为空的处理
    mysql 中实现多条数据同时更新
    java 用PDFBox 删除 PDF文件中的某一页
    java7 java MethodHandle解析
    【十四】jvm 性能调优实例
    【十三】jvm 性能调优工具之 jstack
  • 原文地址:https://www.cnblogs.com/mingbujian/p/9348052.html
Copyright © 2020-2023  润新知