Bootstrap

MySql 安装与使用(非常详细)


前言

最新mysql安装、使用、配置教程,可参考文章:mysql安装

所谓数据库,不过是一个别人写好的存储数据的软件,并向我们这些使用者提供对数据的操作接口,如提供与语言无关性的命令语句

而对数据我们一般需要做哪些操作呢?不过增、删、改、查而已

所以不要将数据库想的太难了

一、安装MySql

点击这里前往官网下载
在这里插入图片描述

在这里插入图片描述
下载完成后直接双点击安装

等待一段时间后来到下面的安装页面:

选择开发者模式安装
在这里插入图片描述
选择安装路径,可以选择在其它盘
在这里插入图片描述
开始执行安装
在这里插入图片描述
需要等待相当长的一段时间

这里介绍一下各个组件的作用:

  • MySql Server:Mysql数据库的服务器,我们操作数据一般都是连接到该服务器进行操作
  • MySql Workbench:可视化操作MySql数据库中的数据,说人话就是你可以用鼠标点击操作数据库
  • MySql Shell:这个就是通过命令行操作MySql数据库中的数据,学习命令时,推荐用这个,可以快速熟悉各种命令
  • 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:例子

安装完成,点击下一步:
在这里插入图片描述
在这里插入图片描述
下面这个页面为配置选项,红框中的要选择开发者电脑,端口之类的一般默认即可,绿框建议勾选上,以后编程可能有机会用上,后面的名字可以自己取,我就默认了
在这里插入图片描述
下图选择验证方法,建议使用老一点的,比较稳定,选择新版本可能导致某些开源代码不兼容
在这里插入图片描述
设置root用户的密码,一定要记住该密码,后面可能会经常使用,忘记了密码想要找回会很麻烦
在这里插入图片描述
服务器的配置,默认即可
在这里插入图片描述
点击开始执行
在这里插入图片描述
在这里插入图片描述
设置router配置,暂时来说用不到,可跳过
在这里插入图片描述
在这里插入图片描述
输入刚才设置的密码,检查连接情况
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最后会启动图形界面和shell界面软件,这两个程序都可以用于操作数据库

至此安装完成!

中间可能有些跳过了某一张图,因为我不小心截图截丢了,还不能返回上一步😢

没有展示的界面都可以直接按下一步,不影响

二、认识MySql数据库软件的文件结构

MySql 服务器组件的安装位置为安装过程选择的路径
在这里插入图片描述
在这里插入图片描述

其中,如果你需要在C/C++程序中调用MySql数据库,就需要该文件夹下的头文件和库
在这里插入图片描述

而其它组件都默认安装到C盘下C:\Program Files\MySQL路径中
在这里插入图片描述

三、MySql Shell的使用

MySql Workbench提供的是图形化操作界面,由于上面的按钮控件太多,对于刚开始学命令很不友好,所以这里使用官方提供的MySql Shell学习数据库的操作指令,

在开始菜单中就能找到该程序:
在这里插入图片描述
连接数据库:

\connect root@localhost

在这里插入图片描述
\connect 是连接命令,root表示root用户,localhost表示IP地址为127.0.0.1,也可以用这个ip地址代替

后面应该还需要你输入密码,也就是安装软件时填写的密码,然后按Y可保存密码,下次就不用输入了

然后切换到使用sql语句

\sql

在这里插入图片描述
输入show databases;指令可显示当前拥有的数据库

show databases;

在这里插入图片描述
这些数据库都是默认自带的,如果没有特殊情况,就不要对上面的数据库随意操作,最好自己创建一个数据库练习

create database test;

在这里插入图片描述
这条指令的作用是创建一个名字为test的数据库

然后接下来要在该数据库上操作,所以要使用它

use test;

在这里插入图片描述
该指令的作用就是使用数据库,接下的其它操作指令都将在该数据库上进行操作

四、建立对MySql数据库的认知

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));

在这里插入图片描述
查看表

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');

由于该shell对中文支持不友好,所以就用字母了,如果用cmd登录的话,可以使用中文的

查看该表中所有的数据:
在这里插入图片描述
显示年龄小于15,性别为男的数据

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

在这里插入图片描述
还有其它很多命令,也可以这样自己练习,只有将这些指令用熟练之后,才方便日后编程中使用

七、VS连接MySql

首先需要将下图路径添加到系统环境变量中
在这里插入图片描述
windows自带的搜索,找到系统环境变量
在这里插入图片描述
在这里插入图片描述
双击Path
在这里插入图片描述
在这里插入图片描述
输入上图路径
在这里插入图片描述
在这里插入图片描述
需要设置完成后,需要重启电脑才能生效

将下图文件复制到自己的VS项目中
在这里插入图片描述
在这里插入图片描述
VS项目文件夹中如下图
在这里插入图片描述
回到VS项目中,右键项目,点击属性
在这里插入图片描述
将include文件夹添加到项目中
在这里插入图片描述
然后

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

;