新增数据表
create table [if not exits] 表名(
字段名字 数据类型,
字段名字 数据类型,
字段名字 数据类型 -- 最后一行不需要逗号
)[表选项]
表选项:控制表的表现
字符集:charset/character set 具体字符集; --保证表中数据存储的字符集
校对集: collate 具体校对集;
存储引擎:engine 具体的存储引擎(innodb和myisam)
create table if not exists student(
name varchar(10),
gender varchar(10),
numeber varchar(10),
age int
) charset utf8;
增加数据库名字
create table if not exists mysql.student(
name varchar(10),
gender varchar(10),
numeber varchar(10),
age int
) charset utf8;
或者
use database --没有分号
查看表
1.查看所有表
show tables;
2.查看部分表
模糊匹配:show tables like 'pattern'
show tables like '%s'; --查看以s结尾的表
3.查看表的创建语句
show create table student\g -- \g等价于分号;
4.查看表结构: 查看表中字段信息
Desc/describe/show columns from 表名;
desc user;
describe user;
show columms from user;
修改表
修改表本身
1.修改表名
rename table 老表名 to 新表名
rename table student to my_student;
2.修改表选项:字符集,校对集 和存储引擎
Alter table 表名 表选项 [=] 值;
Alter table my_student charset = GBK;
3.修改字段
字段操作很多: 增删改查
增:
Alter table 表名 add [column] 字段名 数据类型 [列属性] [位置];
First:第一个位置
After:在哪个字段之后; after 字段名 默认是在最后一个字段
-- 给学生表增加ID放到第一个位置
alter table my_student
add column id int
first;
修改:修改通常是修改属性或者数据类型
Alter table 表名 modify 字段名 数据类型 [列属性] [位置];
-- 将学生表中 number学号字段变成固定长度,且放到第二位(id之后)
alter table my_student
modify number char(10) after id;
重命名字段
Alter table 表名 change 旧字段 新字段名 数据类型 [属性] [位置];
-- 修改学生表中的gender 字段为sex
alter table my_student
change gender sex varchar(10);
删除字段
alter table 表名 drop 字段名;
-- 删除学生表中的年龄字段
alter table my_student drop age;
删除数据表
drop table 表名1,表2;
drop table class;