目录
1. 数据库的创建
语法:
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification]
create_specifictaion:
[DEFAULT]CHARACTERR SET charset_name
[DEFAULT]COLLATE collation_name
说明:大写的表示的是关键字,在建库时可以小写。
【】中的内容是可选项,例如【 IF NOR EXISTS 】表明如果要建立的数据库名不存在的话可以顺利创建,如果所要建立的数据库名存在的话会给出提醒。
CHARACTER SET:指定数据库采用的字符集
COLLATE:指定数据库字符集的校验规则
演示:创建名为testbase的数据库
2. 数据库的编码集
说明:在创建数据库的时候,会存在两个编码集:
1.数据库编码集:数据库未来存储数据
2.数据库校验集:支持数据库,进行字段比较使用的编码,本质也是一种读取数据库中数据的采用的编码格式。
3.数据库无论对数据进行任何操作,都必须保证操作和编码必须时编码一致的。
2.1 查看系统默认的字符集和校验规则
语法:
查看字符集:show variables like 'character_set_database' ;查看库校验集:show variables like 'collation_database';
查看所有的校验集:show variables like 'collation_%';
演示:查看字符集
查看库校验集
查看所有校验集
可见系统默认的字符集和校验规则编码都是:utf8.
2.2 查看系统数据库支持的字符集和校验集
语法:
show charset ; // 查看字符集
show collation ;// 查看校验集
演示:
2.3 使用字符集和校验规则创建数据库
说明:当我们创建数据库没有指定字符集和校验规则时,系统使用默认的字符集:utf8,校验规则是:utf8_general_ci.
语法:
创建一个使用utf8字符集的数据库:create database db2 charset=utf8;
创建一个使用utf字符集,并带校对规则的 db3 数据库:create database db3 charset=utf8 collate utf8_general_ci;
演示:
2.4 校验规则对数据库的影响
说明:使用两个不同的校验规则utf8_general_ci(不区分大小写)和utf8_bin(区分大小写)分别创建两个数据库test1和test2。
test1(不区分大小写):
create database test1 collate utf8_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');test2 (区分大小写):create database test2 collate utf8_bin;use test2create 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');
在创建完成后分别对两个数据库进行查询。
查询演示:
test1进行查询:
test2进行查询:
排序演示:
test1进行结果排序:
test2进行结果排序:
3. 数据库的删改查
3.1 查看数据库
语法:show databases ; //查看所有数据库列表
演示:
3.2 删除数据库
说明:删除数据库后数据库内部看不到对应的数据库、对应的数据库文件夹被删除,级联删除,里面的数据表都会被删除。
注意:不要随意删除数据库!!!
语法:DROP DATABASE [IF EXISTS] db_name;
演示:
3.3 显示创造语句
说明:数据库的名字用反引号‘’是为了防止使用的数据库刚好是关键字。
/*!40100 default.... */ 这个不是注释,表示当前mysql版本大于4.01版本,就执行这句话。
语法:show create database 数据库名;
演示:
3.4 修改数据库
说明:对数据库的修改主要指的时修改数据库的字符集,校验规则等。
语法:
ALTER DATABASE db_name[alter_spacification[,alter_spacification]......]alter_spacification:[DEFAULT]CHARACTER SET charset_name[DEFAULT]COLLATE collation_name
演示:
3.5 数据库的备份和恢复
3.5.1 数据库的备份
语法:mysqldump -p3306 -uroot -p 密码 -B 数据库名 > 数据库备份存储的文件路径
演示:
这时,可以打开看看 test.sql 文件里的内容,其实把我们整个创建数据库,建表,导入数据的语句 都装载这个文件中。
3.5.2 数据库的还原
语法:source 数据库备份存储文件的路径;
演示:
4. 查看连接情况
说明:可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。以后大家发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。
语法:show processlist
演示: