MySQL中的外鍵和主鍵是非常重要的概念,它們之間存在著緊密的關系。
首先,主鍵是一列或多列的組合,它們的值可以唯一地標識關系表中的每一行數據。主鍵通常是一個自增的整數,這樣可以保證每條數據都有一個唯一的標識符。
CREATE TABLE employee ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20) NOT NULL, department VARCHAR(30) NOT NULL, salary DECIMAL(10,2) NOT NULL );
上面的代碼創建了一個名為employee的表,其中id列是主鍵。
與主鍵對應的是外鍵,它指的是在一個表中列出的值對應于另一個表中列出的值。通俗來說,外鍵在一個表的列中存儲的值必須在另一個表的列中存在。
CREATE TABLE department ( id INT PRIMARY KEY, name VARCHAR(20) NOT NULL ); CREATE TABLE employee ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20) NOT NULL, department_id INT, salary DECIMAL(10,2) NOT NULL, FOREIGN KEY (department_id) REFERENCES department(id) );
上面的代碼創建了兩個表department和employee,其中employee表中的department_id列是外鍵,與department表中的id列相對應。
總的來說,主鍵和外鍵的關系是非常緊密的。主鍵用于唯一標識一張表中的每一行數據,而外鍵則用于連接兩張表之間的關系。在設計數據庫的時候,正確使用主鍵和外鍵是非常重要的。