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

建设网官方网站快餐网站模板

建设网官方网站,快餐网站模板,静态网页设计作业,wordpress个人博客多大空间我们之前在建表创建数据时,发现如果插入的数据超出本身的范围或者类型不符都会被拦截报错,这本质上就是表的一种约束,这种约束使得我们插入数据库表中的数据一定是符合预期的,约束本质就是通过技术手段,强制让我们插入…

我们之前在建表创建数据时,发现如果插入的数据超出本身的范围或者类型不符都会被拦截报错,这本质上就是表的一种约束,这种约束使得我们插入数据库表中的数据一定是符合预期的,约束本质就是通过技术手段,强制让我们插入正确的数据。本次我们就来讲解表中各个约束条件。

一、空属性

在mysql中,null表示什么都没有,他并不像c中的null为0或其他,也不能进行运算。

语法:在类型声明后加null/not null即可。(默认为null)

如果被not null约束了,代表我们插入数据时一定不能忽略此项。

可以看到,我们无论一起插入还是单独插入id都被许可,但如果只插入name值就会报错,因为不支持id为空。

二、默认值

我们看上图t10表的描述,发现Null列的后面还有一列——Default,该列就相当于我们C++中的缺省参数,我们不插入此项,到时候就会自动把default中的值插入。我们也可以手动改变default。

语法:name type default value;

可以发现,空属性和default也可以一起使用。我们插入时,如果不提供该项,其就会把该项的default作为参数。但是,如果是not null+default null。此时还不插入该项就会报错,因为不允许有空,且默认值也是空,代表必须有参数。

null +default  0 :传该项则代替0,不传0作为参数。

not null +default 0:传该项则代替0,不传0作为参数。

null +default null:传该项则代替null,不传null作为参数。

not +default null:插入时必须插入该项。

三、列描述

语法:在声明类型后加comment '描述'

但我们查看表的信息并没有发现列的注释,只能通过show语句

四、zerofill

还记得我们在数据类型时,有一个整型int没有提到的细节:int(m)中的m代表什么意义,我们定义变量时如果不加会发现m默认是10,这是什么东西?

如果没有zerofill,那么这个m将毫无意义,zerofill的意义是如果类型是int(m)且数据类型有zerofill,

插入的数是n位的int(n<m),那么显示的时候就会在数字前补(m-n)个0

可以看到,如果没有zerofill(password)输入什么毫无影响,但有zerofill的id就会有影响了,如果n>m,那么zerofill也会不起作用,但无论怎样,在存储数据时会把补齐的0都忽略;

五、主键(列中的Key)

主键:primary key用来唯一的约束该字段里面的数据,不能重复,不能为空,一张表中最多只能有一个主键;主键所在的列通常是整数类型。

主键是修饰某一属性的,修饰后就不允许插入相同的值。

结果也符合我们的预期,插入第二个相同的id就会失败。

当创建表时忘记加主键,我们也可以追加:

alter table 表名 add primary key(字段列表)

删除主键:

alter table 表名 drop primary key;

复合主键

如果在一个表中,我们不想只有一列拥有主键的属性,就可以用符合主键

注意:这仍符合我们的一个表只有一个主键,只是这两个合起来称为一个复合主键

复合主键的规则是:只有两列插入的数据完全相同才会报错。

六、自增长

auto_increment:当对应的字段,不给值,会自动的被系统触发,系统会从当前字段中已经有的最大值 +1操作,得到一个新的不同的值。通常和主键搭配使用,作为逻辑主键。

自增长的特点:

任何一个字段要做自增长,前提是本身是一个索引(key一栏有值)

自增长字段必须是整数

一张表最多只能有一个自增长

我们可以看到,我们两次插入都没有给id赋值,但是显示的是id分别是1和2,这就是自增长,没有赋值时,就会默认赋值为自增长最大值+1(默认从1开始),此时如果我们再插入一个100的id,那么下一次自增长值就是101插入。

七、唯一键

一张表中有往往有很多字段需要唯一性,数据不能重复,但是一张表中只能有一个主键:唯一键就可以解决表中有多个字段需要唯一性约束的问题。

唯一键的本质和主键差不多,唯一键允许为空,而且可以多个为空,空字段不做唯一性比较

关于唯一键和主键的区别: 我们可以简单理解成,主键更多的是标识唯一性的。而唯一键更多的是保证在业务上,不要和别的信息出现重复。一般我们对长期不动的数据进行主键标识,比如身份证号等。

语法:

name type unique

八、外键

这是我们第一次接触到两个表之间的约束

外键用于定义主表和从表之间的关系:外键约束主要定义在从表上,主表则必须是有主键约束或unique 约束。当定义外键后,要求外键列数据必须在主表的主键列存在或为null

语法:

foreign key (字段名) references 主表(列)

我们引入一个案例便于理解

如果将班级表中的数据都设计在每个学生表后面就会出现数据冗余,我们只需要让stu的class-id和myclass_id有关联即可——即外键约束。

先创建两个表

        

现在100号张三在10班C++班,101号张三在20班Java班。

现在我们尝试插入一个30班的学生

插入失败,因为没有这个班级。但我们插入null也可以(学生还未分配班级)

总结就是:在外键约束中,从表的限制列中不允许插入主表主表限制列之外的值(null除外)。

http://www.dtcms.com/a/587687.html

相关文章:

  • 山东省工程建设信息官方网站如何有效推广
  • 西乡做网站费用佳简几何工业设计有限公司
  • 微博如何做的跟网站一样莱芜规划
  • 电商平台设计电商网站建设wordpress积分搜索
  • 帝国网站增加流量wordpress侧边栏宽度
  • 建设网站分几个步骤办公室装修效果图片
  • 做网站制作挣钱吗网站后台html模板
  • 如何做网站流量统计亚马逊seo关键词优化软件
  • 校园网站网络文明建设百度推广登录平台怎么收费
  • 韩国企业网站模板下载时尚flash网站
  • 网站建设需要多少钱文档网页设计入门首先要学什么
  • 做网站界面的软件购物网站开发 项目描述
  • 学校做网站一般多少钱网络营销网站有哪些
  • 邢台网站制作哪里好濮阳做公司网站
  • C 标准库 - `<stdlib.h>》详解
  • 注册公司流程和费用一共多少钱石家庄百度提升优化
  • 设计网站首页步骤北京网站建设东轩seo
  • 网站空间ftp下载慢惠阳区建设局网站
  • 仿业务网站源码wordpress模版建站
  • 怎么把网站做的小程序国外短视频软件
  • 企业为什么需要手机网站东莞做购物网站
  • cp网站建设python网站开发实例教程
  • 网站设计与网页制作培训微信客户端免费下载app
  • 网站建设的实际价值seo技术顾问阿亮
  • 专注企业网站建设图片网站虚拟主机
  • 网站建设跟网站结构福州网站建设工作室
  • wordpress code editorseo站长综合查询工具
  • 医生在网站上做自我宣传wordpress 域名 根目录
  • 濮阳网站建设熊掌网络自己建网站需要钱吗
  • 多个标签的网站模板做电影平台网站怎么赚钱吗