数据库第三课
1.复习上节课知识内容
int //整数型——范围正负21亿个字符
varchar //可变长度字符串——范围0-65535个字符
char //定长字符串——范围0-255个字符
decimal //小数类型
datetime//日期时间类型YYYY-MM-DD HH:MM:SS
date //日期类型YYYY-MM-DD
time //时间类型HH:MM:SS
-
1.1文本类型
char varchar text blob
-
1.2数字类型
int decimal float double
-
1.3日期/时间类型
datetime date time year
2.sql语句复习
更新表数据
update 表名 set 列名=新值 where 列名=某值
删除表数据
delete from 表名 where 条件;
##3.什么是约束
- 约束是用来规定表的数据类型
4.约束包括
a.非空约束
b.唯一约束
c.主键约束
d.外键约束
5.非空约束
not null 规定字段内容不能为空
create table teacher(gender char(1) not null,age int);
insert into teacher(gender,age) values('男',10);
insert into teacher(gender,age) values(null,10);(null值不能插入)
6.唯一约束
unique 唯一约束
create table teacher(name varchar(10) unique,gender char(1) not null);
insert into teacher(name,gender,age) values('李老师','男');
insert into teacher(name,gender,age) values('李老师','男');(插不到表中)
7.主键约束
primary key 主键约束
create table teacher(id int primary key,name varchar(10) unique,gender char(1) not null);
一个表里面只能有一个主键约束,主键要求非空切唯一;
8.主键自动生成
auto_increment 主键自增 初始值默认为1
create table teacher(id int primary key auto_increment,name varchar(10) unique,gender char(1) not null) auto_increment=100;//设置从100开始增长
9.实体关系一对多
10.外键约束SQL语句
foreign key 用来保证两个字段之间的关联
11.表创建后没有设置主键,如何添加主键
alert table 表名 add constraint primary key(id);
12.表创建后没有设置外键约束,如何添加外键约束
alert table 表名 add constraint foreign key(表字段名) refereces 表名(id);
作业
- 创建商品表 price单价,num库存,category_id分类id
create table item(id int primary key auto_increment, name varchar(10),price int, num int,category_id int); - 创建分类表
create table category(id int primary key auto_increment, name varchar(10)); - 插入 苹果手机 价格5888 库存200 ,dell电脑价格4000 库存150,联想电脑 价格3500 库存100。
-
插入手机和电脑分类
insert into category values(null,‘手机’),(null,‘电脑’);insert into item values(null,‘苹果手机’,5888,200,1),(null,‘dell电脑’,4000,150,2),(null,‘联想电脑’,3500,100,2);
-
给分类表添加上级id的字段
alter table category add parent_id int;
-
插入一条办公耗材分类下的打印机分类下的惠普打印机价格2300 库存20
insert into category values(null,‘办公耗材’,null);
insert into category values(null,‘打印机’,3);
insert into item values(null,‘惠普打印机’,2300,20,4);