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 Files\MySQL\MySQL Server 5.7\include;
链接器(Linker)常规里,找到添加库目录(Additional Library Directories)里添加mysql的库目录。这样代码里就可以这样写了#pragma comment(lib,"libmysql.lib")
还需要把libmysql.dll拷贝到你的可执行文件所在目录才行哦。
3、一个简单的demo连接操作数据库:
#include <Windows.h>
#include <mysql.h>
#include <string>
#include <iostream> using namespace std;
#pragma comment(lib,"libmysql.lib")
int main()
{ const char user[] = "root";
const char pswd[] = "root";
const char host[] = "localhost";
const char database[] = "world";
unsigned int port = ;
MYSQL myCont;
MYSQL_RES *result;
MYSQL_ROW sql_row;
int res;
mysql_init(&myCont);
if (mysql_real_connect(&myCont, host, user, pswd, database, port, NULL, ))
{
mysql_query(&myCont, "SET NAMES GBK"); //设置编码格式
res = mysql_query(&myCont, "select * from city ORDER BY ID desc limit 10");//正序ASC,倒序desc查询,字符串里千万不要有分号
if (!res)
{
result = mysql_store_result(&myCont);
if (result)
{
int iLength = mysql_num_fields(result);
while (sql_row = mysql_fetch_row(result))//获取具体的数据
{
for (int num = ; num < iLength; ++num)
{
cout << sql_row[num] << "\t";
}
cout << endl;
}
}
}
else
{
cout << "query sql failed!" << endl;
}
}
else
{
cout << "connect failed!" << endl;
}
if (result != NULL)
mysql_free_result(result);
mysql_close(&myCont);
system("pause");
return ; }
代码来源网络。
执行结果:

4、小提示:
a、如果你是32位的mysql库文件,就编译32位的程序;64位mysql库文件就编译64位的程序哦;
b、我也是渣渣,但我有一颗死磕且能静下来的心,借用网上资料也能成事,难得;
c、注意修改配置时,debug和release的区别。
c++操作mysql入门详解的更多相关文章
- MySQL入门详解(二)---mysql事务、锁、以及优化
MySQL 事务主要用于处理操作量大,复杂度高的数据.比如说,在一个商城系统中,用户执行购买操作,那么用户订单中应该加一条,库存要减一条,如果这两步由于意外只进行了其中一步那么就会发生很大的问题.而事 ...
- Jmeter操作MySQL数据库详解
一.jmeter操作数据库的原理 jmeter不可直接操作数据库,必须通过驱动程序来间接操作,但如果数据库不是在本地而是云服务器上的话就需要通过网络来操作. jmeter通过驱动程序来完成对MySQL ...
- CMD命令操作MySql数据库详解
第一:mysql服务的启动和停止 1. net stop mysql 2. net start mysql 第二:登录 mysql –u用户名 [–h主机名或者IP地址] –p密码 例如:mysq ...
- 原生jdbc操作mysql数据库详解
首先给大家说一下使用JDBC链接数据库的步骤 1.加载链接数据库驱动 2.建立数据库链接 3.创建数据库操作对象 4.编写sql语句,执行sql语句 5.获取结果集 6.释放资源 我这边采用的是mav ...
- MySQL入门详解(三)---mysql如何进行主从配置
基本要求 两台服务器(windows,linux,mac) 双方mysql版本需一致,如不一致,只要主节点低于从节点 两台服务器防火墙关闭 双方数据库所用的用户,要具有远程访问的权限 主服务器配置 修 ...
- MySQL入门详解(一)---mysql的语言
MySQL语言分为:DCL(数据库控制语言).DDL(数据库定义语言).DQL(数据库查询语言).DML(数据库操作语言),这一节我们先从mysql的语言开始. DCL:数据库控制语言,用来设置数据库 ...
- Mysql入门详解
目录 数据库之Mysql 一 .简单了解数据库 二.Mysql的使用 三.多表查询 数据库之Mysql 本篇文章为观看某教学视频后所作个人总结 一 .简单了解数据库 1.1常见关系型数据库 mysql ...
- Linq之旅:Linq入门详解(Linq to Objects)
示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集 ...
- SQL注入攻防入门详解
=============安全性篇目录============== 本文转载 毕业开始从事winfrm到今年转到 web ,在码农届已经足足混了快接近3年了,但是对安全方面的知识依旧薄弱,事实上是没机 ...
随机推荐
- 字符串匹配:KMP算法, Boyer-Moore算法理解与总结
1. KMP算法是前缀匹配算法,一次从前往后匹配的过程中,根据已经部分匹配的信息,在文本中,移动尽可能远的距离.而不是按照朴素模式匹配方法,每次都只移动一个位置. 比如这个示例,在文本串中从4(从0开 ...
- jaxb教程(忘记了过来看看)
链接 原文链接
- 《校友聊—方便使用之NABCD》
<校友聊—方便使用之NABCD> 方便使用特点的分析与总结: N:由于一些软件的人机交互性很差,人性化性能低,使用不方便,故,鉴于此需求:A:用户可根据系统界面的友好提示一步步进行:B:提 ...
- Scapy之ARP询问
引言 校园网中,有同学遭受永恒之蓝攻击,但是被杀毒软件查下,并知道了攻击者的ip也是校园网.所以我想看一下,这个ip是PC,还是路由器. 在ip视角,路由器和pc没什么差别. 实现 首先是构造arp报 ...
- 在新的电脑上部署 Hexo,保留原有博客的方法
用U盘从旧的电脑拷贝整个blog文件夹. 在新的电脑上装好git并配置好用户名和密钥. 安装 node.js 安装 hexo:npm install hexo-cli -g 用U盘把blog文件夹拷贝 ...
- 使用 java 实现一个简单的 markdown 语法解析器
1. 什么是 markdown Markdown 是一种轻量级的「标记语言」,它的优点很多,目前也被越来越多的写作爱好者,撰稿者广泛使用.看到这里请不要被「标记」.「语言」所迷惑,Markdown 的 ...
- ACM的fflush(stdin)的问题
在最近的刷题过程中,因为用到了很多字符串的操作,有时需要多次清空缓冲区,所以用了fflush(stdin);的语句,确实很好用,但是发现在OJ上提交后会出现runtime error的问题.当时并没有 ...
- .NET 类库研究必备参考 扣丁格鲁
.NET 类库的强大让我们很轻松的解决常见问题,作为一个好专研的程序员,为了更上一层楼,研究CLR的基础类库实现是快速稳定的捷径. 一般场景下,采用 Reflector可以反射出.NET 的部分实现出 ...
- Beta阶段DAY3
一.提供当天站立式会议照片一张 二.每个人的工作 1.讨论项目每个成员的昨天进展 刘阳航:尝试改进UI,美化界面. 林庭亦:调整难度设置. 郑子熙:尝试改进UI,美化界面. 陈文俊:调整难度设置. 2 ...
- C++中sizeof操作符与strlen函数
sizeof操作符: sizeof是一个操作符,返回一条表达式或一个类型名字所占的字节数.返回值一个常量表达式,类型为size_t. size_t sizeof(type) size_t sizeof ...