数据库DIY第三课

数据库第三课

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);
一个表里面只能有一个主键约束,主键要求非空切唯一;

数据库DIY第三课

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.实体关系一对多

数据库DIY第三课

10.外键约束SQL语句

foreign key 用来保证两个字段之间的关联

数据库DIY第三课

11.表创建后没有设置主键,如何添加主键

alert table 表名	add constraint primary key(id);

数据库DIY第三课

12.表创建后没有设置外键约束,如何添加外键约束

alert table 表名 add constraint foreign key(表字段名) refereces 表名(id);

数据库DIY第三课

作业

  1. 创建商品表 price单价,num库存,category_id分类id
    create table item(id int primary key auto_increment, name varchar(10),price int, num int,category_id int);
  2. 创建分类表
    create table category(id int primary key auto_increment, name varchar(10));
  3. 插入 苹果手机 价格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);