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

个人怎么建立网站旅游网站模板html

个人怎么建立网站,旅游网站模板html,好用建站模板,wordpress主页透明#x1f389;博主首页#xff1a; 有趣的中国人 #x1f389;专栏首页#xff1a; 数据库初阶 #x1f389;其它专栏#xff1a; C初阶 | C进阶 | 初阶数据结构 亲爱的小伙伴们#xff0c;大家好#xff01;在这篇文章中#xff0c;我们将深入浅出地为大家讲解 MySQL… 博主首页 有趣的中国人 专栏首页 数据库初阶 其它专栏 C初阶 | C进阶 | 初阶数据结构 亲爱的小伙伴们大家好在这篇文章中我们将深入浅出地为大家讲解 MySQL中表的约束 帮助您轻松入门快速掌握核心概念。 如果文章对您有所启发或帮助请别忘了 点赞 、收藏 、留言 支持您的每一份鼓励都是我持续创作的源动力。让我们携手前行共同进步 文章目录 [toc] 0. 什么是表的约束1. NULL NOT NULL1.1 关键词解释1.2 用法示例 2.DEFAULT2.1 关键词解释2.2 用法示例2.3 NOT NULL 和 DEFAULT 区别 3.COMMENT3.1 关键词解释3.2 用法示例 4.ZEROFILL4.1 关键词解释4.2 用法示例 5. PRIMARY KEY5.1 关键词解释5.2 用法示例 5.2.1 单列主键 5.2.2 复合主键 上一篇文章中博主介绍了 : MySQL中不同的数据类型 建议将上一篇文章看完之后再来看这篇文章链接如下 【数据库初阶】MySQL数据类型 那么接下来正文开始 0. 什么是表的约束 上一篇文章中讲过真正表的约束其实是 数据类型但是数据类型约束很单一需要有一些 额外的约束更好的保证 数据的合法性从业务逻辑角度 保证数据的正确性。表的约束有很多本篇文章主要介绍以下几个 null / not null,default,comment,zerofill,primary key,auto_increment,unique key 1. NULL NOT NULL 1.1 关键词解释 NULL 就是空什么都没有的意思和语言上的NULL是有点区别的在数据库创建中如果从逻辑角度不想让某一个字段某一列为空就要添加约束条件NOT NULL。 1.2 用法示例 例如在学校中从逻辑上讲每个学生的学号都不可能是空值因此可以将这个字段添加约束 NOT NULLSQL 代码如下 mysql create table if not exists null_test(- stu_id varchar(10) not null,- stu_name varchar(10),- stu_class int- );查看一下表结构输入desc null_test; 此时必须在这个表中的每一行添加这个字段的值不然就会报错 2.DEFAULT 2.1 关键词解释 在一张表中某一个字段的值可能 出现的频率比较高为了避免重复的输入可以将这个字段添加约束 DEFAULT 默认值下次就不需要手动进行插入会自动添加到表中如果某一行中此字段的值不是默认值再手动修改大大提高了效率。 2.2 用法示例 例如在理工类学校中男生的人数可能比女生的人数要多很多那么就可以将性别这个字段添加默认值代码如下 mysql create table if not exists default_test(- stu_id int not null,- gender char(1) default 男,- age int unsigned - ); Query OK, 0 rows affected (0.05 sec)查看表结构 省略gender字段向表中插入数据那就是默认值不省略就可以修改 2.3 NOT NULL 和 DEFAULT 区别 问题1 先来看下面的一个插入方式为什么在创建的时候 age 字段没有设置默认值插入的时候也可以被省略 实际上对于不是 NOT NULL 的字段MySQL会自动帮我们添加 默认值 NULL我们可以查看一下MySQL为我们修改的创建表的语法 问题2 我们可以看到非空约束的默认值也是NULL为什么呢 其实这个NULL的本质是不一样的如果我们不指定stu_id列插入数据看一下 可以看到这里的报错是 没有默认值报的错。 如果我们指定了这个列但是插入的是空值看一下 注意到这里的报错是 此列不能是空报的错。 因此在定义非空约束的表中MySQL不会帮我们自动生成一个默认值对于带有 NOT NULL 约束的字段DESC 中显示的 Default 为 NULL这并不表示这个字段的默认值是 NULL。实际上NOT NULL 约束要求这个字段在插入时不能是 NULL如果插入时没有提供这个字段的值MySQL 会报错报的是没有默认值的错误。 总结 对于是非空约束的字段 MySQL不会帮我们自动生成一个默认值如果我们在插入数据的时候不显示指定此列那么编译器就会报没有默认值的错误如果插入数据的时候显示插入值但是插入的值是NULL才会报自此段不能为空的错误。 对于不是非空约束的字段 MySQL会自动帮我们生成一个默认值NULL所以不会报没有默认值的错误。因为只有设置了default的列才可以在插入值的时候对列进行省略。 一般情况下default 约束和 not null 约束不会一起使用。 3.COMMENT 3.1 关键词解释 comment 表示列描述没有实际含义专门用来描述字段会根据表创建语句保存用来给程序员或DBA来进行了解 3.2 用法示例 创建一个表描述各个列的含义代码如下 mysql create table if not exists comment_test(- name varchar(20) not null comment 姓名,- age tinyint unsigned default 18 comment 年龄,- gender char(1) default 男 comment 性别- ); Query OK, 0 rows affected (0.08 sec)desc是查不到注释信息的 通过 show create table 可以看到 4.ZEROFILL 4.1 关键词解释 还记得在上一篇文章中讲的数据类型 int 吗在查表的时候后面的数字代表着什么呢其实没有这个zerofill属性这个数字是没有意义的其实这个表示最后用统一的字数显示如果是 10 10 10那么最后就是显示 10 10 10位数字如果实际数字少于 10 10 10 位就用 0 0 0 补齐如果多出就不管。 4.2 用法示例 创建一个表里面只有 int一个int(5)另一个int(10) 这个用zerofill约束代码如下 mysql create table if not exists zerofill_test(- a int(5),- b int(10) unsigned zerofill- );插入数据代码如下 mysql insert into zerofill_test values(1,2); Query OK, 1 row affected (0.01 sec)mysql insert into zerofill_test values(325, 510); Query OK, 1 row affected (0.01 sec)查表 mysql select * from zerofill_test; ------------------ | a | b | ------------------ | 325 | 0000000510 | | 1 | 0000000002 | ------------------ 2 rows in set (0.00 sec)其实int默认是 10 10 10 位也是有原因的因为它的最大值就是二十一亿多( 10 10 10 位数字)unsigned也就是四十二亿多( 10 10 10 位数字)。 5. PRIMARY KEY 5.1 关键词解释 primary key用来 唯一的 约束该字段里面的数据不能重复不能为空 主键要求表中每一行记录的值都是唯一的也就是说主键字段的值不能重复。每行数据的主键值都是唯一的确保数据的唯一性。主键字段不能为 NULL。也就是说在定义主键时MySQL 会自动给该字段添加 NOT NULL 约束。每一行数据在插入时主键字段必须提供一个有效的、非空的值。 一张表中最多只能有 一个主键但可以由一个列或多个列组成复合主键。 主键可以由一列或多列字段组成。一个单列主键称为“单列主键”而由多个列组成的主键称为“复合主键”。 单列主键表中只有一个字段作为主键。复合主键多个字段组合成一个主键保证唯一性。 主键所在的列通常是 整数类型。 5.2 用法示例 5.2.1 单列主键 可以用以下两种方式定义主键 #方法1 mysql create table if not exists primarykey_test(- stu_id int,- name varchar(20),- gender char(2) default 男,- primary key(stu_id)- ); Query OK, 0 rows affected (0.04 sec)# 方法2 mysql create table if not exists primarykey_test(- stu_id int primary key,- name varchar(20),- gender char(2) default 男,- ); Query OK, 0 rows affected (0.04 sec) 查看创建信息 发现自动添加了 NOT NULL 约束。 插入信息发现如果有了主键约束此列信息不能重复 可以删除主键代码如下 mysql alter table primarykey_test drop primary key; Query OK, 1 row affected (0.16 sec) Records: 1 Duplicates: 0 Warnings: 0mysql desc primarykey_test; ------------------------------------------------ | Field | Type | Null | Key | Default | Extra | ------------------------------------------------ | stu_id | int | NO | | NULL | | | name | varchar(20) | YES | | NULL | | | gender | char(2) | YES | | 男 | | ------------------------------------------------ 3 rows in set (0.00 sec) 删除后可以重新添加但要 保证添加这一列中没有重复的值 mysql alter table primarykey_test add primary key(stu_id); Query OK, 0 rows affected (0.11 sec) Records: 0 Duplicates: 0 Warnings: 0mysql desc primarykey_test; ------------------------------------------------ | Field | Type | Null | Key | Default | Extra | ------------------------------------------------ | stu_id | int | NO | PRI | NULL | | | name | varchar(20) | YES | | NULL | | | gender | char(2) | YES | | 男 | | ------------------------------------------------ 3 rows in set (0.00 sec) 5.2.2 复合主键 定义方法代码如下 这个表中定义主键的意思是一个学生可以选择多门课一门课可以被多名学生选择但是 不存在一名学生重复选择同样的课的情况。 mysql create table if not exists primarykey_test2( - stu_id int, - course_id int, - grade int, - primary key(stu_id, course_id) ); Query OK, 0 rows affected (0.04 sec) 查看创建信息和表结构 主键的特点与约束 每个表只能有一个主键但是主键可以包含多个字段即复合主键。如果表中已经有一个字段被定义为主键其他字段就不能重复该主键的值。
http://www.w-s-a.com/news/939849/

