5K+ 次檢視
CHAR 和 VARCHAR 都是 ASCII 字元資料型別,並且幾乎相同,但它們在從資料庫儲存和檢索資料時有所不同。以下是 MySQL 中 CHAR 和 VARCHAR 之間的一些重要區別:CHAR 資料型別VARCHAR 資料型別全稱是 CHARACTER全稱是 VARIABLE CHARACTER以固定長度儲存值,並用空格字元填充以匹配指定的長度VARCHAR 以可變長度儲存值,以及 1 位元組或 2 位元組的長度字首,並且不使用任何字元填充最多可容納 255 個字元。最多可容納 65,... 閱讀更多
609 次檢視
CHAR 和 NCHAR 都是固定長度字串資料型別。它們有以下區別:CHAR 資料型別NCHAR 資料型別全稱是 CHARACTER。全稱是 NATIONAL CHARACTER使用 ASCII 字元集使用 Unicode 字元集,資料以 UTF8 格式儲存每個字元佔用 1 位元組空間。每個字元佔用 2 位元組空間mysql>create table hello1(name CHAR(20)); Query OK, 0 rows affected (0.15mysql>create table hello(name NCHAR(20)); Query OK, 0 rows affected (0.61
285 次檢視
當兩個表透過外部索引鍵連線,並且父表中的資料被刪除時,子表中也存在該記錄,那麼以下是一些維護資料完整性的方法:刪除級聯此選項也將從子表中刪除記錄,如果該外部索引鍵值從主表中刪除。刪除置空此選項將把子表中該記錄的所有值設定為 NULL,其中外部索引鍵值從主表中刪除。
251 次檢視
我們可以使用以下語句停用外部索引鍵檢查:mysql> Set foreign_key_checks = 0; Query OK, 0 rows affected (0.00 sec)我們可以使用以下語句啟用它:mysql> Set foreign_key_checks = 1; Query OK, 0 rows affected (0.00 sec)停用外部索引鍵檢查的一些好處如下:停用外部索引鍵檢查後,我們可以以任何順序將資料載入到父表和子表中。否則,我們必須先將資料載入到父表,然後再載入到子表中。如果不停用外部索引鍵檢查,我們就無法刪除... 閱讀更多
10K+ 次檢視
我們可以使用 DROP 關鍵字以及 ALTER TABLE 語句從現有表的列中刪除 FOREIGN KEY 約束。語法 ALTER TABLE 表名 DROP FOREIGN KEY 約束名這裡的約束名是我們建立表時應用的外部索引鍵約束的名稱。如果沒有指定約束名,則 MySQL 將提供約束名,可以透過 SHOW CREATE TABLE 語句檢查。示例以下查詢將從“orders”表中刪除 FOREIGN KEY 約束: mysql> Alter table orders DROP FOREIGN KEY orders_ibfk_1; Query OK, 0 rows affected (0.22 sec) ... 閱讀更多
173 次檢視
為數字列指定 ZEROFILL 時,MYSQL 會自動在欄位的顯示值中填充零,直到列定義中指定的顯示寬度。例如,我們建立一個表 showzerofill 並插入如下值:mysql> Create Table showzerofill(Val1 INT(5) ZEROFILL, Val2 INT(5)); Query OK, 0 rows affected (0.09 sec) mysql> Insert into showzerofill(Val1, Val2) values(1, 1>, , , , ; Query OK, 5 rows affected (0.03 sec) Records: 5 Duplicates: 0 Warnings: 0現在我們可以輕鬆理解 ZEROFILL 對列 Val1 值的影響。ZEROFILL 在數字中填充零... 閱讀更多
1K+ 次檢視
從父表中刪除行時,如果該行的數
153 次檢視
實際上,外部索引鍵強制引用完整性,這有助於我們自動維護資料的一致性和完整性。可以使用名為“customer”和“orders”的兩個表的示例來理解這一點。“customer”是父表,“orders”是子表。我們不能為不存在的客戶建立訂單。可以透過在兩個表中插入值來演示這一點:mysql> Select * from Customer; +----+--------+ | id | name | +----+--------+ | 1 | Gaurav | | 2 | Raman | | 3 | Harshit| | 4 | Aarav | ... 閱讀更多
384 次檢視
父表和子表之間的關係是一對多關係。可以使用名為“customer”和“orders”的兩個表的示例來理解這一點。“customer”是父表,“orders”是子表。這種關係是一對多,因為一個客戶可以有多個訂單。可以透過在兩個表中插入值來演示這一點:mysql> Select * from Customer; +----+---------+ | id | name | +----+---------+ | 1 | Gaurav | | 2 | Raman | | 3 | Harshit | | 4 | Aarav | +----+---------+ ... 閱讀更多
805 次檢視
MySQL 允許我們在表中的多個欄位上新增 FOREIGN KEY 約束。條件是子表中的每個外部索引鍵都必須引用不同的父表。示例假設我們有一個表“customer2”,它在欄位“cust_unq_id”上有一個主鍵約束,如下所示:mysql> describe customer2; +-------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+-------+ | cust_id | int(11) | YES | | NULL | | | First_name | ... 閱讀更多