1 安装MySql
所谓数据库,仅仅只是一个别人写好的、用于存储数据的软件,并向我们这些使用者提供了对存储数据的操作接口,使得我们能对这些存储的数据进行增删改查,所以不必将数据库想的太难。
首先我们可以前往Download MySQL Installer下载:

直接下载第二个,然后进入下载页面,跳过登录,直接下载:

下载完成后直接双击运行进行安装,等待一段时间后来到下面的安装页面,选择自定义安装:

如果觉得麻烦,可以直接点击Full,进行完整安装。
但由于我一般只用得到其中的一两个组件,所以这里选择了自定义安装。
然后选择安装的组件,一般我们只需要两个组件就可以了,其它的如果需要再自行添加:

然后来到下一步,点击执行安装:

安装完成点击next后来到下一个页面,配置mysql服务器,选择开发者电脑,其它一般默认即可:

然后是选择密码校验方法,默认即可,点击下一步。设置root用户密码,这个密码一定要记住:

后面一直点下一步,即可完成安装。
mysql本身有很多组件,这里我们只安装了两个组件:
- MySql Server:- Mysql数据库的服务器,我们操作数据一般都是连接到该服务器进行操作。
- MySql Workbench:可视化操作- MySql数据库中的数据,说人话就是你可以用鼠标点击操作数据库。
其它组件的作用大家也可以参考一下:
- MySql Shell:这个就是通过命令行操作MySql数据库中的数据,学习命令时,推荐用这个,可以快速熟悉各种命令,当然不用这个也可以,直接用windows自带的终端也能连接操作,只不过可能没这个好用。
- MySql for visual studio:VS默认只显示自己的- SQL Server源,所以要想- MySql连接- VS,就需要这个工具
- Connector/NET:MySQL官方的- .NET驱动程序,用于结合- MySql for visual studio工具连接VS的。
- Connector/ODBC:该组件使用户可以用ODBC (Open Database Connectivity,开放数据库互联)数据库连接Mysql的服务器。比如说,用户可以使用Windows中的应用程序,如微软的 Access,Excel去连接数据库服务器。
- Connector/J:java接口组件
- Connector/C++:c++接口组件
- Connector/Python:phthon接口组件
- MySql Router:连接数据库与应用程序的中间组件
- MySql Documentation:MySql数据库的使用文档
- Samples and Examples:例子
有需要可以在开始菜单中找到安装器,自行安装即可:

最后会启动图形界面,这个程序就是用于操作数据库的,至此安装完成!
2 认识文件结构
MySql服务器组件的安装位置为安装过程选择的路径,我这里是其默认的安装路径:

该文件夹里面存放的就是我们所有安装的mysql组件。
其中,如果你需要在C/C++程序中调用MySql数据库,就需要该文件夹下的头文件和库:

3 MySql Workbench
MySql Workbench是官方提供的图形化操作mysql数据的应用程序,使用起来很方便,我们可以在开始菜单中找到并启动它:

然后点击它连接、进入数据库,中途会让你输入密码,该密码就是前面安装过程中你所设置的root用户密码:

进入数据库后,大多数时候,我们都只需要关注下面2、3这两个部分:

注意2面板需要点击Schemas后才会显示。
2面板显示的就是当前所有的数据库、比如这里默认创建了一个名为sys的数据库,其中的表你可以开tables中查看。
而3号面板则是供我们写sql语句的地方。
比如我们可以先创建一个数据库:
create database test;
然后使用一下该数据库
use test;
然后点击上方的图标即可执行这些语句:

此时下面就会有语句的执行结果:

然后点击2位置刷新一下,就可以看到我们的数据库test已经创建成功了。
4 建立认知
MySql数据库是一个程序,程序里面可以存放许多个不同总类的数据库,比如qq用户数据库,微信用户数据库等等。
然后每个数据库又由许多表单组成,比如QQ数据库中,可能会有用户身份信息表单,用户账号关联应用表单,用户好友表单等。
而每个表单又由许多表单项组成,即我们常看见的表单有许多列的列头名,比如用户信息表单,可能有性别,生日,年龄等列。
而我们的众多信息就存在于各种表中,比如我的QQ可能就占某张表单的其中的一行,包含了我的各种信息。
而在当我们操作这些数据库时,MySql的众多命令都需要一个默认的数据库。
所以最开始的一句命令一般都为:use 数据库名;
就是告诉MySql软件我们接下来的命令默认对哪一个数据库进行操作。
还需要注意的是,MySql数据库命令都是以英文分号作为一条命令的结束
5 常见MySql指令
5.1 数据库相关
| 命令 | 作用 | 
|---|---|
| CREATE DATABASES 数据库名称; | 创建数据库 | 
| DROP DATABASE 数据库名; | 删除数据库 | 
| show databases; | 显示所有数据库 | 
| show tables; | 显示当前数据库所有表 | 
| ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集名称; | 更改数据库字符集 | 
5.2 表相关
| 命令 | 作用 | 
|---|---|
| CREATE TABLE 表名(列名 类型 [属性],列名 类型 [属性]…); //属性可省略 | 创建表 | 
| DROP TABLE 表名; | 删除表 | 
| ALTER TABLE 表名 ADD 列名 类型; | 添加列 | 
| ALTER TABLE 表名 DROP COLUMN 列名; | 删除列 | 
| show columns from 表名; | 显示表中所有列 | 
| select * from 表名; | 显示表中所有数据 | 
5.3 数据相关
| 命令 | 作用 | 
|---|---|
| INSERT INTO 表名 VALUES(值,值,值…); //默认添加顺序为该表的列名顺序 | 添加数据 | 
| DELETE FROM 表名 WHERE 条件; | 删除数据 | 
| IPDATE 表名 SET 列名=值 WHERE 条件; | 修改数据 | 
6 指令实战
上面已经创建了数据库:create database test;,并使用了该数据库:use test;
那我们就在该数据库中创建一张表:
create table stu(name char(20),age int,sex char,phono char(11));
执行后,刷新一下,就能看到表已经创建成功了:

或者你也可以输入命令查看表:show tables;

以及查看表中有哪些列:
show columns from stu;
效果如下:

然后向表中添加一些数据:
insert into stu values('ming',10,'1','10202020'),('zeng',20,'0','1390120'),('qiang',15,'1','9237133'),('hong',13,'0','1342432');
然后查看该表中所有的数据:
select * from stu;
效果如下:

还可以添加条件,比如显示年龄小于15,性别为男的数据
 select * from stu where age<15 and sex='1';
除此之外很多其它的命令,也可以这样自己练习,只有将这些指令用熟练之后,才方便日后编程中使用
7 VS连接MySql
首先需要将下图路径添加到系统环境变量中:

不懂什么是环境变量的可以参考本站另一篇文章,这里不再赘述:程序员必懂的常识
然后将下图头文件复制到自己的VS项目中:

以及动态库、静态库:

此时VS项目文件夹中如下图:

然后输入以下代码:
#include<iostream>
#include<mysql.h> //mysql头文件
#pragma comment(lib,"libmysql.lib") //连接库文件
using namespace std;
int main() {
	MYSQL* mysql = new MYSQL();
	MYSQL* pDb = mysql_init(mysql);
	if (pDb == NULL) {
		cout << "初始化数据库失败";
		return -1;
	}
	mysql_real_connect(pDb, "localhost", "root", "密码", "数据库名字", 3306, NULL, 0);
	mysql_close(pDb);
	return 0;
}
运行成功即为成功连接上数据库,就此可以C++编程操作数据库。
但最重要的还是基本MySql语句的使用,编程中会大量用到。
