天猫网站做链接怎么做,免费咨询图标,网站开发管理过程,品牌网络营销推广方案策划本章我们将介绍约束#xff0c;约束放在列或表上。 它们限制了可以插入表中的数据。我们有以下限制#xff1a;非空唯一主键外键枚举SET其他数据库也具有 CHECK 约束#xff0c;该约束为有效数据设置了条件。 MySQL 解析了这个约束#xff0c;但是没有强制执行。非空约束具…本章我们将介绍约束约束放在列或表上。 它们限制了可以插入表中的数据。我们有以下限制非空唯一主键外键枚举SET其他数据库也具有 CHECK 约束该约束为有效数据设置了条件。 MySQL 解析了这个约束但是没有强制执行。非空约束具有NOT NULL约束的列不能具有 NULL 值。我们创建两个具有NOT NULL约束的列。第一个SELECT语句执行成功第二个失败。 SQL 错误说LastName列不能为空。唯一约束UNIQUE约束确保所有数据在列中都是唯一的。在这里我们创建一个表Brands。 BrandName列设置为UNIQUE。 不能有两个名称相同的品牌。对于键“ BrandName”我们收到一个 SQL 错误 Duplicate 项“ Pepsi”。 只能有一个百事可乐品牌。注意PRIMARY KEY约束自动在其上定义了UNIQUE约束。主键PRIMARY KEY约束唯一地标识数据库表中的每个记录。 这是唯一键的特例。 主键不能为NULL唯一键可以为。 可以有更多UNIQUE列但是表中只有一个主键。 在设计数据库表时主键很重要。 主键是唯一的 ID。 我们使用它们来引用表行。 在表之间创建关系时主键成为其他表中的外键。Brands表的 Id 列成为主键。DESCRIBE语句显示有关表中各列的信息。 我们可以看到 Id 列定义了PRIMARY KEYBrandName设置了UNIQUE约束。 在处理特定表时主键用于唯一标识表中的行。 唯一键强制列中的所有数据都不重复。外键一个表中的FOREIGN KEY指向另一表中的PRIMARY KEY。 它是两个表之间的引用约束。 外键标识一个(引用)表中的一列或一组列该列或表引用另一(引用)表中的一列或一组列。我们将在两个表上显示此约束Authors和Books。在这里我们创建 Authors 表。 在 MySQL 中引用表和被引用表必须是 InnoDB 或 BDB 存储引擎。 在 MyISAM 存储引擎中将解析外键但不会强制使用外键。我们创建Books表。 在这里我们有一个AuthorId列名它用作外键。 它引用Authors表的主键。在我们的示例中外键强制执行意味着什么 我们无法使用Authors本书中没有的AuthorId在Books表中插入一行。ENUM约束ENUM是一个字符串对象其值是从允许值列表中选择的。 在创建表时它们在列规范中显式枚举。我们有一个Shops表。 该表具有定义的IdName和Quality列。 Quality列是ENUM。 它允许具有三个指定值之一HighAverage或Low。在前两个语句中我们插入了两行。 在第三种情况下该值在ENUM中不可用。 在这种情况下将插入一个空字符串。SET约束SET可以具有零个或多个值。 每个值都必须从允许值列表中选择。我们有一个Students表。 在此表中我们有一个“证书”列。 每个学生可以拥有 0、1 个或多个这些证书。 这与ENUM约束不同在ENUM约束中允许值列表中只能有一个不同的值。保罗有两个证书珍妮有三个马克有四个但是只有两个被认可因此只有前两个被写到了桌子上。 证书用逗号分隔。 不允许有空格。