-------------------------------------------------------------------------------------------------------------

教程大纲:

http://blog.csdn.net/qq78442761/article/details/76018310

-------------------------------------------------------------------------------------------------------------

1.数据完整性约束

一旦设定,服务器将随时检测

2.定义完整性

a) 实体完整性

b) 参照完整性

c) 用户定义完整性

实体完整性-主码不能为空

1.每一个表只能定义一个主键

2.复合主键不能包含不必要的多于列

3.一个列明在复合主键的列表中只能出现一次

4.作为列的完整性约束

以列的完整性约束定义主键:

候选约束性

在create table 或 alter table 语句中使用关键字 unique 来定义

一个表中只能创建一个主键,但可以定义若干个候选键

定义候选键结束时系统自动产生unique 索引

参照完整性

举一个列子,创建一个订单表,要求商品的订单表orders中的所有订购客户信息都在表customers中记录

Restrict vt. 限制;限定;约束

Reference n. 提及, 涉及

以上代码不难理解

用户定义完整性

1.非空约束 在某个列定义后面加上关键字 not null

2.check约束:

在orders中cust_id列的所有值均来源于表customers中的cust_id列

该约束可以对表中多个列进行限制

创建一个orders表,要求表中order_price 列的值不能低于2000,且order_amount 列不能高于5

命名完整性约束

可以完整性约束进行添加,删除和修改等操作

主要功能就是命名

创建一个order表,在原要求的基础上,将该表的主键约束命名为PRI-MARY_KEY_ORDERS,并将他们的外键说明命名为FOREIGN_KEY_ORDERS

Constraint  n. 强制; 限制, 约束

更新完整性约

使用alter table orders drop constraint FOREIGN_KEY_ORDERS

表维护语句

1.analyze table

更新数据库中表customers1的索引散列程度,并查询结果

chck table语句

1.Upgrade:用来检测更早版本的表是否兼容当前版本

2.Quick:速度快,在检查数据时不会检查连接是否正确

3.fast:检查表是否正常关闭

4.changed:检查上次检查后更改的表以及有没有正常关闭

5.medium:默认选项,检查索引和文件之间的链接真确性

6.extended:最慢的选择,对每行的所有关键字进行查找

使用check table 语句检查数据库中的 customers1

查询数据库中表customers1的相关检查信息

Checksum table 语句

对数据库中到底每一个表进行校验和

如下所示:

Optimize table 语句

重新利用未使用的空间,并整理数据文件的碎片

如下操作

Repair table 语句

修复一个或多个可能被损坏的表

Use_frm 当myi索引丢失时才用

MySQL入门之数据完整性约束与表维护相关推荐

  1. mysql数据库崩溃恢复_MySQL数据库表维护和崩溃恢复

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 你可以使用myisamchk实用程序来获得有关你的数据库表的信息或检查.修复.优化他们.下列小节描述如何调用myisamchk(包括它的选项的描述),如何 ...

  2. Mysql数据库删除数据后,表文件收缩

    Mysql删除数据并收缩文件空间的两种方法: 一种是用DELETE talbexxx,这种方法删除数据后,表文件空间是没有变小的,这时候需要用命令: OPTIMIZE TABLE talbexxx; ...

  3. 记录一次MySQL两千万数据的大表优化解决过程,提供三种解决方案

    问题概述 使用阿里云rds for MySQL数据库(就是MySQL5.6版本),有个用户上网记录表6个月的数据量近2000万,保留最近一年的数据量达到4000万,查询速度极慢,日常卡死.严重影响业务 ...

  4. 记录一次MySQL两千万数据的大表优化解决过程,提供三种解决方案 1

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:王帅 来源地址:https://yq.aliyun.com/ ...

  5. 干 MySQL 两千万数据的大表优化解决过程,三种厉害的解决方案

    问题概述 使用阿里云rds for MySQL数据库(就是MySQL5.6版本),有个用户上网记录表6个月的数据量近2000万,保留最近一年的数据量达到4000万,查询速度极慢,日常卡死.严重影响业务 ...

  6. 【转载文章】记录一次MySQL两千万数据的大表优化解决过程,提供三种解决方案...

    问题概述 使用阿里云rds for MySQL数据库(就是MySQL5.6版本),有个用户上网记录表6个月的数据量近2000万,保留最近一年的数据量达到4000万,查询速度极慢,日常卡死.严重影响业务 ...

  7. MySql定期备份数据到历史表的解决方案

    前言 互联网项目最大不瓶颈还是在于数据库,80%的数据请求只针对20%的数据:特别是电商项目,体现的更为明显,大量的数据请求,即使MySql在一主多从,读写分离,使用了Elasticsearch.Me ...

  8. 再见,数据库!MySQL千亿数据分库分表架构,堪称惊艳!

    孙玄,江湖人称"玄姐",前58集团技术委员会主席,前转转二手交易平台首席架构师.今天想跟你聊点儿企业里那些年薪百万的架构师,他们的架构设计思维是如何升级的. 话不多说,咱们直接来聊 ...

  9. MySQL入门之大纲

    本节是讲解MySQL的入门教程,此教程是去年2016年做的,在此整理好,发布到了CSDN上: 此教程简单为MySQL入门教程.下面是涉及的内容: MySQL入门之数据库介绍及MySQL介绍 http: ...

最新文章

  1. linux开发神器--Tmux
  2. JS文件中加载jquery.js(JS文件添加其他JS文件)
  3. [007]C++---写一个函数,返回它自己
  4. python编程小学生学好吗-连小学生都在学的Python,究竟就业方向有哪些?
  5. 【小松教你手游开发】【unity实用技能】计算目标物体是否在自己的扇形视野范围...
  6. 得到鹅厂最新前端开发手册一份
  7. python读取xls文件详解_python3解析excel文件
  8. 深入理解DOM节点类型第六篇——特性节点Attribute
  9. pat乙级 1014 java_pat乙级1014 福尔摩斯的约会
  10. 水滴石穿之页面遮罩层实现、向window.open()打开的窗口POST数据
  11. [GO]结构体成员的使用:普通变量
  12. python定位网页元素_python爬虫技术:如何定位网页上的内容?xpath定位元素
  13. 初识 InnoDB存储引擎
  14. 未能加载文件或程序集问题
  15. pdf怎么提取页面,pdf页面提取方法
  16. ensp模拟器使用USG6000V防火墙模拟搭建点到点的IPSec 隧道(web网页版)
  17. 【瑞模网】3dmax渲染完就卡住不动,渲染崩溃是怎么回事?
  18. 每秒上万并发下的Spring Cloud性能优化之道
  19. 小学生灯谜计算机,小学生谜语大全
  20. linux下webservice压力测试,pylot压力测试支持linux及windowsWebService性能及扩展性的工具.docx...

热门文章

  1. 你真的了解 “开源” 么?请查收【保姆级】开源百科
  2. C++程序设计语言编程风格演变史
  3. 30个Python常用极简代码,拿走就用,赶紧收藏!
  4. 聊聊 Python 调用 JS 的几种方式,你都知道吗?
  5. 重磅!尤雨溪公布 Vue 3.0 开发路线
  6. 我想重构网站的前端!不,你不想....
  7. fopen的路径怎么写_用C++写光线追踪:单根光线的渲染
  8. 怎么在html5中插入vr,HTML5:2分钟给VR场景加交互
  9. 还在担心没有服务器做不了数据分析?这个免费资源看一下!
  10. 主成分分析的可视化展示