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

海南省建设网站的公司上海营销型企业网站

海南省建设网站的公司,上海营销型企业网站,张家界市建设工程造价管理站网站,广西桂川建设集团网站创建表时,可以给表的字段添加约束,可以保证数据的完整性、有效性。比如大家上网注册用户时常见的:用户名不能为空。对不起,用户名已存在。等提示信息。 约束通常包括: 非空约束:not null检查约束&#xf…

创建表时,可以给表的字段添加约束,可以保证数据的完整性、有效性。比如大家上网注册用户时常见的:用户名不能为空。对不起,用户名已存在。等提示信息。

约束通常包括:

  • 非空约束:not null
  • 检查约束:check
  • 唯一性约束:unique
  • 主键约束:primary key
  • 外键约束:foreign key

非空约束

语法格式:

create table t_stu(no int,name varchar(255) not null,age int
);

name字段不能为空。插入数据时如果没有给name指定值,则报错。

检查约束

语法格式:

create table t_stu(no int,name varchar(255),age int,check (age > 18)
);

唯一性约束

语法格式:

create table t_stu(no int,name varchar(255),email varchar(255) unique
);

email字段设置为唯一性,唯一性的字段值是可以为NULL的。但不能重复。以上在字段后面添加的约束,叫做列级约束。

当然,添加约束还有另一种方式:表级约束:

create table t_stu(no int,name varchar(255),email varchar(255),unique(email)
);

使用表级约束可以为多个字段添加联合唯一。

create table t_stu(no int,name varchar(255),email varchar(255),unique(name,email)
);

创建约束时也可以给约束起名字,将来可以通过约束的名字来删除约束:

create table t_stu(no int,name varchar(255),email varchar(255),constraint t_stu_email_unique unique(name,email)
);

所有的约束都存储在一个系统表当中:table_constraints。这个系统表在这个数据库当中:information_schema

主键约束

  1. 主键:primary key,简称PK
  2. 主键约束的字段不能为NULL,并且不能重复。
  3. 任何一张表都应该有主键,没有主键的表可以视为无效表。
  4. 主键值是这行记录的身份证号,是唯一标识。在数据库表中及时两条数据一模一样,但由于主键值不同,我们也会认为是两条完全不同的数据。
  5. 主键分类:
    1. 根据字段数量分类:
      1. 单一主键(1个字段作为主键)==>建议的
      2. 复合主键(2个或2个以上的字段作为主键)
    2. 根据业务分类:
      1. 自然主键(主键和任何业务都无关,只是一个单纯的自然数据)==>建议的
      2. 业务主键(主键和业务挂钩,例如:银行卡账号作为主键)
  6. 单一主键(建议使用这种方式)
    create table t_student(id bigint primary key,sno varchar(255) unique,sname varchar(255) not null,
    );
  7. 复合主键(很少用,了解)
    create table t_student(no int,name varchar(255),age int,constraint t_user_pk_no_name primary key(no,name) 
    );
  8. 主键自增:既然主键值是一个自然的数字,MySQL为主键值提供了一种自增机制,不需要程序员维护,MySQL自动维护该字段

    create table t_vip(no int primary key auto_increment,name varchar(255),
    );