相关文章:

  • 建站公司合肥做精品课程网站需要啥素材
  • 成都三合一网站建设网站建设教程自学网
  • 门户网站跳出率wordpress火车头采集教程
  • 天津做网站的网络公司wordpress免费的模板
  • 有哪些关于校园内网站建设的法律如何申请免费网站空间
  • 玉溪市网站建设龙口网页定制
  • 网站开发都用什么软件上海景观设计公司10强
  • 网站建设氵金手指下拉十二深圳网站建设售后服务
  • 上海网站设计价青海企业网站制作
  • 静态网站做新闻系统深圳外贸网站建设哪家好
  • 网站如何做词360免费wifi老是掉线怎么办
  • 网站建设分金手指排名十八iis10 wordpress
  • 成都网站优化公司哪家好网站建设帮助中心
  • 做外单什么网站好佛山市建设企业网站服务机构
  • 哪些网站是单页面应用程序北京门头沟山洪暴发
  • 织梦(dedecms)怎么修改后台网站默认"织梦内容管理系统"标题关键词优化收费标准
  • 网站设计和备案企业官网网站建设免费
  • 公司概况-环保公司网站模板搜索引擎营销的基本流程
  • 门户网站建设经验天津市建设银行租房网站
  • 百度推广 帮做网站吗怎样修改网站的主页内容
  • 网站怎么做dns解析公司官网改版方案
  • 湛江市住房和城乡建设局网站杭州网站公司哪家服务好
  • 设计网站公司湖南岚鸿设计镜像的网站怎么做排名
  • 你注册过哪些网站微信app下载安装官方版2019
  • 杭州滨江的网站建设公司人才招聘网网站策划方案
  • 门户网站是指提供什么的网站网站优化需要工具
  • 和小男生做的网站代理公司注册步骤
  • 天猫网站建设的目标是什么seo有些什么关键词
  • 网站前端建设都需要什么莱芜信息港网页
  • 如何做360网站优化网站建设培训教程新手入门到精通