数据表操作
创建数据表
-
普通创建表
基本语法:create table 表名(字段名 字段类型 [字段属性],...,字段名 字段类型 [字段属 性]);
create table class ( name varchar(10) --10个字符(不能超过));如果没有指定数据库,那么还需要指明数据库,用“.”来连接
create table mydatabase.class ( name varchar(10));
表选项:engine -- 存储引擎,mysql提供的具体存储数据的方式,默认有一个innodb(5.5以前默认是myisam);
charset;collate
例如:create table student (
name varchar(10)
)engine [=] innodb/myisam charset utf8 collate;
- 复制已有的表
从已经存在的表复制一份(只复制结构,表中的数据不会复制)
基本语法:create table 新表名 like 表名; // 使用数据库.表名可以访问任何数据库下的表
显示数据表
- 显示所有表
show tables; - 匹配显示表
show tables like '匹配模式';
显示表结构
显示表中所包含的字段信息(名字,类型,属性等)
基本语法有
describe 表名:
desc 表名;
show columns from 表名;
显示表创建语句
show create table 表名;
MySQL有多种语句结束符
; 与 \g 所显示的效果一样,都是字段在上面排着,下面跟着对应的数据
\G 则是字段在左侧竖着,数据在右侧横着
因此可以有,show create table 表名\G
设置表的属性
表的属性就是表选项:engine charset 和 collate
基本语法:alter table 表名 表选项 [=] 值;
如 alter table class charset utf8;
修改表的结构
-
修改表名: rename table 表名 to 新表名;
数据库中的数据表名字通常有前缀,取数据库的前两个字母加上下划线
rename table student to my_student; -
新增字段:alter table 表名 add [column] 新字段名 列类型 [列属性] [位置first/after字段名]
alter table my_student add column age int;
first: 第一个字段
alter table my_student add id int first;
after 字段名: 放在某个具体字段之后(默认) -
修改字段名:alter table 表名 change 旧字段名 新字段名 字段类型 [列属性] [新位置];
alter table student change age nj int; -
修改字段类型(属性):alter table 表名 modify 字段名 新类型 [新属性] [新位置];
alter table my_student modify name varchar(15); -
删除字段:alter table 表名 drop 字段名;
alter table my_student drop name;
删除表结构
drop table 表名[, 表2,...,表n]; // 表明可以删除多个数据表