MySQL是一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng),通過建表并創(chuàng)建約束來保證數(shù)據(jù)在表中的完整性和一致性。本文將介紹如何在MySQL建表的同時創(chuàng)建約束。
CREATE TABLE persons ( id INT PRIMARY KEY NOT NULL, name VARCHAR(50) NOT NULL, age INT, address VARCHAR(100) );
以上代碼是一個簡單的建表語句,包含了4個字段:id、name、age和address。其中id是主鍵,不能為空;name也不能為空,其他字段可以為空。
CREATE TABLE departments ( id INT PRIMARY KEY NOT NULL, name VARCHAR(50) NOT NULL, manager_id INT, FOREIGN KEY (manager_id) REFERENCES persons(id) );
以上代碼是一個帶有外鍵約束的建表語句,用于創(chuàng)建departments表。其中manager_id是一個外鍵,引用了persons表中的id字段。這意味著在departments表中插入一條記錄時,manager_id的值必須在persons表中存在,并且必須是一個有效的id值。
CREATE TABLE orders ( id INT PRIMARY KEY NOT NULL, customer_id INT NOT NULL, order_date DATE NOT NULL, total_price DECIMAL(10, 2) NOT NULL, FOREIGN KEY (customer_id) REFERENCES customers(id) ON DELETE CASCADE );
以上代碼是一個帶有級聯(lián)刪除的外鍵約束的建表語句,用于創(chuàng)建orders表。其中customer_id也是一個外鍵,引用了customers表中的id字段。級聯(lián)刪除的意思是,在customers表中刪除一條記錄時,orders表中所有關(guān)聯(lián)該記錄的記錄也將被刪除。
除了以上介紹的約束,MySQL還支持唯一約束、默認(rèn)值約束、檢查約束等多種約束方式,可以根據(jù)實際需求進(jìn)行選擇和組合。