1.创建数据库
语法:
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification][create_specification][...];
create_specification:
[DEFAULT] CHARACTER SET charset_name //指定数据库采用的字符集
[DEFAULT] COLLATE collation_name //指定数据库字符集的校验规则
说明:
大写的表示关键字
[] 是可选项
CHARACTER SET: 指定数据库采用的字符集
COLLATE: 指定数据库字符集的校验规则
举例:
1.创建名为db1的数据库,如果我们创建数据库时,没有指定字符集和校验规则,系统则使用默认字符集:utf8,校验过则是:utf8_general_ci
create database db1;
我们可以通过以下语句来查看系统默认的字符集和校验规则:
show variables like 'character_set_database';
show variables like 'collation_database';
2.创建一个使用utf8字符集的db2数据库,并带校验规则的 db2数据库,其中指定字符集时,可以简写成charset就可以。
create database db2 character set=utf8 collate utf8_general_ci;
create database db3 charset=utf8 collate utf8_general_ci;
3.查看系统支持的字符集(字符集主要是控制用什么语言。比如utf8就可以使用中文)
show charset;
4.查看数据库支持的字符集校验规则
show collation;
5.校验规则对数据库的影响
- 不区分大小写
创建一个数据库,校验规则使用utf8-gengral_ci(不区分大小写)
create database test1 collate uft8_general_ci;//创建
use test1;//使用
create table person(name varchar(20));//创建表
//插入数据
insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');
- 区分大小写
创建一个数据库,校验规则使用utf8_bin(区分大小写)
create database test2 collate utf8_bin;
use test2
create table person(name varchar(20));
insert into person values('a');
insert into person values('A');
insert into person values('b');
insert into person values('B');
- 进行查询
1.第一个表查询结果,不区分大小写
2.第二个表查询结果,区分大小写
可以看出,collate校验规则不一样,所导致的查询结果也会不一样。
2.查看数据库
show databases;
3.显示创建语句
这个就是用来查询你当时创建数据库时所用的创建语句,当然,你没创建数据库,要查询的话是查不到的。
show create database mytest1;
说明:
- MySQL 建议我们关键字使用大写,但是不是必须的。
- 数据库名字的反引号``,是为了防止使用的数据库名刚好是关键字
- /*!40100 default… */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话
4.修改数据库
对数据修改一般主要修改的是字符集和校验规则
语法:
ALTER DATABASE db_name
[alter_spacification [,alter_spacification]...]
alter_spacification:
[DEFAULT] CHARACTER SET charset_name
[DEFAULT] COLLATE collation_name
举例:
将test1数据库的字符集修改成gdk
alter database test1 charset=gdk;
show create database test1;
5.数据库删除
执行删除后,数据库内部看不到对应的数据库,并且对应的数据库文件被删除,级联删除,里面的数据表全部删除,所以不要随意删除数据库。
DROP DATABASE [IF EXISTS] db_ name;
6.备份和还原
1.我们可以把我们的数据库保存到本地文件里面,这样当删除后还可以恢复。
# mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径
例如:将我的test1数据库保存到本地文件,此时本地就有了一份test1.sql文件,我们可以用vim查看此文件,里面其实就是一些sql语句。
# mysqldump -p3306 -u root -p -B test1 > ./test1.sql
当然备份还可以只备份数据库一张表.
# mysqldump -u root -p 数据库名 表名1 表名2 > ./test1.sql
也可以备份多个数据库
# mysqldump -u root -p -B 数据库名1 数据库名2 ... > ./test1.sql
如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原
7.还原
source ./test1.sql
还原后,
查看是否存在
8.查看连接情况
可以看见当前有哪些用户连接到我们的Mysql,来查是否某个用户入侵了你的数据库。
show processlist;