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

网络游戏开发基础南昌官网seo厂家

网络游戏开发基础,南昌官网seo厂家,有哪些网站开发框架,学校网站做网页飘窗怎么做文章目录 1. 表的约束概述2. 空属性 not null3. 默认值 default4. 列描述 comment5. zerofill6. 主键 primary key7. 自增长 auto_increment8. 唯一键 unique9. 外键 foreign key 1. 表的约束概述 真正约束字段的是数据类型#xff0c;但是数据类型约束很单一#xff0c;需要… 文章目录 1. 表的约束概述2. 空属性 not null3. 默认值 default4. 列描述 comment5. zerofill6. 主键 primary key7. 自增长 auto_increment8. 唯一键 unique9. 外键 foreign key 1. 表的约束概述 真正约束字段的是数据类型但是数据类型约束很单一需要一些额外的约束来更好地保证数据的合法性从业务逻辑角度保证数据的正确性。表的约束有很多本篇博客主要介绍null/not null、default、comment、zerofill、primarykey、auto_increment、unique key。 2. 空属性 not null 空属性有两个值分别是null和not null。数据库默认字段基本都是允许为空的但在实际开发中我们要尽可能保证字段不为空因为空值无法参与运算。 比如通过select可以看到NULL的值为NULL。 但由于空值无法参与运算所以null值加一之后得到的还是null 站在正常的业务逻辑中如果班级没有名字你不知道你在哪个班级。如果教室名字为空就不知道在哪上课。所以我们在设计数据库表的时候一定要在表中进行限制满足上面条件的数据就不能插入到表中这就是“约束”。 如果要让某个字段不允许为空在创建表的时候就可以给对应字段设置not null属性。比如我们创建一个班级表表当中包含班级名和该班级所在的教室如果插入数据时不想让这两个字段为空就可以在创建表时给这两个字段设置not null属性。 创建完毕之后查看表结构可以看到这两个字段是不允许为空的。 此时向表中插入记录时只有这两个字段都不为空时才能插入成功否则插入失败。 3. 默认值 default 如果某一个字段会经常性的出现某个值那么就可以考虑将这个值设置为字段的默认值。向表中插入数据时如果不给带有默认值的字段赋值那么就会使用默认值进行插入。 比如出现一个用户表表中包含用户的姓名、年龄和性别将用户的年龄默认设置为0将用户的性别默认设置为男。如下 比如创建一个表表当中包含用户的姓名、年龄和性别将用户年龄默认设置为0性别默认设置为男。 创建表后查看表结构可以发现默认值已经设置成功了。 此时向表中插入数据时如果不指明用户的年龄或者性别就会使用对应的默认值。 同时设置not null和default 一旦给某一字段设置了默认值那么该字段将不会出现空值因为就算插入数据时没有指明该字段的值也会使用该字段的默认值进行填充。而给某一字段设置not null属性的目的是约束该字段不能为空因此一个字段设置了default属性后再设置not null属性就没有意义了。 比如创建一个id表表当中包含姓名和id将id同时设置default和not null属性。 创完表之后查看表结构可以发现id字段是不允许为空的且其默认值为1。 此时在标准插入数据时可以不指明id进行插入此时会使用id的默认值。 4. 列描述 comment 列描述comment没有实际含义严格来讲也没有约束的作用就是专门用来描述字段它会根据表创建语句保存用来给程序员或DBA来进行了解,。 通过desc查不到注释信息 通过show可以看到 comment要说是约束也是约束用户的行为的在用户看到comment之后知道该插入什么不该插入什么。 5. zerofill int数值类型后面的圆括号中的数字代表的是显式宽度对应数值类型设置zerofill属性后如果数据的宽度小于设定的宽度则自动填充0。 比如创建一个表表当中包含a和b两列整形数据将它们的显示宽度都设置为5但是没有设置zerofill属性。如下 向表中插入一条记录指明a和b的值均为1由于我们没有给a和b字段设置zerofill属性因此查看表中数据时显示出来的都是1并没有显示宽度的概念。 修改表结构给a列添加上zerofill属性由于a列数据的显示宽度为5因此查看表中数据可以看到a列数据中宽度不足5位的数据都自动在前面填充0了。 需要注意的是zerofill属性的作用就是让数据以特定的方式进行显示而已数据底层的储存方式并没有发生变化通过hex函数可以看到a列中显示的00001在底层实际储存的还是1。 注hex函数可以将一个数字变成十六进制。 6. 主键 primary key 我们向表中插入一条条记录之后为了方便后续进行查找我们可以选择其中的某一字段作为键值key当需要查找记录时就可以根据这个键值key来查找对应的记录。主键用来唯一地约束该字段里面的数据表当中每条记录的主键既不能重复也不能为空并且一张表里面只能有一个主键此外主键所在的列通常是整数类型。 比如创建一个学生表表当中包含学生的学号和姓名由于学生的学号是不会重复的因此可以将其设置为主键。 创建表之后查看表结构可以看到id对应的key出现了PRI这表示我们已经成功将学号设置为这张表的主键了。此外虽然在创建表的时候没有给学号设置not null属性但由于主键本身就是不能为空的因此id默认也就不能为空了。 所谓的主键约束就是插入表中的记录的主键字段不能重复如果插入记录的主键与表中已有记录的主键重复这时就会因为主键冲突而插入失败。 使用下面图中的语句可以删除指定表的主键因为一个表只有一个主键因此删除主键时只用指明要删除哪种表的主键即可。比如这里删除学生表的主键后再查看表结构可以看到id对应的key列的PRI已经没有了。 当表没有主键的时候可以追加主键。 复合主键 一张表里面只能有一个主键但一个主键可以由多个字段来承担这种主键就叫做复合主键。复合主键用来唯一约束多个字段里面的数据表当中每条记录的这多个字段不能同时重复也不能为空。 比如创建一个进程表表当中包含进程的IP地址、端口号和进程的相关信息并将IP地址和端口号组合起来形成一个复合主键。 表创建完毕后查看表结构可以看到ip和port的Key列都有PRI标志并且它们都是不允许为空的。 向进程表中插入数据时只有插入进程的IP和端口均出现冲突时才会产生主键冲突否则就允许插入。 7. 自增长 auto_increment 设置了自增长属性的字段插入数据时如果不给该字段值那么系统会自动找出当前字段中已有的最大值将最大值进行加一后得到的值插入该字段。任何一个字段要做自增长前提是其本身必须是一个索引Key一栏有值并且自增长字段必须是数值类型一张表最多只能有一个自增长字段。自增长通常和主键搭配使用作为逻辑主键。一般而言建议将主键设计为域当前业务无关的字段避免因为业务逻辑的调整而需要修改主键。 比如创建一个表表当中包含id和name将id同时设置成主键和自增长字段。 创建表完毕后查看表结构可以看到id的Extra列中出现了auto_increment标志。 后续在插入时如果不指明自增长字段的值那么自增长字段的值就会一直递增。 当然插入记录的时候也可以指明自增长字段的值此时将会使用该值进行插入但注意指明的值不能和表中已有的id值重复。 一般自增长字段设置后就不需要手动为该字段插入值了直接让其从1开始进行自增长即可。 8. 唯一键 unique 一张表中往往有很多字段具有唯一性但一张表只能有一个主键而唯一键就可以解决表中有多个字段需要唯一性约束的问题。唯一键和主键都能保证字段中数据的唯一性但唯一键允许字段为空并且可以多个字段为空空字段不作唯一性比较。需要注意的是不是主键具有唯一性而是某个具有唯一性的字段被选择成为了主键而哪些不是主键但是同样需要唯一性约束的字段就应该设置成唯一键。 我们可以简单理解成主键更多的是标识唯一性的而唯一键更多的是保证在业务上不要和别的信息出现重复。 比如创建一个学生表表当中包含学生的id、姓名和电话号码将我们选择id作为主键但同时每个学生的电话号码也应该具有唯一性约束因此应该将电话号码设置成唯一键。 表创建完毕后查看表结构可以看到tel的Key列出现了UNI标志这就表明tel已经成功被设置成唯一键了。 此时向表中插入记录时如果插入记录中的电话号码与表中已有记录的电话号码出现重复那么就会因为唯一键冲突而插入失败。 9. 外键 foreign key 外键用于定义主表和从表之间的关系外键约束主要定义在从表上主表则必须有主键约束或unique约束。当定义外键后要求外键列数据必须在主键的主键列存在或为null。 比如先创建一个班级表作为主表表当中包含班级的id和班级名并将班级id设置为主键。 再创建一个学生表作为从表表当中包含学生的id、姓名以及学生所在班级对应的id并将学生表中的班级id列设置成外键关联到班级表中的班级id列。 表创建完毕后查看学生表的表结构可以看到学生表中的班级id对应的Key列出现了MUL标志这表明class_id已经成功被设置成了外键。 为了演示外键约束我们先向班级表中插入两条记录。 这时向学生表中插入记录时如果插入的记录对应的班级id是班级表中存在的或者插入的班级id为null那么此时是允许进行插入的否则就不允许。这就是外键约束 理论上来说我们创建班级表和学生表后就算不设置外键在语义上起始也已经有了外键但这样我们没法保证后续插入学生表的记录中的班级id的正确性。而我们给学生表中的班级id设置为外键后外键约束就能保证只有班级id在班级表中存在的记录才能插入学生表否则就会插入失败。实际建立外键的本质就是把相关性交给MySQL去审核了提前告诉MySQL表之间的约束关系当用户插入不符合业务逻辑的数据时MySQL就不允许你插入。
http://www.yutouwan.com/news/418184/

