一、基本形式
create table [if not exists] 表名(
字段列表, [约束或索引列表],
字段列表, [约束或索引列表],
索引
约束
) [表选项列表];
字段基本形式: 字段名 类型 [字段修饰属性];
二、索引
索引是一个“内置表”,该表的数据是对某个真实表的某个(些)字段的数据做了“排序”之后的存储形式。
作用:为了提高查找速度。 注意:索引在提高查找速度的同时,降低了增删改的速度
普通索引:key(字段名1,字段名2, .... ):
唯一索引:unique key (字段名1,字段名2, .... )
主键索引:primary key (字段名1,字段名2, .... )
全文索引:fulltext (字段名1,字段名2, .... )
三、外键约束
外键约束:一个表的字段的值是另一张表的主键的值。
语法形式:foreign key (字段名1,字段名2, .... ) references 表名2(字段名1,字段名2, .... )
二、字段属性设置
not null:不为空,表示该字段不能放“null”这个值。不写,则默认是可以为空。
auto_increment: 设定int类型字段的值可以“自增长”,即其值无需“写入”,而会自动获得并增加属性必须随同 primary key 或 unique key 一起使用。
[primary] key: 设定为主键。是唯一键“加强”:也不能重复并且不能使用null,并且可以作为确定任意一行数据的“关键值”。
通常,每个表都应该有个主键,而且大多数表,喜欢使用一个id并自增长类型作为主键。
但:一个表只能设定一个主键。
unique [key] : 设定为唯一键:表示该字段的所有行的值不可以重复(唯一性)。
default ‘默认值’: 设定一个字段在没有插入数据的时候自动使用的值。
comment ‘字段注释’:
三、表的增删改查
1、查
显示所有表 show tables;
显示表结构 desc 表名;
2、删 drop table 表名;
3、增 create table 表名(
id int not null auto_increment primary key comment '这是主键',
name varchar(10) comment '这是姓名',
sex int default 1 comment '这是性别 1代表男 0代表女',
brithday date
);
4、改
修改表名 alter table 旧表名 rename to 新表名;
修改表的字段 alter table 表名 change 原字段名 新字段名 新字段类型 新字段属性;