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年了,但是对安全方面的知识依旧薄弱,事实上是没机 ...
随机推荐
- 使用git-premit时的问题
package.json 相关配置如下 { "scripts": { "lint": "eslint pages/* component/* --fi ...
- python所遇到的坑
我是在ubuntu中,自带的有python2,python3有安装了anaconda套件,所以python的版本很多,曾经想删除过不用的python. 先执行 sudo apt remove pyth ...
- POJ 2096 Collecting Bugs 期望dp
题目链接: http://poj.org/problem?id=2096 Collecting Bugs Time Limit: 10000MSMemory Limit: 64000K 问题描述 Iv ...
- 利用CNN进行多分类的文档分类
# coding: utf-8 import tensorflow as tf class TCNNConfig(object): """CNN配置参数"&qu ...
- XHTML和HTML、CSS 验证器
XHTML 验证器和 CSS 验证器.需要这些工具去验证你的页面是否符合 XHTML 和 CSS 标准,并且可以使用它查出奇正错误的地方. XHTML 验证器 地址:http://validator. ...
- 【百度】大型网站的HTTPS实践(二)——HTTPS加密算法介绍
大型网站的HTTPS实践(二)——HTTPS加密算法介绍 原创 网络通信/物联网 作者:AIOps智能运维 时间:2018-11-09 15:09:43 358 0 前言 在上一篇文章中,我们简要 ...
- Java 使用 dom4j 读取 xml文档 demo
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://www. ...
- object & over-write
object & over-write
- SourceTree轻松Git项目
这篇文档的目的是:让使用Git更轻松. 看完这篇文档你能做到的是: 1.简单的用Git管理项目. 2.怎样既要开发又要处理发布出去的版本bug情况. SourceTree是一个免费的Git图形化管理工 ...
- DAY3-Python学习笔记
1.元类:动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的,不是定义死了,而是可以随时随地添加的 type():查看一个类型或变量的类型又可以创建出新的类型 c ...