外键约束

  1. 有这样一个需求,要求设计表,能够存储学生以及学校信息。
    1. 第一种方案:一张表(这种方式会导致数据冗余,浪费空间)
    2. 第二种方案:两张表:一张存储学生,一张存储学校
      1. t_school表

      2. t_student表如果采用以上两张表存储数据,对于学生来说,sno这个字段的值是不能随便填的,这个sno是学校编号,必须要求这个字段中的值来自学校表的sno。为了达到要求,此时就必须要给t_student表的sno字段添加外键约束了

  2. 外键约束:foreign key,简称FK
  3. 添加了外键约束的字段中的数据必须来自其他字段,不能随便填。
  4. 假设给a字段添加了外键约束,要求a字段中的数据必须来自b字段,b字段不一定是主键,但至少要有唯一性。
  5. 外键约束可以给单个字段添加,叫做单一外键。也可以给多个字段联合添加,叫做复合外键。复合外键很少用。
  6. a表如果引用b表中的数据,可以把b表叫做父表,把a表叫做子表。
    1. 创建表时,先创建父表,再创建子表。
    2. 插入数据时,先插入父表,再插入子表。
    3. 删除数据时,先删除子表,再删除父表。
  7. 如何添加外键
  8. 级联删除:创建子表时,外键可以添加:on delete cascade,这样在删除父表数据时,子表会级联删除。谨慎使用
    create table t_student(no int primary key,name varcahr(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;
    
  9. 级联更新
    create table t_student(no int primary key,name varcahr(255),age int,sno int,constraint t_school_sno_fk foreign key(sno) references t_school(sno) on update cascade
    );
  10. 级联置空
    create table t_student(no int primary key,name varcahr(255),age int,sno int,constraint t_school_sno_fk foreign key(sno) references t_school(sno) on delete set null
    );


文章转载自:

http://d134Wn0V.LLgpk.cn
http://l4PCC1LL.LLgpk.cn
http://icttPIBl.LLgpk.cn
http://t0lCXwUm.LLgpk.cn
http://3JTV4Yyd.LLgpk.cn
http://KnxchQYw.LLgpk.cn
http://Cadk7BlU.LLgpk.cn
http://Rgn0fiHn.LLgpk.cn
http://fp6VV0kI.LLgpk.cn
http://QNQhjRgd.LLgpk.cn
http://reOZYffa.LLgpk.cn
http://0chGB2FN.LLgpk.cn
http://cprlaRXv.LLgpk.cn
http://TujVQ3tz.LLgpk.cn
http://JklcA5pj.LLgpk.cn
http://HbLPkA7i.LLgpk.cn
http://Z04213jX.LLgpk.cn
http://QkxAyKKJ.LLgpk.cn
http://dqwaG2yO.LLgpk.cn
http://TyJZoR3O.LLgpk.cn
http://boAyvHRY.LLgpk.cn
http://9Iy5GJ7L.LLgpk.cn
http://KVIEdOlM.LLgpk.cn
http://VGyNnstR.LLgpk.cn
http://rs0obVpv.LLgpk.cn
http://Tq9fLnxb.LLgpk.cn
http://91XaCjn9.LLgpk.cn
http://wG4p6QkE.LLgpk.cn
http://wwUoel2t.LLgpk.cn
http://Gh1GdKot.LLgpk.cn
http://www.dtcms.com/wzjs/763125.html

相关文章:

  • 南京市住房和城乡建设部网站重庆模板网站多少钱
  • 装修设计公司官网宁波网络seo哪家专业
  • 郑州建站价格网页编辑器dw
  • 安庆网站建设专业ps软件下载绘画
  • 南康家具网站建设手机端网站排名
  • 宁夏自治区住房城乡建设厅网站国内广告公司排名
  • 网站建设如何把更改内容广州品牌网络营销方式
  • 江苏企业网站建设公司学短视频剪辑与制作
  • 盐城网站优化价格vps wordpress ftp
  • 网站找人做的他能登管理员吗wordpress 4评测
  • 移动应用网站开发旅游网站设计开题报告
  • 房地产网站 模板深圳网站高端建设
  • 贡井区建设局网站做自己的网站发表文章后怎么能让钱赚到手是不是点击率高就可以有收入?请高人指教!感激涕零!
  • 网站备案幕布照片pswordpress主题空白
  • 网站站内优化怎么做一个微信小程序大概多少钱
  • 中国亚马逊网站建设网站建设 需求确认书
  • 建筑网站网页设计网站建设面对的问题
  • 南京培训网站建设seo网站优化培训
  • 做网站系统的过程深圳海外网站建设
  • 河北建设网站证件查询网站后台欢迎界面
  • 汕头市企业网站建设教程想自己做网站推广
  • 简述制作网站的步骤和过程产品推广计划怎么写
  • 为何用wdcp建立网站连不上ftpcdr做网站分辨率
  • 银川网站优化品牌建设还需持续力
  • 青岛中小企业网站制作所见即所得的网站开发软件
  • 国外酷站收录网站好看的网站页面
  • 山东网站空间移动商城 网站建设方法方式
  • 用阳寿做交易的网站宝塔管理wordpress
  • 怎样开物流网站WordPress自定义图床
  • 网站建设小组宝应建设局网站