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

亿度网络 网站建设蛇口网站建设

亿度网络 网站建设,蛇口网站建设,深圳网页设计,北京装饰公司排行榜●#x1f9d1;个人主页:你帅你先说. ●#x1f4c3;欢迎点赞#x1f44d;关注#x1f4a1;收藏#x1f496; ●#x1f4d6;既选择了远方#xff0c;便只顾风雨兼程。 ●#x1f91f;欢迎大家有问题随时私信我#xff01; ●#x1f9d0;版权#xff1a;本文由[你帅… ●个人主页:你帅你先说. ●欢迎点赞关注收藏 ●既选择了远方便只顾风雨兼程。 ●欢迎大家有问题随时私信我 ●版权本文由[你帅你先说.]原创CSDN首发侵权必究。 为您导航表的约束空属性默认值zerofill主键自增长唯一键外键表的约束 真正约束字段的是数据类型但是数据类型约束很单一需要有一些额外的约束更好的保证数据的合法性从业务逻辑角度保证数据的正确性。比如有一个字段是email要求是唯一的。 表的约束很多这里主要介绍如下几个:null/not null,default, comment, zerofillprimary key auto_incrementunique key。 空属性 两个值null默认的和not null(不为空)。 数据库默认字段基本都是字段为空但是实际开发时尽可能保证字段不为空因为数据为空没办法参与运算。 在这里千万不要把空属性和C/C的联系起来它们之间没有任何关系这里的空和0也不是等价的。 默认值 默认值: 某一种数据会经常性的出现某个具体的值可以在一开始就指定好在需要真实数据的时候用户可以选择性的使用默认值。 mysql create table t1 (name varchar(20) not null, age tinyint unsigned default 0, sex char(2) default 男); Query OK, 0 rows affected (0.03 sec) mysql insert into t1(name) values(张三);此时发现虽然没有插入年龄和性别但表中已自动填入默认值。 zerofill 前面我们在创建表时经常会写int(11)不知道你有没有思考过这个11是什么含义整型不是4字节吗这个11又代表什么呢其实没有zerofill这个属性括号内的数字是毫无意义的。 mysql create table t2(a int(11) unsigned zerofill ); Query OK, 0 rows affected, 2 warnings (0.03 sec)mysql insert t2 value(5); Query OK, 1 row affected (0.01 sec)看到这边你也就能理解了括号里的数字代表位宽。 主键 主键:primary key用来唯一的约束该字段里面的数据不能重复不能为空一张表中最多只能有一个主键。主键所在的列通常是整数类型。 mysql create table t3 (id int unsigned primary key ,name varchar(20) not null); Query OK, 0 rows affected (0.03 sec)mysql insert t3 values(1,张三); Query OK, 1 row affected (0.01 sec) //值相同时不能插入 mysql insert t3 values(1,张三); ERROR 1062 (23000): Duplicate entry 1 for key t3.PRIMARY //主键值相同时也不能插入,保证了主键的唯一性 mysql insert t3 values(1,李四); ERROR 1062 (23000): Duplicate entry 1 for key t3.PRIMARYmysql insert t3 values(2,李四); Query OK, 1 row affected (0.00 sec) //当表创建好以后但是没有主键的时候可以再次追加主键 alter table 表名 add primary key(字段列表) //删除主键 alter table 表名 drop primary key; //复合主键 mysql create table tt14(id int unsigned, course char(10), score tinyint unsigned default 60,primary key(id, course) -- id和course为复合主键 );自增长 auto_increment:当对应的字段不给值会自动的被系统触发系统会从当前字段中已经有的最大值1操作得到一个新的不同的值。通常和主键搭配使用作为逻辑主键。 自增长的特点: 任何一个字段要做自增长前提是本身是一个索引key一栏有值自增长字段必须是整数一张表最多只能有一个自增长 mysql create table t4(id int unsigned primary key auto_increment,name varchar(10) not null default ); Query OK, 0 rows affected (0.02 sec)mysql insert t4(name) value(张三); Query OK, 1 row affected (0.00 sec)mysql insert t4(name) value(李四); Query OK, 1 row affected (0.00 sec)mysql insert t4(name) value(王五); Query OK, 1 row affected (0.00 sec)mysql show create table t4 \G; *************************** 1. row ***************************Table: t4 Create Table: CREATE TABLE t4 (id int unsigned NOT NULL AUTO_INCREMENT,name varchar(10) NOT NULL DEFAULT ,PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT4 DEFAULT CHARSETutf8mb3 1 row in set (0.00 sec) //我们发现表里面会保存auto_incremen下一次自增长的值这就是自增长的原理。唯一键 一张表中有往往有很多字段需要唯一性数据不能重复但是一张表中只能有一个主键唯一键就可以解决表中有多个字段需要唯一性约束的问题。 唯一键的本质和主键差不多唯一键允许为空而且可以多个为空空字段不做唯一性比较。 这样来看似乎主键和唯一键的区别就在于是否允许为空。 我们可以来验证一下 mysql create table t5( id int primary key not null, name varchar(20) ); Query OK, 0 rows affected (0.03 sec)mysql desc t5; ----------------------------------------------- | Field | Type | Null | Key | Default | Extra | ----------------------------------------------- | id | int | NO | PRI | NULL | | | name | varchar(20) | YES | | NULL | | ----------------------------------------------- 2 rows in set (0.00 sec) //我们惊奇的发现mysql直接把不为空的唯一键处理成了主键为什么要有唯一键 实际上这很好理解我们身上不可能只有一个属性具有唯一性在一个学校里面你的学号是唯一的我们可以设为主键但你的QQ号、微信号、身份证号难道就不是唯一的吗所以唯一键是用来约束非主键属性的列属性。 外键 外键用于定义主表和从表之间的关系:外键约束主要定义在从表上主表则必须是有主键约束或unique约束。当定义外键后要求外键列数据必须在主表的主键列存在或为null。 语法 foreign key (字段名) references 主表(列)mysql create table class( id int primary key, name varchar(30) not null ); Query OK, 0 rows affected (0.04 sec) mysql create table stu ( id int primary key, name varchar(30) not null , class_id int, foreign key (class_id) references class(id) ); Query OK, 0 rows affected (0.03 sec)mysql insert class values(1, 大数据1班),(2, 大数据2班); Query OK, 2 rows affected (0.00 sec) Records: 2 Duplicates: 0 Warnings: 0//不存在班级号为3的班级,故插入失败 mysql insert stu values(100, 张三,3); ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (mydb.stu, CONSTRAINT stu_ibfk_1 FOREIGN KEY (class_id) REFERENCES class (id))//存在班级号为2的班级,插入成功 mysql insert stu values(100, 张三,2); Query OK, 1 row affected (0.01 sec)外键和外键约束的区别: 外键是用来实现表和表之间关系的字段。 而外键约束实际上是让mysql去帮我们维护表之间的逻辑关系。 例如有一个学生表和一个班级表学生表有一个外键是班级编号班级表里有1和2两个编号当你想向学生表里插入班级编号为3的信息时无法插入这就是外键约束。 喜欢这篇文章的可以给个一键三连点赞关注收藏
http://www.eeditor.cn/news/124804/

