赞
踩
create table 表名(
字段名1 数据类型 约束条件,
字段名2 数据类型 约束条件,
字段名3 数据类型 约束条件,
......
约束条件
);
主键又叫主码,用于唯一标识记录的字段。
格式一:
字段名 数据类型 primary key
格式二:
primary key(字段名)
如果用户希望某个字段能够按照顺序自动生成编号,可以为该字段设置自增约束。
格式:
字段名 数据类型 auto_increment
格式:
字段名 数据类型 not null
当数据表中某个字段的值不允许重复时,可以使用唯一性约束。
格式一:
字段名 数据类型 unique
格式二:
unique key(字段名)
格式:
字段名 数据类型 unsigned
格式:
字段名 数据类型 default 值
格式:
constraint 约束名 foreign key(字段名) references 主表名(主表中的字段名)
(8)设置表的存储引擎
格式:
engine=存储引擎名
字段 | 数据类型 | 约束条件 |
---|---|---|
id | int(11) | 主键、自增 |
type | varchar(30) | 非空 |
name | vaechar(30) | 唯一 |
price | decimal(7,2) | 无符号 |
num | int(11) | 默认值为0 |
add_time | datetime |
SQL语句:
格式一:
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
);
格式二:
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)
);
字段 | 数据类型 | 约束 |
---|---|---|
o_id | int(11) | 主键 |
add_time | datetime | |
goods_id | int(11) | 外键 |
SQL语句:
create table orders(
o_id int(11) primary key,
add_time datetime,
goods_id int(11),
constraint goo_ord foreign key(goods_id) references goods(id)
);
字段 | 数据类型 | 约束 |
---|---|---|
id | int(11) | 主键 |
name | varchar(30) | |
p_id | int(11) |
SQL语句:
create table category(
id int(11) primary key,
name varchar(30),
p_id int(11)
);
字段 | 数据类型 | 约束 |
---|---|---|
id | int(11) | 主键 |
goods_id | int(11) | 非空、无符号 |
user_id | int(11) | 非空、无符号 |
content | text | 默认 |
add_time | datetime |
create table comment(
id int(11) primary key,
goods_id int(11) unsigned not null,
user_id int(11) unsigned not null,
content text,
add_time datetime
);
字段 | 数据类型 | 约束 |
---|---|---|
id | int(11) | 主键、自增 |
commment_id | int(11) | 非空、无符号 |
user_id | int(11) | 非空、无符号 |
r_content | text | |
add_time | datetime |
SQL语句:
create table reply(
id int(11) primary key auto_increment,
comment_id int(11) unsigned not null,
user_id int(11) unsigned not null,
r_content text,
add_time datetime
);
describe可简写成desc
格式:
describe 表名;
格式:
show create table 表名;
修改表的结构—alter
格式:
alter table 旧表名 rename 新表名;
实训案例:修改goods为tb_goods
alter table goods rename tb_goods;
格式:
alter table 表名 modify 字段名 新数据类型;
实训案例:将tb_goods表中的type字段的数据类型修改为char(30)
alter table tb_goods modify type char(30);
格式:
alter table 表名 change 旧字段名 新字段名 数据类型;
实训案例:将tb_goods表中的name字段的数据类型修改为g_name
alter table tb_goods change name g_name varchar(30);
(1)在表的最后一列添加字段
格式:
alter table 表名 add 字段名 数据类型;
实训案例:在tb_goods表最后一列添加picture字段,数据类型为varchar(255)
alter table tb_goods add picture varchar(255);
(2)在表的第一列添加字段
alter table 表名 add 字段名 数据类型 first;
实训案例:在tb_goods表中第一列添加state字段,数据类型为tinyint(4)
alter table tb_goods add state tinyint(4);
(3)在表的指定列之后添加字段
alter table 表名 add 字段名 数据类型 after 字段名2;
实训案例:在tb_goods表中num字段之后添加intro字段,数据类型为text
alter table tb_goods add intro text after num;
格式:
alter table 表名 drop 字段名;
实训案例:删除tb_goods表中的picture字段
alter table tb_goods drop picture;
格式:
alter table 表名 modify 字段1名 数据类型 first|after 字段2名;
实训案例:将tb_goods表的state字段位置修改为id字段之后
alter table tb_goods modify state tinyint(4) after id;
格式:
alter table 表名 engine=新存储引擎名;
实训案例:修改category表的存储引擎为InnoDB
alter table category engine=InnoDB;
(1)主键约束
格式:
添加:alter table 表名 add primary key(字段名);
删除:alter table 表名 drop primary key;
实训案例:删除tb_goods表的主键约束,再添加。
(2)非空约束
格式:
添加:alter table 表名 modify 字段名 数据类型 not null;
删除:alter table 表名 modify 字段名 数据类型 null;
实训案例:删除tb_goods表的非空约束,然后再添加。
(3)唯一约束
格式:
添加:alter table 表名 add unique key(字段名);
删除:alter table 表名 drop key 字段名;
实训案例:删除tb_goods表的唯一约束,再添加。
(4)自增约束
添加:alter table 表名 modify 字段名 数据类型 auto_increment;
删除:alter table 表名 modify 字段名 数据类型;
实训案例:删除tb_goods表的自增约束,再添加。
(5)默认值约束
添加:alter table 表名 modfiy 字段名 数据类型 default '值';
删除:alter table 表名 modify 字段名 数据类型 default null;
实训案例:删除tb_goods表的默认值约束,再添加。
(6)无符号约束
添加:alter table 表名 modfiy 字段名 数据类型 unsigned;
删除:alter table 表名 modify 字段名 数据类型
实训案例:删除tb_goods表的无符号约束,再添加。
(7)外键约束
添加:alter table 表名 add constaint 约束名 foreign key(外键列)references 主键表(主键列)
删除:
第一步:删除外键
alter table 表名 drop foreign key 约束名
第二步:删除索引
alter table 表名 drop index 索引名
约束名和索引名一样
实训案例:删除tb_goods表的外键约束,再添加
drop table 表名;
drop table 表1,表2,......;
(1)从表不保留
删除从表—>删除主表
(2)从表保留
删除从表外键—>删除主表
alter table 表名 drop foreign key 外键约束名
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。