找到關於 MySQL 的4379 篇文章

如何建立多列唯一索引?

Sai Subramanyam
更新於 2020-01-28 06:26:06

76 次檢視

建立多列唯一索引需要在多列上指定索引名稱。以下示例將在“employee”表的“empid”、“first_name”、“last_name”列上建立一個名為“id_fname_lname”的多列索引:mysql> Create UNIQUE INDEX id_fname_lname on employee(empid, first_name, last_name); Query OK, 0 rows affected (0.41 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> describe employee; +------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+-------+ | empid | int(11) | YES | MUL | NULL | | | first_name | varchar(20) | YES | | NULL | | | ... 閱讀更多

如何從 MySQL 表中刪除唯一約束?

George John
更新於 2020-01-28 06:27:37

5K+ 次檢視

要從 MySQL 表中刪除唯一約束,首先必須檢查表上由唯一約束建立的索引名稱。我們知道 SHOW INDEX 語句用於此目的。“key_name”在 SHOW INDEX 語句的結果集中包含索引的名稱。現在,我們可以使用 DROP INDEX 語句或 ALTER TABLE 語句刪除唯一約束。這兩個語句的語法如下:語法DROP INDEX index_name ON table_name; 或 ALTER TABLE table_name DROP INDEX index_name;示例假設我們有表… 閱讀更多

如何檢查在 MySQL 表上由唯一約束建立的索引?

karthikeya Boyini
更新於 2020-06-19 11:48:25

462 次檢視

SHOW INDEX 語句用於檢查在 MySQL 表上由唯一約束建立的索引。語法SHOW INDEX from table_name;示例假設我們有表“empl”,它在列“empno”上有一個唯一約束。mysql> describe empl; +--------+-------------+------+-----+---------+-------+ | Field  | Type        | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | empno  | int(11)     | YES  | UNI | NULL    |       | | F_name | varchar(20) | YES  |     | NULL    |       | +--------+-------------+------+-----+---------+-------+ 2 rows in set (0.23 sec)現在我們知道… 閱讀更多

除了 ALTER TABLE 語句之外,還有哪個語句可以用於將唯一約束應用於現有 MySQL 表的欄位?

Rishi Raj
更新於 2020-06-19 11:48:53

90 次檢視

CREATE UNIQUE INDEX 語句也可用於將唯一約束應用於現有 MySQL 表的欄位。其語法如下:CREATE UNIQUE INDEX index_name ON table_name(Column_name);示例假設我們有以下名為“Test5”的表,並且我們想將唯一約束新增到列“ID”,那麼可以使用 CREATE UNIQUE INDEX 命令如下完成:mysql> DESCRIBE TEST5; +-------+-------------+------+-----+---------+-------+ | Field | Type        | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | ID    | int(11)     | YES  |   ... 閱讀更多

如何將唯一約束應用於現有 MySQL 表的欄位?

Swarali Sree
更新於 2020-06-19 11:47:43

438 次檢視

我們可以使用 ALTER TABLE 語句將唯一約束應用於現有 MySQL 表的列。語法ALTER TABLE table_name MODIFY colum_name datatype UNIQUE;                     或 ALTER TABLE table_name ADD UNIQUE (colum_name);示例假設我們有以下名為“Test4”的表,並且我們想將唯一約束新增到列“Name”,那麼可以使用 ALTER TABLE 命令如下完成:mysql> DESCRIBE test4; +-------+-------------+------+-----+---------+-------+ | Field | Type        | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | ID   ... 閱讀更多

如何在具有 NOT NULL 約束的 MySQL 表的字元型別列中插入 NULL 關鍵字作為值?

Kumar Varma
更新於 2020-06-19 11:31:09

175 次檢視

完全可以將 NULL 關鍵字作為值插入具有 NOT NULL 約束的字元型別列中,因為 NULL 本身就是一個值。以下示例將展示這一點:示例假設我們有一個名為 test2 的表,它有一個字元型別列“Name”,並且在其上具有 NOT NULL 約束。可以使用 DESCRIBE 語句檢查它,如下所示:mysql> Describe test2\G *************************** 1. row ***************************   Field: id    Type: int(11)    Null: NO     Key: Default: NULL   Extra: *************************** 2. row ***************************   Field: NAME    Type: varchar(20)    Null: NO     Key: ... 閱讀更多

如何從現有 MySQL 表的列中刪除 NOT NULL 約束?

Lakshmi Srinivas
更新於 2020-06-19 11:29:02

7K+ 次檢視

我們可以使用 ALTER TABLE 語句從現有表的列中刪除 NOT NULL 約束。示例假設我們有一個名為“test123”的表,它在列“ID”上有一個 NOT NULL 約束,如下所示:mysql> DESCRIBE test123; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra    | +-------+---------+------+-----+---------+-------+ | ID    | int(11) | NO   |     |   NULL  |       | | Date  | date    | YES  |     |   NULL  |       | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.04 sec)如果我們… 閱讀更多

當我們使用 ALTER TABLE 語句將 NOT NULL 約束應用於包含 NULL 值的列時會發生什麼情況?

karthikeya Boyini
更新於 2020-06-19 11:26:11

203 次檢視

在這種情況下,MySQL 將返回一條關於該列資料被截斷的錯誤訊息。以下是一個演示它的示例:示例假設我們有一個名為“test2”的表,它在第 2 行的列“ID”中包含一個 NULL 值。現在,如果我們嘗試將列 ID 宣告為 NOT NULL,則 MySQL 將返回以下錯誤:mysql> Select * from test2; +------+--------+ | ID   | Name   | +------+--------+ | 1    | Gaurav | | NULL | Rahul  | +------+--------+ 2 rows in set (0.00 sec) mysql> ALTER TABLE TEST2 MODIFY ID INT NOT NULL; ERROR 1265 (01000): Data truncated for column 'ID' at row 2

如何將 NOT NULL 約束應用於現有 MySQL 表的列?

Jai Janardhan
更新於 2020-06-19 11:27:51

342 次檢視

我們可以使用 ALTER TABLE 語句將 NOT NULL 約束應用於現有 MySQL 表的列。語法ALTER TABLE table_name MODIFY colum_name datatype NOT NULL; 示例mysql> Create table test123(ID INT, Date DATE); Query OK, 0 rows affected (0.19 sec) mysql> Describe test123; +-------+---------+------+-----+---------+-------+ | Field | Type    | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | ID    | int(11) | YES  |     | NULL    |       | | Date  | date    | YES  |     | NULL    |       | +-------+---------+------+-----+---------+-------+ ... 閱讀更多

什麼是 MySQL NOT NULL 約束?如何在建立表時將欄位宣告為 NOT NULL?

Samual Sam
更新於 2020-06-19 11:24:42

342 次檢視

實際上,MySQL 的 NOT NULL 約束限制表的一列不能具有 NULL 值。一旦我們將 NOT NULL 約束應用於某列,我們就不能向該列傳遞空值。它不能在整個表上宣告,換句話說,我們可以說 NOT NULL 是列級約束。要宣告一個欄位為 NOT NULL,我們在 CREATE TABLE 語句中定義列時必須使用 NOT NULL 關鍵字。例如:
mysql> Create table Employee(ID Int NOT NULL, First_Name Varchar(20), Last_name Varchar(20), Designation Varchar(15));
Query OK, 0 rows affected (0.59 sec)
在上面的查詢中,... 閱讀更多

廣告