From b72e272538060f49392358c50269daf982f180c5 Mon Sep 17 00:00:00 2001 From: Yuechuan Date: Sat, 23 Mar 2019 13:34:45 +0800 Subject: [PATCH] update SQL.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在创建表下增加约束子章节 --- docs/notes/SQL.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/docs/notes/SQL.md b/docs/notes/SQL.md index 097052d2..e4da8e17 100644 --- a/docs/notes/SQL.md +++ b/docs/notes/SQL.md @@ -64,6 +64,34 @@ CREATE TABLE mytable ( PRIMARY KEY (`id`)); ``` +## 约束(Constraints) +SQL 约束用于规定表中的数据规则。如果存在违反约束的数据行为,行为会被约束终止。 + +约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)。 + +~~~sql +SQL CREATE TABLE + CONSTRAINT 语法 +CREATE TABLE table_name +( +column_name1 data_type(size) constraint_name, +column_name2 data_type(size) constraint_name, +column_name3 data_type(size) constraint_name, +.... +); +~~~ + +在 SQL 中,我们有如下约束: + +| 函数 | 说明 | +| :--: | ---- | +|NOT NULL | 指示某列不能存储 NULL 值。| +|UNIQUE | 保证某列的每行必须有唯一的值 | +|FOREIGN KEY | 保证一个表中的数据匹配另一个表中的值的参照完整性。| +|CHECK | 保证列中的值符合指定的条件。| +|DEFAULT | 规定没有给列赋值时的默认值。| + +PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。 + # 三、修改表 添加列