数据库--相关命令
4个默认数据库-information、mysql、performance、sys
--utf8 3个字节, GBK 2个字节
1、库相关
-
创建数据库--
create database [if not exists] workspace
[charset=utf8 collate utf8_bin];
/[default] character set utf8 [default] collate utf8_general_ci;
默认创建数据库引擎是InnoDB,默认创建的数据库字符集是utf8, 默认字符校验规则utf8_general_ci
-
使用数据库--use workspaces;
-
查看数据库--show databases;
字符集和字符校验规则是一对多的关系
查看字符集--show charset;
查看默认字符集:show variables like 'character_set_database';
查看字符校验规则--show collation;
查看默认字符校验规则:show variables like 'collation_database';
utf8_bin--区分大小写 utf8_general_ci--不区分大小写
// 排序,不同的字符校验规则结果不同: select * from table order by name;
查看引擎--show engines\G;
-
查看创建数据库的结构--show create database workspace;
-
修改数据库的结构--alter database db2 charset=gbk collate gbk_bin;
-
删除数据库--drop database [if exists] worksapce;
-
备份数据库--mysqldump -u root -p -B workspace > ~/MySQL/workspace.sql;
备份表--mysqldump -u root -p workspace student >~/MySQL/student.table;
备份多个数据库--mysqldump -u root -p -B workspace db1 db2 > ~/MySQL/data.sql;
-
还原数据库--source ~/MySQL/workspace.sql;
备份的时候,不能登录数据库;还原的时候,要登录数据库
如果备份一个数据库时,没有带上-B参数, 在恢复数据库时,需要先创建空数据库,然后使用数据库,再使用source来还原。
-
查看数据库连接情况--show processlist;
2、表相关
-
创建表--
create table student(
id int,
name varchar(10)
) character set utf8 collate utf8_gerenal_ci engine InnoDB;
默认字符集:utf8 校验规则: utf8_gerenal_ci 引擎:InnoDB
表存储引擎是 InnoDB 时,在数据目中有三个不同的文件,分别是:
student.frm:表结构 student.ibd:表数据
表存储引擎是 MyISAM 时,在数据目中有三个不同的文件,分别是:
student.frm:表结构 student.MYD:表数据 student.MYI:表索引
-
查看表结构--desc student;
Field(字段名字) Type(字段类型) Null(是否允许为空) Key(索引类型) Default(默认值) Extra(扩充)
添加新的字段--alter table student add QQ int [first/after+字段];
修改字段类型--alter table student modify QQ tinyint;
修改字段的名字--alter table student change QQ qq tinyint;
删除字段--alter table student drop qq;
-
修改表的名字--alter table student rename to stu;
-
删除表--drop table student;