MYSQL中的key(鍵)用于表示MySQL表中某一列或多列的值是否唯一。因為主鍵和唯一鍵都用于確保數據唯一性,所以它們是MySQL中最常用的key類型。
下面是一些常見的key類型及其對應的SQL語句:
-- 創建一個帶有自增長主鍵的表
CREATE TABLE MyTable (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(30) NOT NULL,
age INT,
email VARCHAR(50)
);
-- 創建一個唯一鍵
ALTER TABLE MyTable ADD UNIQUE (email);
-- 創建一個聯合主鍵(多列組合起來成為主鍵)
CREATE TABLE MyTable (
id INT,
name VARCHAR(30),
age INT,
PRIMARY KEY (id, name)
);
-- 創建一個外鍵
CREATE TABLE Employees (
id INT,
name VARCHAR(30),
department_id INT,
PRIMARY KEY (id),
FOREIGN KEY (department_id) REFERENCES Departments(id)
);
-- 創建一個全文索引
CREATE FULLTEXT INDEX idx_name ON MyTable(name);
值得注意的是,在MySQL中,索引(index)和key的概念經常混淆,它們不是完全一樣的。key是指ER模型中的鍵,它用于約束關系和維護數據的完整性;而索引則是一個數據結構,用于加快查詢速度。雖然一個key通常會涉及到創建一個索引,但是它們是不同的。