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

上海网站建设与设计海南网站建设粤icp备

上海网站建设与设计,海南网站建设粤icp备,个人网站怎么做口碑,易语言用电脑做网站服务器文章目录 一. 主键二. 自增长三. 唯一值四. 外键结束语 一. 主键 主键primary key 用来唯一的约束该字段里面的数据#xff0c;不能重复#xff0c;不能为空#xff0c;一张表最多只能有一个主键#xff0c;主键所在的列通常是整数类型 创建表时直接在字段上指定主键 mysq… 文章目录 一. 主键二. 自增长三. 唯一值四. 外键结束语 一. 主键 主键primary key 用来唯一的约束该字段里面的数据不能重复不能为空一张表最多只能有一个主键主键所在的列通常是整数类型 创建表时直接在字段上指定主键 mysql create table student(- id int primary key comment 学生id唯一且非空,- name varchar(6)- );mysql desc student; ---------------------------------------------- | Field | Type | Null | Key | Default | Extra | ---------------------------------------------- | id | int(11) | NO | PRI | NULL | | key中显示PRI | name | varchar(6) | YES | | NULL | | ----------------------------------------------主键约束非空且唯一 mysql insert into student values (1,张三); Query OK, 1 row affected (0.00 sec)mysql insert into student values (1,李四); ERROR 1062 (23000): Duplicate entry 1 for key PRIMARY可以在建表后追加主键 alter table 表名 add primary key(属性名); 删除主键 alter table 表名 drop primary key; 复合主键 虽然一张表只能有一个主键但是一个主键可以是多个属性 mysql create table student(- id int,- name varchar(6),- primary key(id,name) //id和name的复合主键- );mysql desc student; ---------------------------------------------- | Field | Type | Null | Key | Default | Extra | ---------------------------------------------- | id | int(11) | NO | PRI | NULL | | | name | varchar(6) | NO | PRI | NULL | | ----------------------------------------------如此id和name都不允许为空且不能重复两个都相同才算重复 二. 自增长 auto_increment当对应的字段不显示赋值时系统会赋值为当前字段中已经有的最大值1。通常和主键搭配使用 自增长的特点 任何一个字段是自增长前提是本身是一个索引key一栏有值自增长字段必须是整数一张表最多只能有一个自增长 mysql create table student(- id int unsigned primary key auto_increment,- name varchar(6)- );mysql show create table student \G; *************************** 1. row ***************************Table: student Create Table: CREATE TABLE student (id int(10) unsigned NOT NULL AUTO_INCREMENT,name varchar(6) DEFAULT NULL,PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mysql insert into student (name) values (张三); mysql insert into student (name) values (李四); mysql insert into student (name) values (王五);mysql select * from student; ------------ | id | name | ------------ | 1 | 张三 | | 2 | 李四 | | 3 | 王五 | ------------mysql show create table student \G; *************************** 1. row ***************************Table: student Create Table: CREATE TABLE student (id int(10) unsigned NOT NULL AUTO_INCREMENT,name varchar(6) DEFAULT NULL,PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT4 DEFAULT CHARSETutf8创建表时如果没有指定自增长的起始值默认为1 每次插入数据后MySQL会保存当前自增长属性的最大值1供下次插入使用 如果此时插入一个id500的那么MySQL保存的就是501 mysql insert into student (id,name) values (500,赵六);mysql show create table student \G; *************************** 1. row ***************************Table: student Create Table: CREATE TABLE student (id int(10) unsigned NOT NULL AUTO_INCREMENT,name varchar(6) DEFAULT NULL,PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT501 DEFAULT CHARSETutf8建表时还可以指定auto_increment的起始值 mysql create table student(- id int unsigned primary key auto_increment,- name varchar(6)- )auto_increment500; //指定自增长的起始值三. 唯一值 一张表往往有很多字段需要唯一性数据不能重复但是一张表只能有一个主键唯一键就可以解决表中多个字段需要唯一性约束的问题 唯一键和主键本质差不多唯一键允许为空而且可以多个为空空字段不作唯一性比较 应用场景 员工号和身份证。员工号作主键不允许为空且唯一但身份证同样不允许重复但又不能和员工号组成复合主键所以可以使用唯一键 mysql create table worker(- id int unsigned primary key auto_increment comment 员工工号,- telephone int unique comment 员工电话号,- name varchar(6) comment 员工姓名- );mysql insert into worker (telephone,name) values (123456,张三); mysql insert into worker (telephone,name) values (123456,李四); ERROR 1062 (23000): Duplicate entry 123456 for key telephonemysql insert into worker (telephone,name) values (NULL,李四); mysql insert into worker (telephone,name) values (NULL,王五);mysql select * from worker; ----------------------- | id | telephone | name | ----------------------- | 1 | 123456 | 张三 | | 3 | NULL | 李四 | | 4 | NULL | 王五 | -----------------------四. 外键 外键用于定义主表和从表之间的关系外键约束主要定义在从表上主表则必须有主键约束或唯一键约束。当定义外键后要求外键列数据必须在主表中存在或为NULL foreign key字段名 references 主表字段名 案例 如此课程表为主表学生表为从表 mysql create table course(- id int unsigned primary key,- name varchar(6)- ); mysql create table student( -id int unsigned primary key,-name varchar(6),-class_id int unsigned,-foreign key (class_id) references coursse(id)-);注意点 不允许在从表的外键中插入不存在于主表的数据主表对应外键在从表中有数据时不允许删除该外键 mysql insert into course values (001,高数课); Query OK, 1 row affected (0.00 sec)mysql insert into student values (100,张三,001); Query OK, 1 row affected (0.00 sec)//不允许在从表的外键中插入不存在于主表的数据 mysql insert into student values (200,李四,002); ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails (test_demo.student, CONSTRAINT student_ibfk_1 FOREIGN KEY (class_id) REFERENCES course (id)) //主表对应外键在从表中有数据时不允许删除该外键 mysql delete from table course where id001; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near table course where id001 at line 1结束语 感谢你的阅读 如果觉得本篇文章对你有所帮助的话不妨点个赞支持一下博主拜托啦这对我真的很重要。
http://wiki.neutronadmin.com/news/365652/

