数据表的约束为了防止数据表中插入错误的数据在MySQ_第1页
数据表的约束为了防止数据表中插入错误的数据在MySQ_第2页
数据表的约束为了防止数据表中插入错误的数据在MySQ_第3页
数据表的约束为了防止数据表中插入错误的数据在MySQ_第4页
数据表的约束为了防止数据表中插入错误的数据在MySQ_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3.4数据表的约束为了防止数据表中插入错误的数据,在MySQL中,定义了一些维护数据库完整性的规则,即表的约束。表3-9列举了常见的表的约束。约束条件说明PRIMARYKEY主键约束,用于唯一标识对应的记录FOREIGNKEY外键约束NOTNULL非空约束UNIQUE唯一性约束

DEFAULT默认值约束,用于设置字段的默认值表3-9表的约束

在MySQL中,为了快速查找表中的某条信息,可以通过设置主键来实现。主键约束是通过PRIMARYKEY定义的,它可以唯一标识表中的记录,就好比身份证可以用来标识人的身份一样。在MySQL中,主键约束分为两种,具体如下:1、单字段主键(可做列级约束,也可做表级约束)2、多字段主键(只可做表级约束)3.4数据表的约束3.4.1PRIMARYKEYCONSTRAINT(主键约束)3.4数据表的约束1、单字段主键单字段主键指的是由一个字段构成的主键,其基本的语法格式如下所示:

【例3-17】创建一个company表,设置company_id作为主键,SQL语句如下:

上述SQL语句执行后,company表中创建了id、name和address三个字段,其中,id字段是主键。字段名数据类型PRIMARYKEYCREATETABLEcompany(company_idINT(11)PRIMARYKEY,company_nameVARCHAR(50),company_addressVARCHAR(200));3.4.1PRIMARYKEYCONSTRAINT(主键约束)3.4.1PRIMARYKEYCONSTRAINT(主键约束)1.4数据模型2、复合主键多字段主键指的是多个字段组合而成的主键,其基本的语法格式如下所示:【例3-20】创建一个sales表,其中product_id,region_code作为复合主键,SQL语句如下:PRIMARYKEY(字段名1,字段名2,……字段名n)需要注意的是:每个数据表中最多只能有一个主键约束,定义为PRIMARYKEY的字段不能有重复值且不能为NULL值。CREATETABLEsales(product_idINT(11),region_codeVARCHAR(10),quantityINT(11),priceFLOAT,PRIMARYKEY(product_id,region_code));返回3.4数据表的约束外键用来在两个表的数据之间建立关联,它可以是一个列或者多个列。一个表可以有一个或者多个外键。【例3-22】创建部门表dept和员工表emp,并在员工表上创建外键。Step1:先创建主表deptStep2:再创建从表empCREATETABLEdept(idINT(11)PRIMARYKEY,nameVARCHAR(22),locationVARCHAR(50),descriptionVARCHAR(200));createtableemp(idINT(11)PRIMARYKEY,nameVARCHAR),dept_idINT(11),salaryFLOAT,CONSTRAINTfk_emp_deptFOREIGNKEY(dept_id)REFERENCESdept(id));3.4.2FOREIGNKEYCONSTRAINT(外键约束)3.4.3NOTNULLCONSTRAINT(非空约束)非空约束指的是字段的值不能为NULL,在MySQL中,非空约束是通过NOTNULL定义的,其基本的语法格式如下所示:【例3-25】创建一个company表,并设置company_id作为主键,表中的company_address字段设置为非空约束,SQL语句如下:需要注意的是,在同一个数据表中可以定义多个非空字段。字段名数据类型NOTNULL;DROPTABLEcompany;CREATETABLEcompany(company_idINT(11)PRIMARYKEY,company_nameVARCHAR(50),company_addressVARCHAR(200)NOTNULL);3.4数据表的约束返回3.4.4UNIQUECONSTRAINT(唯一约束)唯一约束用于保证数据表中字段的唯一性,即表中字段的值不能重复出现。唯一约束是通过UNIQUE定义的,其基本的语法格式如下所示:【例3-28】创建一个company表,并设置company_id作为主键,表中的company_address字段设置为非空约束,表中的company_name字段设置为唯一约束,SQL语句如下:字段名数据类型UNIQUE;DROPTABLEcompany;CREATETABLEcompany(company_idINT(11)PRIMARYKEY,company_nameVARCHAR(50)UNIQUE,company_addressVARCHAR(200)NOTNULL);3.4数据表的约束默认约束用于给数据表中的字段指定默认值,即当在表中插入一条新记录时,如果没有给这个字段赋值,那么,数据库系统会自动为这个字段插入默认值。默认值是通过DEFAULT关键字定义的。默认约束基本的语法格式如下所示:【例3-31】创建一个company表,表中的company_tel的默认值为“0371-”,SQL语句如下:字段名数据类型DEFAULT默认值;DROPTABLEcompany;CREATETABLEcompany(company_idINT(11)PRIMARYKEY,company_name

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论