版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 投资银行分析师员工手册
- Treg细胞在肿瘤治疗抵抗中的作用及逆转策略
- 心理疾病预防与应对一份全面指南
- SCLC早筛早诊策略对个体化治疗的意义
- 大型活动策划与实施规划
- 基层主管领导力培训课程安排
- RA-ILD患者运动康复方案的制定与实施
- PKU患者妊娠期铈缺乏防治方案优化
- PCOS高雄激素血症的综合治疗方案
- PBL教学中的认知负荷分配策略
- (高清版)DB43∕T 2510-2022 优 质灿稻单品种大米全程生产技术规范
- 沪粤版九年级物理下册全册教案
- 《事故汽车常用零部件修复与更换判别规范》
- 华佗古本五禽戏智慧树知到期末考试答案章节答案2024年安徽中医药大学
- 国开一体化平台01588《西方行政学说》章节自测(1-23)试题及答案
- 《NBT 33001 电动汽车非车载传导式充电机技术条件》
- 四川大学中国现代文学30年期末复习总结
- EPC项目设计管理机构的构成和设计力量的配备
- 机电安装工程安全管理
- 美容院员工培训课件:美容院服务礼仪
- 综合考试真题集锦-老年人能力评估师(50题,含答案)
评论
0/150
提交评论