文章目录
- 1、创建数据库
- 2、字符集和校验集
- 3、基本操作
- 4、备份与恢复
- 5、连接情况
1、创建数据库
开两个窗口,一个用来访问数据目录/var/lib/mysql,一个用来打开mysql:mysql -u root -p。
创建用的命令
create databse d1;
d1是名字,可以自定义。创建后在数据目录内能够查看到创建的d1目录,以及用以下命令可以查看数据库
show databases;
在数据目录内删除创建的数据库目录,show一下就看不到它了。
创建还可以这样写
create databse if not exists d1;
如果不存在d1就创建,存在就会有1个1 warning,然后返回,不做什么。
2、字符集和校验集
数据库有两个编码集,是数据库编码集和数据库校验集。编码集用来存储数据,统一编码形式,校验集支持数据库进行字段比较使用的编码,本质是一种读取数据库中数据的编码格式。数据库无论对数据做什么操作,都必须保证编码一致。
查看默认的字符集和校验规则
show variables like ‘character_database_set’;
show variables like ‘collation_database’;(数据库的校验规则)
show variables like ‘collation_%’;(连接,数据库,服务的校验规则)
查看全部的字符集和校验规则
show charset;
show collation;
可以创建指定编码的数据库,默认字符集是utf8,校验规则是utf8_general_ci,这个可以在创建的数据库目录内的db.opt文件中看到。
create databse d charset=utf8 collate utf8_general_ci;
create databse d character set utf8 collate utf8_general_ci;
上面的查看全部的命令中,能够看到字符集和校验规则是对应的,不对应会出错。
数据库中的表会使用所在数据库相同的编码和校验规则。
utf8字符集对应的校验规则除了utf8_general_ci,还可以是utf8_bin,前者不区分大小写,后者区分大小写。
3、基本操作
进入一个数据库,创建一个person表,插入一些数据,再查看表结构
查看表结构desc后跟表名,select 指定 from 表名来查看这个表指定的元素,插入insert into 表名如图。
utf8_bin区分大小写,如果是utf8_general_ci,不区分大小写,那就会打印出b和B。
以上在比较,插入时就用到校验集和字符集。
删除数据库
drop databse 数据库名;
数据库是把整个目录都被删了,所有数据都删除,也就是rm -rf。
查看自己当前数据库
select database();
修改数据库两个集
alter database 数据库名 charset=gbk collate gbk_chinese_ci;
上面是改成了gbk编码。
查看当前数据库的两个集
show create database 数据库名;
如果mysql版本大于4.01版本,就会在后面打印!40100 DEFAULT。
改了集后再查看也能看到。
4、备份与恢复
建议用Linux的命令去备份。
mysqldump -P3306 -u root -p -B 库名 > 文件名.sql
当前目录就会生成一个.sql文件,把历史上所有的操作都备份起来了。这时候再drop也不影响数据库的文件丢失了。
备份好的sql文件可以用mysql命令来还原
source 路径
此时就把整个数据库都恢复过来了,可以正常用了。
如果是备份数据库中的表
mysqldump -u root -p 库名 表名1 表名2 > 路径
备份多个表
mysqldump -u root -p -B 库名1 库名2 > 路径
还原都是source。如果没有-B,那么就得创建空数据库,才能恢复。
没有重命名的mysql命令,之前有,后来取消了,因为这个并不好,有多人使用同一个数据库的情况存在,所以重命名并不好。可以在备份时不带-B,恢复时创建一个指定名字的数据库,再恢复,也相当于重命名。
5、连接情况
查看都有谁在用哪些数据库
show processlist;
结束。