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年了,但是对安全方面的知识依旧薄弱,事实上是没机 ...
随机推荐
- lscpu命令详解
基础命令学习目录首页 一.lscpu输出 使用lscpu查看的结果如下图,这里会显示很多信息,如下: 使用lscpu -p会详细的numa信息,如下: [root@localhost ~]# lscp ...
- linux命令系列 grep
grep, egrep, fgrep - print lines matching a pattern SYNOPSIS grep [OPTIONS] PATTERN [FILE...] grep [ ...
- maven实战读书笔记(二)
一个Spring加载属性的工具类,指定目标位置之后可以用${}的方式加载配置文件 测试maven工程发送email的例子:运行成功的例子—github 常用的命令: mvn clean compile ...
- 【探路者】Beta发布用户使用报告
用户数量:18 一.用户列表及评论. 用户序号 用户来源 用户下载软件途径 用户姓名 用户描述(信息) 使用次数 用户评价 1 张恩聚 QQ发送可运行jar包 周楠 吉林大学在读研究生 5 ...
- WebGL学习笔记四点二
前几章对图形图形内部多是 以纯色填充,但是现实中已经有许多好的图片了我们没必要一点点画,这一章第五章就是将图片以纹理的形式加载到片元中,主要过程如下,首先是定义点的坐标的attribute变量用于在j ...
- Hibernate笔记①--myeclipse制动配置hibernate
Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JD ...
- C#窗体随机四则运算 (第四次作业)
---恢复内容开始--- 增量内容:1)处理用户的错误输入,比如输入字母或符号等,处理除法运算中分母为0的情况,处理结果为负数的情况,保证是小学水平不出现负数,比如不能出现5-8=-3这种情况:2)用 ...
- 【CS231N】6、神经网络动态部分:损失函数等
一.疑问 二.知识点 1. 损失函数可视化 损失函数一般都是定义在高维度的空间中,这样要将其可视化就很困难.然而办法还是有的,在1个维度或者2个维度的方向上对高维空间进行切片,例如,随机生成一个权 ...
- Software Defined Networking(Week 2, part 1)
History of SDN 1.1 - 1.2 本节讨论从上世纪八十年代时到现在为止出现的SDN的思想和发展历史.了解历史,可以明白技术后面的成因以及一些原则,并从架构上去大致掌握.了解一些主旨. ...
- KEIL C51代码优化详细分析
阅读了<单片机与嵌入式系统应用>2005年第10期杂志<经验交流>栏目的一篇文章<Keil C51对同一端口的连续读取方法>(原文)后,笔者认为该文并未就此问题进行 ...