一、创建表
1.创建标的格式
create table 表名(
字段名1 数据类型 约束条件,
字段名2 数据类型 约束条件,
字段名3 数据类型 约束条件
……
);
2.约束条件
(1)设置主键约束
主键又叫主码,用于唯一标识记录的字段
一张表只能又一个主键,并且主键不为空
关键字:primary key
格式一:
字段名 数据类型 primary key
create table goods(
id int(11) primary key auto_increment,
type varchar(30) not null,
name varchar(30) unique,
price decimal(7,2) unsigned,
num int(11) default 0,
add_time datetime
);
格式二:
primary key(字段名)
create table goods(
id int(11) auto_increment,
type varchar(30) not null,
name varchar(30),
price decimal(7,2) unsigned,
num int(11) default 0,
add_time datetime,
primary key(id),
unique key(name)
);
(2)设置自增约束
字段名 数据类型 auto_increment
注意:
一张表只能又一个字段为自增约束,并且该字段只能是主键
默认初始值是1 ,每增加一条记录,字段值自动增1
字段数据类型必须为整数类型
(3)设置非空约束
格式:字段名 数据类型 not null
(4)设置唯一性约束
格式一:字段名 数据类型 unique
格式二:unique key(字段名)
(5)设置无符号约束
格式:字段名 数据类型 unsigned
(6)设置默认约束
格式:字段名 数据类型 default 值
3.创建表时的约束条件
create table table_name(
列名1 数据类型 (int) primary key auto_increment,
列名2 数据类型 not null,
列名3 数据类型 unique,
列名4 数据类型 default '值',
constraint 索引名 foreign key(外键列) references 主键表(主键列)
);
实训案例
create table goods(
id int(11) primary key auto_increment,
type varchar(30) not null,
name varchar(30) unique,
price decimal(7,2) unsigned,
num int(11) default 0,
add_time datetime
);
4.建表后的约束条件
(1)主键约束
添加:
alter table table_name add primary key (字段);
删除:
alter table table_name drop primary key;
(2)非空约束
添加:
alter table table_name modify 列名 数据类型 not null ;
删除:
alter table table_name modify 列名 数据类型 null;
(3)唯一约束
添加:
alter table table_name add unique 约束名(字段);
删除:
alter table table_name drop key 约束名;
(4)自动增长
添加:alter table table_name modify 列名 int auto_increment
删除:alter table table_name modify 列名 int
(5)外键约束
添加:
alter table table_name add constraint 约束名 foreign key(外键列) ;
references 主键表(主键列)
删除:
第一步:删除外键
alter table table_name drop foreign key 约束名;
第二步:删除索引
alter table table_name drop index 索引名
(6)默认值
添加:
alter table table_name alter 列名 set default '值';
删除:
alter table table_name alter 列名 drop default;
5.建表时规范写法
create table table_name(
column_name_1 data type,
column_name_2 data type,
primary key (column_name_1),
unique key 'key_name' (column_name_2)
);
二.修改表
修改表的结构—alter
1.修改表名
alter table 旧表名 rename 新表名;
2.修改字段数据类型
alter table 操作的表名 modify 被修改的字段名 修改后的数据类型;
3.修改字段名
alter table 操作的表名 change 旧字段名 新字段名 数据类型;
4.添加字段
(1)在表的最后一列
alter table 操作的表名 add 添加的字段名 数据类型;
(2)在表的第一列
alter table 操作的表名 add 添加的字段名 数据类型 first;
(3)在指定列之后
alter table 操作的表名 add 添加的字段名 数据类型 after 列名(被添加的位置);
5.删除字段
语法格式:alter table 表名 drop 字段名;
6.修改字段顺序
将cc_goods表的state字段位置修改为id字段之后
alter table cc_goods modify state tinyint(4) after id;
7.修改存储引擎
语法格式:alter table 表名 engine=新存储引擎名;
修改cc_goods表的存储引擎为InnoDB;
alter table cc_goods engine=InnoDB;
三、查看表
查看表的结构
1.查看表的结构
Describe 表名 ;简写成desc 表名;
2.查看该表的建表语句
Show create table 表名 \G;
四、删除表
drop table 表名;