— 双中划线+空格:注释(单行注释)也可以使用#
创建数据库
create database mydatabase charset utf8;
如果创建关键字名称的数据库,需要使用反引号(esc键下面的键)
create database ·database· charset utf8;
如果要创建带有中文的数据库名,需要提前告诉服务器使用的编码格式,但是建议不要用
set names gbk; (编码格式以当前命令窗口的编码格式为准)
create database 中国 charset utf8;
查看数据库
- 查看所有数据库
show databases; - 查看指定部分的数据库(模糊查询)
show database like ‘pattern’; pattern是匹配模式
%:匹配多个字符
:匹配单个字符 如果数据库名中含有,则_需要被转义(\_) - 查看数据库创建语句
show create database mydatabase;
系统在执行sql语句时会先进行优化,系统存储的是优化后的结果
修改数据库
alter database 数据库名 [库选项];
charset/character set [=] 字符集;
删除数据库
drop database mydatabase;
新增数据表
create table [if not exists] 表名(
字段名 数据类型,
字段名 数据类型
)[表选项];
— if not exists:如果表名不存在,那么就创建,否则不执行
— 最后一行不需要逗号
— 表选项:控制表的表现
字符集:charset/character set 具体字符集(保证表中数据存储的字符集)
校对集:collate 具体校对集
存储引擎:engine 具体的存储引擎(innodb 和 myisam)
查看数据表
1.查看所有表:show tables;
2.查看部分表:模糊匹配 show tables like ‘pattem’
3.查看表的创建语句:show create table 表名;
4.查看表结构:查看表中的字段信息
desc/describe/show columns from 表名;
— \g 等价于;
— \G 将查询到的结构旋转90度
修改数据表
1.修改表本身
- 修改表名: rename table oldname to newname;
- 修改表选项:字符集,校对集和存储引擎 alter table 表名 表选项 [=] 值;
2.修改表字段
- 新增字段:alter table 表名 add [column] 字段名 数据类型 [列属性] [位置];
- 修改字段:修改通常修改属性或者数据类型 alter table 表名 modify 字段名 数据类型 [属性][位置]
- 重命名字段:alter 表名 change 旧字段 新字段名 数据类型 [属性] [位置]
- 删除字段:alter table 表名 drop 字段名;
— column:可有可无
— 属性:是否为空等等
— 位置:字段名可以存放表中的任意位置
first:第一个位置
after:在那个字段之后:after 字段名; 默认是在最后一个字段之后
删除数据表
drop table 表名,表名,表名; — 可以一次性删除多张表
删除指令执行后:
1. 在表空间中,没有指定的表(数据也没有了)
2.在数据库库对应的文件夹下,表对应的文件(与存储引擎有关)也会被删除