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 次瀏覽
當兩個表透過外部索引鍵連線,並且父表中的資料被刪除(該資料也在子表中存在),則以下方法可以維護資料完整性:ON DELETE CASCADE如果主表中外部索引鍵的值被刪除,此選項也會從子表中刪除該記錄。ON DELETE NULL 此選項會將子表中該記錄的所有值設定為 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 table_name DROP FOREIGN KEY constraint_name 此處 constraint_name 是我們在建立表時應用的外部索引鍵約束的名稱。如果未指定約束名稱,則 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+ 次瀏覽
從父表中刪除行時,如果該行的數劇在子表中使用,則由於 FOREIGN KEY 約束失敗,MySQL 將丟擲錯誤。可以用名為“customer”和“orders”的兩個表的例子來理解。這裡,“customer”是父表,“orders”是子表。我們不能從“customer”表中刪除在子表“orders”中使用的行。可以透過從父表中刪除值來演示這一點:mysql> Select * from Customer; +----+--------+ | id | name ... 閱讀更多
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允許我們在表的多個欄位上新增外部索引鍵約束。條件是子表中的每個外部索引鍵必須引用不同的父表。例如,假設我們有一個表“customer2”,該表在欄位“cust_unq_id”上具有主鍵約束,如下所示:mysql> describe customer2;+-------------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------------+-------------+------+-----+---------+-------+| cust_id | int(11) | YES | | NULL | || First_name | ... 閱讀更多