目录
1、表的创建
2、查看表结构
3、表的修改
4、表的删除
1、表的创建
CREATE TABLE table_name (field1 datatype,field2 datatype,field3 datatype) character set 字符集 collate 校验规则 engine 存储引擎;
- field 表示列名
- datatype 表示列的类型
- character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
- collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准
创建实例
create table student (
id int(5) primary key comment '主键',
name varchar(10) not null,
class varchar(10) not null comment '班级',
) engine=Innodb default charset=utf8;
这里的数据类型以及表的约束,参考后序文章。
说明
- 不同的存储引擎,创建表的文件不一样。
- 如这里的student存储引擎为innodb,在数据库中只有一个文件student.ibd文件。
- 若是student存储引擎为MyISAM,在数据库中会有三个文件student.frm(表结构)、student.MYD(表数据)、student.MYI(表索引)。
2、查看表结构
desc 表名 ;
3、表的修改
添加字段
ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column datatype]...);
修改字段
ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column datatype]...);改变字段ALTER TABLE tablename CHANGE 要修的改字段名称 新名称 定义删除字段ALTER TABLE tablename DROP (column);修改表名ALTER TABLE users RENAME to employee;
实例:
在student表中添加一个字段,用于记录年龄
alter table student add age int(5) after id;
使用after是指定在某列后面插入,不加的话默认在最后一列后面插入。(没有before关键字)
插入新字段后,对原来表中的数据没有影响,新插入的字段会为空。
修改name,将其长度改成5
alter table student modify name varchar(5) not null;
将name改为xingming
alter table students change name xingming varchar(5) not null;
删除age列
alter table student drop age;
alter table student rename students;
4、表的删除
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
实例
drop table students;