一.库的操作
1.基本操作
创建数据库
create database 数据库名称;
查看数据库
show databases;
删除数据库
drop database 数据库名称;
执行删除之后的结果:
- 数据库内部看不到对应的数据库
- 对应的数据库文件夹被删除,级联删除,里面的数据表全部被删
所以不要随意删除数据库。
使用数据库
use 数据库名称;
查看当前所处数据库
select database();
修改数据库
alter database 数据库名称 新字符集 新校验规则;
对数据库的修改主要指的是修改数据库的字符集,校验规则。
查看创建数据库的详细信息
show create database 库名称;
能够查看当时创建该数据库时所编写的语句的信息。
2.数据库编码
创建数据库时,有两个编码集:
- 数据库编码集:数据库未来存储的数据。
- 数据库校验集:支持数据库进行字段比较使用的编码,本质也是一种读取数据库中数据采用的编码格式。
数据库无论对数据采用任何操作,都必须保证操作和编码必须是编码一致的。
查看系统默认字符集以及校验规则
show variables like 'character_set_database';
show variables like 'collation_database';
查看数据库支持的字符集
show charset;
字符集主要是控制用什么语言。比如utf8就可以使用中文。
查看数据库支持的字符集校验规则
show collation;
创建一个使用utf字符集,并带校对规则的数据库
create database db3 charset=utf8 collate utf8_general_ci;
不同的校验码规则,会影响数据库的数据读取,例如:
校验规则使用utf8_ general_ ci,不会区分数据的大小写
校验规则使用utf8_ bin,会区分数据的大小写
3.备份与恢复
备份
mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径
这里的路径,最终要是一个以“.sql”为后缀的文件。
打开 .sql 文件,会发现备份实际上把整个创建数据库,建表,导入数据的语句都装载这个文件中。
还原
source 数据库备份存储的文件路径;
还原要在MySQL服务中操作。
备份的不是整个数据库,而是其中的一张表
mysqldump -u root -p 数据库名 表名1 表名2 > 数据库备份存储的文件路径
同时备份多个数据库
mysqldump -u root -p -B 数据库名1 数据库名2 ... > 数据库备份存储的文件路径
如果备份一个数据库时,没有带上-B参数,在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原。
4.查看库连接状态
show processlist
可以查看当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。以后大家发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。
二.表的操作
1.基本操作
创建表
create table 表名称(
列名称 列类型 comment '列的描述',
...
)character set 字符集 collate 校验规则 engine 存储引擎;
列名可以有很多个,字符集和校验规则如果没有指定,则保持与所在数据库一致。comment也可以省略。
查看表列表
show tables;
查看表结构
desc 表名称;
查看创建表的详细信息
show create table 表名称;
能够查看当时创建表的具体语句信息。
表插入数据
insert into 表名称 (列名称...) values (列数据...);
可以仅给指定的列添加数据,如果不指定特定的列,则默认表示为所有的列添加数据。
修改表名称
alter table 表名称 rename to 新名称;
删除表
drop table 表名称;
表添加新列
alter table 表名称 add 列名 列类型 comment '列的描述' after 列名称;
after表示要将新列添加在那一列的后边,如果不使用,则默认添加为最后一列。
修改列类型
alter table 表名称 modify 列名称 新类型;
删除列
alter table 表名称 drop 列名称;
修改列名称
alter table 表名称 change 列原名称 列新名称 列类型;
修改列名称需要给出完整的列定义。