6.MySql安装与使用

一、前言

本文视频版教程:mysql安装

所谓数据库,只是一个别人写好的存储数据的软件,并向我们这些使用者提供了对存储数据的操作接口,是我们能够对这些存储的数据进行增删改查而已,所以不必将数据库想的太难。

数据库主要的用途就一个:存储数据,更多介绍可以等待后续本站将会出数据库相关文章,本文只是简单介绍一下它的安装过程以及基本使用。

二、安装MySql

直接点击这里前往官网下载:

image.png

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

image.png

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

image.png

如果觉得麻烦,推荐直接点击Full,进行完整安装。

然后选择安装的组件,一般我们只需要两个组件就可以了,其它的如果需要再自行添加:

image.png

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

image.png

安装完成后来到下一个页面,配置mysql服务器:

image.png

选择开发者电脑,其它一般默认即可:

image.png

然后是选择密码校验方法,默认即可:

image.png

然后设置root用户密码,这个密码一定要记住:

image.png

后面一直点下一步,即可完成安装。

mysql本身有很多组件,这里我们只安装了两个组件:

  • MySql ServerMysql数据库的服务器,我们操作数据一般都是连接到该服务器进行操作。
  • MySql Workbench:可视化操作MySql数据库中的数据,说人话就是你可以用鼠标点击操作数据库。

其它组件的作用大家也可以参考一下:

  • MySql Shell:这个就是通过命令行操作MySql数据库中的数据,学习命令时,推荐用这个,可以快速熟悉各种命令,当然不用这个也可以,直接用windows自带的cmd也能连接操作,只不过可能没这个好用。
  • 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:例子

有需要可以在开始菜单中找到安装器,自行安装即可:

image.png

最后会启动图形界面,这个程序就是用于操作数据库的,至此安装完成!

三、认识文件结构

MySql服务器组件的安装位置为安装过程选择的路径,我这里是其默认的安装路径:

image.png

该文件夹里面存放的就是我们所有安装的mysql组件。

其中,如果你需要在C/C++程序中调用MySql数据库,就需要该文件夹下的头文件和库:

image.png

四、MySql Workbench

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

image.png

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

image.png

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

image.png

注意2面板需要点击Schemas后才会显示。

2面板显示的就是当前所有的数据库、比如这里默认创建了一个名为sys的数据库,其中的表你可以开tables中查看。

而3号面板则是供我们写sql语句的地方。

比如我们可以先创建一个数据库:

create database test;

然后使用一下该数据库

use test;

然后点击上方的图标即可执行这些语句:

image.png

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

image.png

然后点击2位置刷新一下,就可以看到我们的数据库test已经创建成功了。

五、建立认知

MySql数据库是一个程序,程序里面可以存放许多个不同总类的数据库,比如qq用户数据库,微信用户数据库等等。

然后每个数据库又由许多表单组成,比如QQ数据库中,可能会有用户身份信息表单,用户账号关联应用表单,用户好友表单等。

而每个表单又由许多表单项组成,即我们常看见的表单有许多列的列头名,比如用户信息表单,可能有性别,生日,年龄等列。

而我们的众多信息就存在于各种表中,比如我的QQ可能就占某张表单的其中的一行,包含了我的各种信息。

而在当我们操作这些数据库时,MySql的众多命令都需要一个默认的数据库。

所以最开始的一句命令一般都为:use 数据库名;

就是告诉MySql软件我们接下来的命令默认对哪一个数据库进行操作。

还需要注意的是,MySql数据库命令都是以英文分号作为一条命令的结束

六、常见MySql指令

1.数据库相关

命令 作用
CREATE DATABASES 数据库名称; 创建数据库
DROP DATABASE 数据库名; 删除数据库
show databases; 显示所有数据库
show tables; 显示当前数据库所有表
ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集名称; 更改数据库字符集

2.表相关

命令 作用
CREATE TABLE 表名(列名 类型 [属性],列名 类型 [属性]…); //属性可省略 创建表
DROP TABLE 表名; 删除表
ALTER TABLE 表名 ADD 列名 类型; 添加列
ALTER TABLE 表名 DROP COLUMN 列名; 删除列
show columns from 表名; 显示表中所有列
select * from 表名; 显示表中所有数据

3.数据相关

命令 作用
INSERT INTO 表名 VALUES(值,值,值…); //默认添加顺序为该表的列名顺序 添加数据
DELETE FROM 表名 WHERE 条件; 删除数据
IPDATE 表名 SET 列名=值 WHERE 条件; 修改数据

七、指令实战

上面已经创建了数据库:create database test;

并使用了该数据库:use test;

那我们就在该数据库中创建一张表:

create table stu(name char(20),age int,sex char,phono char(11));

执行后,刷新一下,就能看到表已经创建成功了:

image.png

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

image.png

以及查看表中有哪些列:

show columns from stu;

效果如下:

image.png

然后向表中添加一些数据:

insert into stu values('ming',10,'1','10202020'),('zeng',20,'0','1390120'),('qiang',15,'1','9237133'),('hong',13,'0','1342432');

然后查看该表中所有的数据:

select * from stu;

效果如下:

image.png

还可以添加条件,比如显示年龄小于15,性别为男的数据

 select * from stu where age<15 and sex='1';

除此之外很多其它的命令,也可以这样自己练习,只有将这些指令用熟练之后,才方便日后编程中使用

八、VS连接MySql

首先需要将下图路径添加到系统环境变量中:

image.png

不懂什么是环境变量的可以参考本站另一篇文章,这里不再赘述:程序员必懂的常识

然后将下图头文件复制到自己的VS项目中:

image.png

以及动态库、静态库:

image.png

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

image.png

然后输入以下代码:

#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语句的使用,编程中会大量用到。