相关文章:

  • 网站开发方案网页设计师证书含金量高吗
  • 网上做网站接活怎么样宿州网站建设报价
  • 做网站的前端是做什么郑州品牌设计公司排行
  • 做酷炫网站能卖钱吗网络设计是啥
  • 网站后台关键词设置景观设计公司资质
  • 网站设计跟网站开发区别网站设置黑白色
  • 莱特币做空 网站如何组做网站
  • 网站建设中英版wordpress注册激活码
  • 做问卷调查赚钱的网站好宝塔 wordpress
  • 免费手机网站建设免费制作链接
  • 有没有做.net面试题的网站做网站时怎样分割
  • 在网上怎么做网站wordpress文章同步国外博客
  • 怎么做网站免费的上海市建设安全协会网站查询系统瘫
  • 瑞安外贸网站建设建设一个小说网站多少钱
  • 对接标准做好门户网站建设做网站服务器用国外的
  • 卡盟网站怎么做怎么在网站中添加百度商桥
  • 温州网站设计网站建设网站如何搭建网站后台
  • miniui做的网站做网站的那些个人工作室
  • 网站制作论文 优帮云wordpress文章版权声明
  • 太原 网站建设简约创意logo设计免费生成
  • it行业网站模板工商局网上注册公司流程
  • 巢湖自助建站系统黄冈资讯
  • 专业邯郸网站建设wordpress php apache
  • dede手机网站教程WordPress二级栏目代码
  • 淘宝网站c#设计怎么做网站外包建设 请示
  • 免费网站建设官网做电影网站服务器需求
  • 做网站有哪些按钮新手站长如何购买虚拟主机做网站
  • 如何做2级网站如何网站建设全包
  • 上海建设工程造价信息平台企业网站建设优化
  • 自己做的网站如何制作后台windows做网站服务器