注意:
语法:
IF NOT EXITS:如果数据库不存在再创建,存在了就不创建了,可省略;
CHARACTER SET:指定数据库采用的字符集;
COLLATE:指定数据库字符集的校验规则;
create databases [if not exits]数据库名;
MySQL创建一个数据库就是在/var/lib/mysql路径下创建了一个目录:
数据库名称如果和系统中的某些关键字重合,创建就会失败,需要加上反引号修饰:
补充:
show databases;
show create databases 数据库名;
drop database 数据库名称;
创建数据库的时候,后面有选项可以指定字符集和校验规则;
查看系统默认字符集和校验规则:
show variables like 'character_set_database';
show variables like 'collation_database';
show charset; #查看字符集
show collation; #查看校验规则
创建一个数据库,校验规则使用utf8_general_ci [不区分大小写];
向数据库中写数据:
查看数据:
在表中查询数据:
可以看出这个校验规则是不区分大小写的;
创建一个数据库,校验规则使用utf8_bin [区分大小写];
向数据库中写数据:
在表中查询数据:
可以看出这个校验规则是区分大小写的;
备份:
在Linux的bash命令行,启动mysqldump服务:
mysqldump -P 3306 -u root -p -B 数据据名 > 数据库备份存储的文件路径
mysqldump -u root -p 数据据名 表名1 表名2 > 数据库备份存储的文件路径
mysqldump -u root -p -B 数据据名1 数据据名2 > 数据库备份存储的文件路径
恢复:
在mysql客户端:
source 备份文件所在的路径;
show processlist;
可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。
查看表中元素的属性:
desc 表名;
select * from 表名;
alter table 表名 add 增加的列名 列的数据类型 comment '备注' after 在原来的哪一列后面增加;
调整列属性:
alter table 表名 modify 需调整的列名 调整的目标类型;
删除列:
alter table 表名 drop 列名;
修改列名:
alter table 表名 change 原列名 目标列名 数据类型 comment '备注';
修改表名:
alter table 原表名 rename 目标表名;
deop table [if exists] 要删除的表名;