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

网站不同唐山制作网站软件

网站不同,唐山制作网站软件,系统开发工程师,wordpress文件权限设置主外键 主键(唯一性,非空性) 主键是数据库表中的一个或多个字段,其值唯一标识表中的每一行/记录。 唯一性: 主键字段中的每个值都必须是唯一的,不能有两个或更多的记录具有相同的主键值 非空性:主键字段不能包含NULL值。 外键(引用完整 …

主外键

主键(唯一性,非空性)

主键是数据库表中的一个或多个字段,其值唯一标识表中的每一行/记录。

唯一性: 主键字段中的每个值都必须是唯一的,不能有两个或更多的记录具有相同的主键值

非空性:主键字段不能包含NULL值。

外键(引用完整 防无效数据)

引用完整性:确保引用的数据存在。

防止无效数据:通过限制可以在外键字段中输入的值,可以防止无效数据的插入。

作用

如果想要删除含主键的表的话,需要解除外键否则是不允许删除的 ,提高了安全保密性

其次链接了主键的字段名的外键的字段名如果超出含主键字段名的数据的范围 ,可以控制用户不会乱输入,确保了表的规范性

如果主键不唯一的话,也不会让其插入(更新) ,防止了数据重复录入

模版

CREATE TABLE 表名(字段名 字段类型 NOT NULL PRIMARY KEY...);
//创建一个order创建一个表,因为order是关键字所以用反引号包裹
CREATE TABLE 表名(字段名 字段类型...,FOREIGN KEY (字段名) REFERENCES 引用的表(字段名有主键)
 

CREATE TABLE `order`(order_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,item VARCHAR(10));
//创建一个order创建一个表,因为order是关键字所以用反引号包裹
CREATE TABLE personnel(personnel_id INT NOT NULL PRIMARY KEY ,name VARCHAR(10));
//创建一个人员表
CREATE TABLE personnelNeeded(order_id INT NOT NULL ,personnel_id INT NOT NULL ,satisfaction INT,moneyAmount DOUBLE,FOREIGN KEY (order_id) REFERENCES `order`(order_id),FOREIGN KEY (personnel_id) REFERENCES personnel(personnel_id),PRIMARY KEY (order_id,personnel_id))
//外键连接order表中的order_id和personnel表中的personnel_id

需要注意的是可以使用 AUTO_INCREMENT来实现每插入一行,数据会自增一

插入

注意的是 PRIMARY KEY是唯一

如果是多个组合在一起的话,只要有一个 PRIMARY KEY就可以录入到含外键的表,

#插入单字字段名的数据(含主键)
INSERT INTO `order`(item) VALUES ('苹果'),('李子'),('香蕉'),('橙子'),('水蜜桃'),('牛油果');
SELECT * FROM `order`;
#插入多字字段名的数据(含主键)
INSERT INTO personnel VALUES (1,'张四'),(2,'张五'),(3,'张六'),(4,'张七'),(5,'张八');
SELECT * FROM personnel;
#插入多字字段名的数据(含外键)
INSERT INTO personnelNeeded VALUES (1,2,5,300),(1,3,5,500),(2,2,5,700),(3,2,5,400),(4,2,5,800),(5,4,3,300);
 查询

通过外键查询主键其他的字段名下的数据

单主外键相连

关键字JOIN 含主键的表 (可以取别名) ON 含主键的表.字段名 (当前外键的表).字段名

SELECT (item) FROM personnelneeded 
JOIN `order` o on o.order_id = personnelNeeded.order_id;

多主外键相连 
变化的是SElECT 后的查询字段名 已经join后面在加一个含主键表的字段名

SELECT item,name FROM personnelneededJOIN `order` o on o.order_id = personnelNeeded.order_id 
JOIN personnel p on personnelNeeded.personnel_id = p.personnel_id;

视图

作用

提高重用性:视图相当于一个虚拟表,它可以使复杂的SQL查询语句变得简单,减少复杂SQL语句的使用频次

数据库重构:当需要修改数据库结构时,通过使用视图,可以不修改脚本程序的功能。也就是说,对数据库进行重构,不会影响到基于视图的程序的运行

提高安全性:视图可以对不同的用户设定不同的权限,提供不同的数据视图 ,无法修改变结构

据清晰化:视图可以按需创建,只包含用户关心的数据,使得数据更加清晰,方便用户理解和使用。 

这边我们使用一个视图将通过外键查询的字段名来创建一个虚拟的表

CREATE VIEW 视图名称 AS
 SELECT 字段名

FROM 含外键的表
JOIN 含主键的表 (别名)on(别名).(主键字段名) =含外键的表.外键的字段名
 

CREATE VIEW  orderView ASSELECT name,item FROM personnelNeeded 
JOIN `order` o on o.order_id = personnelNeeded.order_id 
JOIN personnel p on p.personnel_id = personnelNeeded.personnel_id;

巧学巧记

主键唯一标识 ,外键引用主键用 REFERENCES指向某含主键表

主键非空,外键调用主键时候必须符合主键已录入的数据

外键想要查询主键中的其他字段名下数据 需要用主键字段名链接外键字段名

关键字 JOIN 主键表 (别名) ON 别名.主键字段名= 外键表名.主键字段名

视图可以限制用户权限,不会更改表结构

http://www.yayakq.cn/news/479582/

相关文章:

  • 大型电子商务网站建设公司深圳网站建设制作哪家口碑好
  • 设计logo找什么公司长沙网站seo服务
  • 在线网站制作平台程序开发的基本步骤是什么?
  • 台州网站建设方案托管中国建筑人才网是什么网站
  • 飞飞cms悠悠电影网站新闻最新消息
  • 南昌旅游集团网站建设做外贸如何建立网站平台
  • 宁波优质网站制作哪家好用mui做的网站
  • 做网站和做app哪个容易山东平台网站建设方案
  • 合肥网站建设方案案例微信公众平台开发流程
  • 找别人做网站 自己管理网站视频无法播放怎么办
  • 九易建网站的建站流程拼多多采用了哪些网络营销方式
  • 广州开发网站平台注册城乡规划师2021
  • 网站代发怎么做网页制作步骤图文
  • 网站设计方案及报价单家乡网页设计教程
  • 大数据和网站建设保世基官方网站建设
  • 建设局网站安全自查情况报告关键词分词工具
  • 品质好的网站制作怎么样自己创建网站
  • 创新的o2o网站建设wordpress 汽车主题
  • 培训平台网站怎么做一个公众号
  • 做全屏网站设计时容易犯的错易语言怎么做网页网站
  • 工信部网站首页wordpress文档编辑器
  • 网站购买平台定制网络开发软件
  • 美食网站建设网站原型图软件
  • dede批量建站广州市研发网站建设多少钱
  • 建设证书查询官方网站怎么做有趣的短视频网站
  • 适合0基础网站开发软件做门户网站私活多少钱
  • 哈尔滨网站制作工程新中式装修风格样板房
  • 自建个网站怎么做网站制作 合同
  • 网站改版的方式聚美优品网站建设项目规划书
  • 深圳市南山区建设局网站网站建设常用的方法