相关文章:

  • 公司网站建设服务费计入什么科目php网站开发课程
  • 张家界建设企业网站名词解释 网站规划
  • 想建设一个网站wordpress 禁用 提示
  • 南京外贸网站建设哪家好博客网站怎么做cpa
  • wordpress 企业站主题新手学做网站下载
  • flashfxp上传网站公司简介英语作文
  • 济南手机网站建设公司报价深圳建设工程交易中心主页
  • 企业的网站建设文章小程序后端怎么开发
  • 建网站的要求青岛免费网站建设
  • 烟台牟平住房建设局网站网站制作答辩ppt怎么做
  • 国外优秀网站案例wordpress 字符转义
  • 响应式网站建设模板下载化妆品网站开发步骤
  • 永兴网站制作如何防止网站被注册
  • 做足球经理头像的网站如何注册公司名称
  • 做家教什么网站高端 网站开发
  • 潍坊网站优化培训石家庄网络平台推广
  • 如何给自己的公司做网站app定制软件开发
  • 苏州网站建设提供商网站开发公司需要哪些部门
  • 站长工具爱站网网站制作怎样盈利
  • 郑州网站建设老牌公司可以做高清思维导图的网站
  • 国外的做的比较优秀的网站有哪些怎么修改wordpress主题字体
  • 做现货IC电子网站的怎么查看网站解析
  • 网站建设 入门知识网站程序设置主页面
  • 工信部网站登陆昆明网站建设猫咪科技
  • 如何提升网站加载速度内部网站建设
  • 海淀团队组建网站网站提示建设中
  • 手机网站开发价格有什么可以做试卷题目的网站
  • 如何去国外网站看内容世界500强企业数量
  • 河源市建设厅网站湖南省建六公司官网
  • 建设通查项目经理WordPress搜索优化工具