1.數據庫的基本操作
(1)創建數據庫
(2)刪除數據庫
(3)將數據庫的字符集修改為gbk
gbk是漢字內碼擴展規范,是GB2312和GB13000的擴展,主要用于簡體中文。
(4)切換數據庫
2.數據表的基本操作
數據庫中的數據表是數據庫結構的基本組成部分,用于存儲數據的集合。數據表通常也被稱為關系、表或簡單稱為表。以下是數據表的一些基本概念:
-
結構化數據:數據表以結構化的方式存儲數據,通常由行(記錄)和列(字段)組成。每一列代表數據的一個特定屬性,每一行代表一個數據項。
-
列(字段):數據表的每一列都有一個特定的數據類型,如整數、浮點數、字符串、日期等,這決定了該列可以存儲哪些類型的數據。
-
行(記錄):數據表的每一行代表一個數據記錄。例如,在一個員工表中,每一行可能代表一個員工的詳細信息。
-
主鍵:數據表中的一列或多列可以被指定為主鍵,用于唯一標識表中的每條記錄。主鍵的值必須是唯一的,不能為NULL。
-
外鍵:外鍵是表中的一列或多列,它在另一個表的主鍵中存在,用于建立兩個表之間的關聯。
-
索引:為了提高查詢效率,可以在數據表的列上創建索引。索引可以幫助數據庫管理系統快速定位到表中的特定數據。
-
約束:約束用于限制可以插入表中的數據的類型。常見的約束包括非空(NOT NULL)、唯一(UNIQUE)、主鍵(PRIMARY KEY)和外鍵(FOREIGN KEY)。
-
表關系:數據表之間可以存在不同的關系,如一對一、一對多和多對多關系。這些關系通過外鍵約束來實現。
-
視圖:視圖是基于查詢的表的表示形式,它像一個虛擬表,可以包含來自一個或多個數據表的數據。
-
存儲過程和觸發器:存儲過程是一組為了執行特定任務而預編譯的SQL語句,而觸發器是與表相關聯的特殊的存儲過程,它在特定數據庫操作(如INSERT、UPDATE或DELETE)執行時自動觸發。
-
規范化:數據庫規范化是設計數據庫表的過程,目的是減少數據冗余和提高數據完整性。
-
數據完整性:數據表設計時需要考慮數據完整性,確保數據的準確性和一致性。
數據表是數據庫操作的核心,通過它們可以執行插入、查詢、更新和刪除操作。設計良好的數據表結構可以提高數據庫的性能和可維護性。
注意:在操作數據表之前應使用“USE 數據庫名;”指定操作是在哪個數據庫中進行先關操作,否則會拋出“No database selected”錯誤。
(1)創建數據表
(2)查看數據表,查看表達字段信息
(3)修改數據表
3.數據表的約束
(1)主鍵約束
在MySQL中,主鍵(Primary Key)是一種特殊的唯一性約束,用于唯一標識表中的每條記錄。主鍵在數據庫表中扮演著重要的角色,以下是主鍵的一些關鍵特性和作用:
-
唯一性:主鍵的值必須是唯一的,不能有重復的記錄。這意味著表中的每一行都有一個不同的主鍵值。
-
非空(NOT NULL):主鍵列不能接受NULL值。每個記錄都必須有一個有效的主鍵值。
-
唯一標識:主鍵用于唯一標識表中的每一行,是數據表中記錄的唯一標識符。
-
性能優化:主鍵通常被用來創建索引,這可以提高查詢效率。
-
外鍵關聯:主鍵可以被其他表的外鍵引用,以建立表之間的關系。
-
自動增長:在MySQL中,如果需要,可以設置主鍵列為自增(AUTO_INCREMENT)。這樣,每次插入新記錄時,主鍵列的值會自動遞增,無需手動指定。
-
一個表只有一個主鍵:雖然一個表可以有多個唯一索引,但只能有一個主鍵。
-
數據完整性:主鍵約束有助于維護數據的完整性,確保每個記錄都可以被唯一地識別。
-
索引順序:在MySQL的InnoDB存儲引擎中,如果沒有特別指定,主鍵將被用作表的聚簇索引(clustered index)。
(2)非空約束
(3)默認值約束
(4)唯一性約束
(5)外鍵約束
外鍵約束即FOREIGN KEY常用于多張表之間的約束。
外鍵約束(Foreign Key Constraint)在數據庫管理系統中用于維護不同數據表之間的鏈接和數據的引用完整性。以下是外鍵約束的主要用途:
-
維護引用完整性: 外鍵約束確保一個表中的每條記錄在另一個表中都有對應的引用。這有助于保持數據的一致性和準確性。
-
建立表之間的關系: 外鍵用于在兩個表之間建立鏈接,通常是一個表的某個字段指向另一個表的主鍵。
-
數據完整性: 外鍵約束強制實施數據完整性規則,防止無效或不一致的數據被插入到數據庫中。
-
級聯操作: 外鍵約束可以定義級聯規則,例如,當主鍵表中的記錄被更新或刪除時,外鍵表中相應的記錄可以自動更新或刪除。
-
簡化查詢: 通過外鍵關系,可以簡化連接查詢,因為數據庫可以更容易地識別表之間的關系。
-
數據一致性: 在分布式數據庫系統中,外鍵約束有助于保持數據的一致性,即使數據分布在不同的地理位置。
-
防止孤立記錄: 外鍵約束可以防止在刪除主鍵表中的記錄時,外鍵表中仍然存在指向該記錄的引用,從而避免孤立記錄的產生。
-
提供數據導航: 外鍵關系為數據庫提供了一種導航方式,使得從一個表到另一個表的數據訪問更加直觀和方便。
-
優化性能: 在某些情況下,外鍵可以作為數據庫查詢優化的一部分,幫助數據庫管理系統更有效地組織數據和索引。
-
支持事務: 外鍵約束支持事務性操作,確保數據庫操作的原子性,一致性,隔離性和持久性(ACID屬性)。
-
數據建模: 在數據庫設計階段,外鍵約束是數據模型中的重要部分,有助于定義數據表之間的關系。
外鍵約束是關系型數據庫管理系統中的一個基本特性,對于確保數據庫中數據的完整性和一致性至關重要。在設計數據庫時,合理使用外鍵可以大大提高數據管理的效率和質量。
-- 在創建數據表時語法如下:
CONSTRAINT 外鍵名 FOREIGN KEY (從表外鍵字段) REFERENCES 主表 (主鍵字段)
-- 將創建數據表創號后語法如下:
ALTER TABLE 從表名 ADD CONSTRAINT 外鍵名 FOREIGN KEY (從表外鍵字段) REFERENCES 主表 (主鍵字段);
4.數據一致性
建立外鍵是為了保證數據的完整和統一性。但是,如果主表中的數據被刪除或修改從表中對應的數據該怎么辦呢?很明顯,從表中對應的數據也應該被刪除,否則數據庫中會存在很多無意義的垃圾數據。
(1)刪除外鍵
注意:
1、從表里的外鍵通常為主表的主鍵
2、從表里外鍵的數據類型必須與主表中主鍵的數據類型一致
3、主表發生變化時應注意主表與從表的數據一致性問題