日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL入门之数据完整性约束与表维护

發布時間:2025/3/15 数据库 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL入门之数据完整性约束与表维护 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

教程大綱:

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入门之数据完整性约束与表维护的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。