MySQL是一種流行的開源關(guān)系型數(shù)據(jù)庫,建表約束是保證數(shù)據(jù)庫數(shù)據(jù)完整性的關(guān)鍵性質(zhì)。下面是需要了解的基本約束:
1. NOT NULL 約束 CREATE TABLE mytable ( id INT NOT NULL, title VARCHAR(255) NOT NULL, author VARCHAR(255) NOT NULL ); 2. PRIMARY KEY 約束 CREATE TABLE mytable ( id INT NOT NULL PRIMARY KEY, title VARCHAR(255), author VARCHAR(255) ); 3. UNIQUE 約束 CREATE TABLE mytable ( id INT NOT NULL, title VARCHAR(255), author VARCHAR(255), UNIQUE (id) ); 4. FOREIGN KEY 約束 CREATE TABLE mytable ( id INT NOT NULL, title VARCHAR(255), author VARCHAR(255), publisher_id INT, FOREIGN KEY (publisher_id) REFERENCES publishers(publisher_id) ); 5. CHECK 約束 CREATE TABLE mytable ( id INT NOT NULL, title VARCHAR(255), author VARCHAR(255), year INT(4), CHECK (year >1900 AND year< 2100) );
NOT NULL約束用于確保列不允許為空值。Primary Key約束用于唯一標識表中的行。Unique約束用于確保列的唯一性。Foreign Key約束用于確保列只包含已存在于另一個表中的值。Check約束用于確保列的值符合指定條件。