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

外贸seo百度视频排名优化

外贸seo,百度视频排名优化,如何做微信小程序游戏,安卓集成wordpress在MySQL数据库中,约束(Constraint)是用于限制表中数据的一种规则,目的是为了确保数据的完整性以及一致性。下面我们就从建表时的约束、建表后如何添加约束等几个方面,讲解MySQL中常用的几种约束。 创建时约束 分类 非空约束 非空&#xf…

在MySQL数据库中,约束(Constraint)是用于限制表中数据的一种规则,目的是为了确保数据的完整性以及一致性。下面我们就从建表时的约束、建表后如何添加约束等几个方面,讲解MySQL中常用的几种约束。

创建时约束

分类

非空约束

非空:关键字为[not null]。用来约束数据的该字段不能设置空值,也就是说,这一列的每个数据都应该有值。

非空约束的特点:

①插入数据时必须给该字段设置值

②修改数据时不能将字段修改为null

create table tbname{id int not null,-- other
};

唯一约束

唯一:关键字为[unique]。用来约束数据的该字段不因该有重复的值,也就是说,这一列的每个数据都是不一样的。

唯一约束的特点:

①插入数据时,如果设置值,那么不能与该列其它数据一样否则失败。如果不设置值,那么可以为null,如果该列有多个null值,不违反唯一约束(都没有值,怎么判断它们相等呢,是吧)

②修改数据时,如果将null修改为具体的值,那么这个值不能与该列其它数据一致

create table tbname{id int unique,-- other
};

主键约束

主键:关键字为[primary key]。是唯一标识 表中每一行的 那一列字段的约束。

主键的三个要求:

①每个数据表都应该有一个唯一的主键

②主键不应该被频繁的修改

③为了满足条件二,主键该与业务无关,避免业务的改变带动主键频繁修改。

主键的三个特点:

①唯一性:主键一旦设置,就自动加上了唯一约束

②非空性:主键一旦设置,就自动加上了非空约束

③单一性:即主键最多只能有一个,如果想要有多个字段都作为标识,那么可以使用联合主键的方式将多个字段联合为一个主键。

主键约束中常常与自增约束搭配使用:

自增约束的关键字为:[auto_increment],即每次插入一条新的数据,无需赋值,就可以根据内部的计数器的值设置主键的值。

create table tbname{id int primary key auto_increment,-- other
};

默认约束

默认:关键字为[default]。是用来约束该字段不设值时,默认给的一个值。如果不约束则是默认null。

默认约束的特点:

就是在插入数据时,如果不插入该字段,该字段的值会根据默认约束的默认值填充。

外键约束

外键:关键字为[foreign key]。外键用于建立表与表之间的关系,确保在一个表中的某列值必须在另一个表中出现。

外键的使用:

create table tbname{id int primary key auto_increment,userid int foreign key references usertb(id)
};

 拥有外键的表称之为子表(从表),外键关联的表称之为父表(主表)。

子表中拥有外键约束的字段,引用(references)父表中的主键或者唯一键。外键约束确保子表中的每个外键值都在父表中有对应的值。

外键约束的类型:

cascade:如果父表删除行,则所有引用该行的子表行也会被自动删除

set null:如果父表删除行,则所有引用该行的子表行会被设置为NULL

set default:如果父表删除行,则所有引用该行的子表行会被设置为默认值

no action:如果试图删除父表的行而子表中仍有引用,将会抛异常,阻止删除

restrict:与no action相似,但是在删除或更新时,立即检查外键约束,而不是在事务结束时检查

外键使用的注意事项:

①子表的外键约束列的数据类型必须与父表的引用列的数据类型相同

②外键约束会影响增删改,确保外籍值的有效性会导致性能下降

如果子表插入的外键值为空,可以建立,在该表中称为孤儿数据

先建父表,再建子表。

先插入父表数据,再插入子表数据

先删除子表数据,再删除父表数据

先删子表,在删父表

检查约束

检查:关键字为[check]。检查约束是用来确保列中的值符合特定的条件的一种规则。

检查约束的使用:

create table tbname{id int primary key auto_increment,salary decimal check(salary >= 0)
};

应用

create table mytb(id int not null, #非空约束name varchar(20) #不设置就是可以为空
);
insert into mytb(name) values("stark");#err-id is not null
insert into mytb(id,name) values(1,"stark");#sucess
#创建时约束
create table mytb(id int not null default 123,name varchar(20)
);
insert into mytb(name) values("stark");#sucess-id默认为123 -is not null
#创建时约束
create table mytb(id int unique,nama varchar(20)
);
insert into mytb(id) values(1);#sucess
insert into mytb(id) values(1);#err-上面一条语句已经插入了一个id值为1的记录了

创建后约束

非空约束

#创建后约束
alter table mytb
modify name varchar(20) not null;
#删除约束
alter table mytb
modify name varchar(20) null;

默认约束

#创建后约束
alter table mytb
modify name varchar(20) default "";
#删除约束
alter table mytb
modify name varchar(20) default null;

根据上面的例子,我们呢大概率也清楚了大概的方法,在使用时可以不断地尝试。

表级约束 - 联合主键(键、索引)

#创建时约束:
create table mytb(id int,name varchar(20)[constraint id_name] unique(id, name)
);#[constraint 是为键key or 索引index起别名]
#创建后约束:
alter table mytb
add [constraint id_name] unique(id,name);#删除:alter table mytbdrop key id_name;alter table mytbdrop index id_name;

http://www.dtcms.com/wzjs/319402.html

相关文章:

  • 网站制作参考其他网站会侵权吗海南百度推广总代理
  • 浏览器网站大全青岛网络科技公司排名
  • 企业做网站天津类似58的推广平台有哪些平台
  • 爱站网长尾如何做电商新手入门
  • 城乡住房建设厅网站首页5月新冠病毒最新消息
  • html5+css3 网站广州今日头条新闻
  • 以前在线做预算的网站谷歌浏览器网址
  • 北京工商网站做优化关键词
  • 做影视网站对服务器要求今日国内新闻最新消息
  • 颍州网站建设网络营销的三大核心
  • 龙岗网站 建设深圳信科登录百度
  • 个人博客网站设计代码河南seo推广
  • 网站扫码充值怎么做的宁波抖音seo搜索优化软件
  • b2b网站建设注意事项网站建设黄页在线免费
  • 永久免费国外php空间搜索引擎优化的目的是
  • 网站广东省备案系统建立网站有哪些步骤
  • 网站优化新闻广州网站优化排名
  • 域名解析完成网站怎么做网络营销的特点有哪些特点
  • 梧州网站建设哪家好免费的关键词优化工具
  • 顺企网杭州网站建设百度权重高的网站有哪些
  • 做网站f12的用处公司专业网站建设
  • 网站建设需要什么资料电商网站设计模板
  • 科技公司网站源码广告网
  • 桂林网站定制建设搜索引擎优化是什么意思啊
  • 网站建设费用主要包括那几项seo 优化案例
  • 佛山网站建设哪个好百度搜索app下载
  • 网站推广需求西安网站设计公司
  • 日本美国韩国中国成都seo外包
  • 无锡网站公司电话优化人员配置
  • asp网站制作设计教程seo综合查询怎么关闭