当前位置: 首页 > news >正文

徐州建设工程招投标官方网站自己怎么做视频收费网站

徐州建设工程招投标官方网站,自己怎么做视频收费网站,dedecms网站的源码如何安装,湖南网站推广文章目录 约束(constraint)列级约束和表级约束给约束起名字(constraint)非空约束(no null)检查约束(check)唯一性约束 (unique)主键约束 (primary key)主键分类单一主键复合主键主键自增 (auto_increment) 外键约束外什…

文章目录

  • 约束(constraint)
    • 列级约束和表级约束
    • 给约束起名字(constraint)
    • 非空约束(no null)
    • 检查约束(check)
    • 唯一性约束 (unique)
    • 主键约束 (primary key)
      • 主键分类
      • 单一主键
      • 复合主键
      • 主键自增 (auto_increment)
    • 外键约束
      • 外什么用外键
      • 级联删除
      • 级联更新
      • 级联置空
      • 注意点

约束(constraint)

列级约束和表级约束

列级约束

直接在字段后面是列级约束
create table test (id int 约束1 约束2.....,name varchar(20) 约束1 约束2....
);

表级约束

定义完,再约束是表记约束。比如联合不能重复的时候就要用到
create table test (id int,name varchar(20),//这里表示 id 和 name联合不能重复 unique(id, name)
);


给约束起名字(constraint)

create table test (id int,name varchar(20),//这里给 unique 起别名,方便删除 constraint 别名 unique(id, name)
);

约束的描述信息,在information_schema 库中的 table_constraints表中



非空约束(no null)

create table test (id int.name varchar(255) not nul;
);
//表示 name 字段不能为空


检查约束(check)

create table test (id int,name varchar(255),age int check(age > 18)
);
//表示 age 必须 大于 18


唯一性约束 (unique)

create table test(no int,name varchar(100),email varchar(100), unique(name, email)
);
//把 email 和 name 设置成联合唯一性的,不能插入重复的,除了NULL


主键约束 (primary key)

  • 主键约束的字段不能为NULL,并且不能重复。

  • 任何一张表都应该有主键,没有主键的表可以视为无效表。

  • 主键值是这行记录的唯一标识。在数据库表中即使两条数据一模一样,但由于主键值不同,我们也会认为是两条完全的不同的数据。


主键分类

  1. 根据字段数量分类:
    1. 单一主键(1个字段作为主键)【建议】
    2. 复合主键(2个或2个以上的字段作为主键)
  2. 根据业务分类:
    1. 自然主键(主键和任何业务都无关,只是一个单纯的自然数据)【建议】
    2. 业务主键(主键和业务挂钩,例如:银行卡账号作为主键)

单一主键

create table test (uid int primary key,nno varchar(100) unique,name varchar(100) not null
)
//把 uid 设置为主键

复合主键

create table test (uid int,nno varchar(100) unique,name varchar(100) not null,primary key(uid, nno)
)
//把 uid 和 nno 设置成联合主键

不建议使用


主键自增 (auto_increment)

主键自增:既然主键值是一个自然的数字,mysql为主键值提供了一种自增机制,不需要我们程序员维护,mysql自动维护该字段create table test (no int primary key auto_increment,name varchar(20)
);



外键约束

create table t_school( sno int primary key, sname varchar(255) 
); create table t_student( no int primary key, name varchar(255), age int, sno int, //constraint 是起别名,foreign key...references 是外键constraint t_school_sno_fk foreign key(sno) references t_school(sno) 
);
//外键不一定是主键,也可以是父表中具有唯一性的字段


外什么用外键

在这里插入图片描述
图片来源:动力节点

这种情况比较浪费空间直接两张表,然后设置外键


表一

在这里插入图片描述
图片来源:动力节点


表二

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
图片来源:动力节点



级联删除

创建子表时,外键可以添加:on delete cascade,这样在删除父表数据时,子表会级联删除。谨慎使用。create table t_student( no int primary key, name varchar(255), age int, sno int, constraint t_school_sno_fk foreign key(sno) references t_school(sno) on delete cascade 
);
###删除约束
alert table t_student drop foreign key t_student_sno_fk;
###添加约束
alert table t_student add constraint t_student_sno_fk foreign key(sno) references t_school(sno) on delete cascade; 


级联更新

创建子表时,外键可以添加:on update cascade ,这样在修改父表数据时,子表会级联修改,谨慎使用。create table t_student( no int primary key, name varchar(255), age int, sno int, constraint t_school_sno_fk foreign key(sno) references t_school(sno) on update cascade 
);


级联置空

创建子表时,外键可以添加:on delete set null,父数据设置成 null ,子表会级联设置为 null ,谨慎使用。create table t_student( no int primary key, name varchar(255), age int, sno int, constraint t_school_sno_fk foreign key(sno) references t_school(sno) on delete set null 
);


注意点

  • 添加了外键约束的字段中的数据必须来自其他字段,不能随便填。

  • 假设给a字段添加了外键约束,要求a字段中的数据必须来自b字段,b字段不一定是主键,但至少要有唯一性。

  • 外键约束可以给单个字段添加,叫做单一外键。也可以给多个字段联合添加,叫做复合外键。复合外键很少用。

a 表 如果引用 b 表 中的数据,可以把 b表 叫做 父表 ,把 a 表 叫做 子表。

  1. 创建表时,先创建父表,再创建子表。
  2. 插入数据时,先插入父表,在插入子表。
  3. 删除数据时,先删除子表,再删除父表。
  4. 删除表时,先删除子表,再删除父表。

插入就先父,删除先子

http://www.yayakq.cn/news/327061/

相关文章:

  • 门户网站兴化建设局天元建设集团有限公司logo
  • 中国域名门户网站建设网站火车票预订
  • 网站图片尺寸wordpress主题文件夹
  • 制作网站的软件下载做门图网站
  • 做的差的网站天津网站建设托管
  • 做网站表格辽宁建设工程信息网分数
  • 做网站后端的是什么部门正邦logo设计
  • 织梦视频资讯网站源码做网站空间放哪些文件夹
  • 做网站排名赚钱吗选择大连网站建设
  • 时尚手表网站php免费开源crm系统
  • 长治网站制作报价音乐制作软件哪个好
  • 怎样选择网站建设网站排名下降原因
  • 网站新闻专题怎么做公司网站开发用什么软件
  • 做网站的需求分析企业网站案例展示
  • 涂料厂做网站有用吗邢台百度推广
  • wordpress知名网站丽水微信网站建设哪家好
  • 那家建设网站p2p公司最好?给我播放电影在线观看
  • 东莞免费做网站时代强个人网站
  • 一个大佬做的本子网站吴川手机网站建设公司
  • 做半成品网站立水桥大型网站建设
  • flask做网站工具爱客源
  • 网站app怎么做昆山教育云平台网站建设
  • 怎么创自己的网站网站建设主要步骤
  • 网站制作的部分做网站图片大小不合适怎么调
  • 曹县做网站自己做的网站怎么上传到浏览器
  • 如何开发手机端网站盘州网站建设
  • 可以制作h5的网站不备案怎么做淘宝客网站
  • 网站的转化率免费可以看污app秋葵
  • 东营本地网站制作公司怎么做云购网站
  • 湖南做网站最厉害的公司宁波seo深度优化平台有哪些