大家好,欢迎来到MySQL小剧场,从这篇文章开始我将为大家讲解MySQL知识。本系列极其基础,但是还是需要有一定使用SQL经验才建议食用。
1. 登陆数据库
经常使用数据库的你知道,一般登陆MySQL都是使用以下方式(基础连接)
mysql -u root -p
但是除了这种方式,其实我们在日常开发中还有一种更为完整的方法(如下)
mysql -h 127.0.0.1 -P 3306 -u root -p
在这个模块,我想讲的是,这些’-‘后面的字母分别代表什么意思
①h,是主机地址,host,我们之前不指定-h的时候就是等价于-h localhost,是默认的,通过Unix Socket进行本地连接;而使用上面的这段127.0.0.1显示指定时,通过的是TCP。如果远程连接,我们通常需要使用TCP显示指定
②P,是端口,port,3306是MySQL默认窗口,所以我们这里的指定并没有起到什么作用,但是如果连接远程服务器,就需要改变这里的端口才行
③u,很简单,就是user,因为一个数据库不止一个用户
④p,password,也就是密码,当我们回车之后,MySQL就会让我们输入密码, 然后进入数据库
2. SQL分类
· DDL【data definition language】数据定义语言,维护存储数据的结构,代表指令:create,drop,alter
· DML【data manipulation language】 数据操纵语言,用来对数据进行操作,代表指令: insert,delete,update
需要注意的是,DML里面还有一个DQL【data query language】,数据查询语言,代表指令就是select
· DCL【Data Control Language】 数据控制语言,主要负责权限管理和事务,代表指令: grant,revoke,commit
日常我们使用的最多的应该就是上面两种语言
3.创建数据库
创建数据库其实很简单,毕竟如果对它什么要求都没有,下面这一句就可以了
create database test_db;
不过,有时候我们可能会想在数据库的底层动一点手脚,比如字符集和校验规则
create table if not exists test_db charset=utf-8mb3 collate utf8mb3_general_ci;
以上就是一个使用utf8字符集且带其校对规则的数据库
而且这个charset也可以改成另一种形式:character set utf-8
如果想看自己系统的默认字符集以及校对规则,可以使用以下方式

想查看自己系统支持的字符集与校对规则同样简单
show charset;
show collation;
我们知道字符集主要是控制用什么语言,比如utf8就可以使用中文;而且当你指定字符集和校对规则其中一个时,另一个就会自动变成其配队的那一个,所以其实字符集和校对规则两个我们可以任选其一进行选择
4.查看数据库内部结构
我们的数据库创建好了,如果我们突然想看它的结构怎么办,或者说想看我们这个系统里面存储了多少数据库,总不能说找到以前的代码再看一遍把,那是行不通的,所以MySQL也提供了这样的方法
show databases; //查看当前系统有哪些数据库
show create database db_name; //查看数据库内部结构

① MySQL 建议我们关键字使用大写,但是不是必须的。
② 数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字
③ /*!40100 default… */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话
我们可以通过这样查看数据库的字符集以及检验规则

5.修改数据库及其删除
对数据库的修改主要是修改其字符集以及校验规则


删除数据库的话非常简单
drop database db_name;
执行删除之后的结果:
数据库内部看不到对应的数据库
对应的数据库文件夹被删除,级联删除,里面的数据表全部被删
所以轻易不要删除数据库
6.备份与恢复
备份基础语法
mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径
备份库中的表语法
mysqldump -u root -p 数据库名 表名1 表名2 > D:/mytest.sql
举例:

可以看到我们非常成功的把hello数据库备份进去了

这时候hello已经没了
恢复基础语法
mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库存放路径

其实恢复就是把我们在数据库中的操作再重复一遍,并没有那么高深
7.查看连接情况

可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。以后大家发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。
&spm=1001.2101.3001.5002&articleId=148846188&d=1&t=3&u=cf20327e5a734c47884b1eaf5236f726)
1866

被折叠的 条评论
为什么被折叠?