相关文章:

  • 哪些人需要建网站wordpress 家庭照片
  • mvc中手把手做网站wordpress杂志主题nana
  • pc 网站开发设计网络推广网上营销
  • 西安谁家的集团门户网站建设比较好网站运营需要多少钱
  • 电商网站后台惠州seo网络推广
  • 用jquery做网站成都网站优化seo
  • 太原企业自助建站网站产品详情用哪个软件做的
  • 招聘网站建设方案模板有个网站经常换域名
  • 广州企业网站建设哪家好建个短视频网站
  • 网站建设合同审批公司网站建设多少钱需要
  • 福州网站建设哪家强微信小程序与网站连接
  • 麦积区城乡建设局网站wordpress 站中站
  • 四川建设网官方网站wordpress静态化配置
  • 天津企业建站系统慈溪电商网站建设公司
  • 深圳建设交易信息网站wordpress社区插件
  • 深圳网站建设龙华新科洛阳网站搭建
  • dw网站建设的数据库中国肩章
  • 大庆市城乡建设局网站首页如何做网站的优化
  • 网站建设廴金手指花总壹柒织梦cms怎么安装
  • 建设网站的拓扑图濮阳网站关键词
  • 案例学 网页设计与网站建设网站建设先做后
  • 网站的建设需要多少钱phpcms和帝国cms哪个好
  • 商会信息平台网站建设方案微信公众号创建要钱吗
  • 鞍山云网站做网站的空间需要买吗
  • 专业微网站开发上海平面网站
  • 计算机网络技术网站开发做条形图的网站
  • 网站前端和后台免费空间建网站
  • 旅游网站开发的流程图公司形象墙设计效果图
  • 安徽工程建设造价信息网站个人门户网站备案
  • 网站美工工作流程凡科送审平台官网