第5章MySQL表结构管理-习题_第1页
第5章MySQL表结构管理-习题_第2页
第5章MySQL表结构管理-习题_第3页
第5章MySQL表结构管理-习题_第4页
全文预览已结束

下载本文档

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

文档简介

习题5MySQL提供了哪几种字符数据类型?它们的区别是什么?答:MySQL中的字符串数据类型包括CHAR、VARCHAR、BINARY>VARBINARY.BLOB、TEXT、ENUM和SET。CHAR和VARCHAR的区别为:CHAR列的长度固定为声明的长度。长度可以是。到255之间的任意值。存储时,会使用空格右填充到指定的长度。VARCHAR列中的值是可变长度字符串。长度可以指定为0到65535之间的值。VARCHAR的有效最大长度取决于最大行大小(65535字节)和使用的字符集。VARCHAR值在存储时不进行填充,在存储和检索值时保留尾随空格。(2)与CHAR不同,VARCHAR值存储为1字节或2字节长度前缀加数据。长度前缀表示值中的字节数。如果值不超过255字节,则使用一个长度字节;如果值超过255字节,则使用两个长度字节。(4)对于VARCHAR歹!J,超出列长度的尾随空格在插入之前被截断并生成警告。对于CHAR歹U,都会从插入的值中截断多余的尾随空格。BINARY和VARBINARY类型与CHAR和VARCHAR类似,只是它们存储字节字符串而不是字符串,这意味着它们具有二进制字符集和排序规则,比较和排序基于值中字节的数值。BINARY和VARBINARY的允许最大长度与CHAR和VARCHAR的相同,只是BINARY和VARBINARY的长度是以字节为单位而不是字符。ENUM类型又称为枚举类型,在创建表时,使用ENUMC值1?值2;…;值n)的形式定义一个列,该列的值只能取列表中的某一个元素。ENUM类型的取值列表中最多只能包含65535个值。SET类型为集合类型,在创建表时,使用SET。值1;值2;…;值n)的形式定义的列的值可以取列表中的一个元素或者多个元素的组合。MySQL提供了哪几种数值数据类型?它们的区别是什么?答:MySQL中的数值数据类型包括整数类型、定点数类型、浮点数类型和位值类型。整数类型包括TINYINT、INTEGER(或INT)、SMALLINT、MEDIUMINT和BIGINT,各类型的存储字节和取值范围不同。定点数类型包括DECIMAL和NUMERIC,用于存储精确的数值数据。浮点数类型包括单精度FLOAT类型和双精度DOUBLE类型,代表近似的数据值。MySQL提供了哪几种日期时间数据类型?它们的区别是什么?答:MySQL中的日期时间数据类型包括DATE、TIME、DATETIME>TIMESTAMP和YEARo各类型的存储字节数和取值范围不同。MySQL中创建表的方法有哪些?答:MySQL中可以通过以下几种方式创建表:(1)可以使用CREATETABLE语句仓ij建表,其语法格式为:CREATE[TEMPORARY]TABLE[IFNOTEXISTS]tbl_name(coLnamedata_type[(n[,m])][NOTNULL|NULL][DEFAULT{literal|(expr)}][AUTOJNCREMENT1[COMMENTString![index_definition],[constraint_definition])[table_options](2)可以通过复制创建表:使用CREATETABLE...LIKE语句基于另一个表的定义创建一个新表,语法格式为:CREATETABLEnew_tblLIKEorig_tbl;使用CREATETABLE...SELECT语句,通过在CREATETABLE语句末尾添力口SELECT语句,可以从一个表创建另一个表,语法格式为:CREATETABLEnew_tbl[(column_definition,[index_definition],fconstraint_definition])[table_options]][AS]SELECT*FROMorig_tbl;什么是约束?MySQL有哪几种约束?答:约束是数据库中实现数据完整性的一种重要手段,通过对表中数据的取值加以限制来保证数据的正确性、有效性和一致性。MySQL中的约束主要有:主键约束、唯一性约束、检查约束、外键约束、非空约束、默认值等。什么是主键约束?什么是唯一性约束?二者的区别是什么?答:主键约束可以用来实现实体完整性。主键可以是表中的一列,也可以是多个列的组合。由多个列组成的主键称为复合主键。如果表中某一列或者一些列的组合不允许有重复值,可以定义唯一性约束。唯一性约束和主键约束的区别是:一个表只能定义一个主键约束,但是可以定义多个唯一性约束;设置为主键的列不允许空值,即使列的定义中没有NOTNULL,而定义唯一性约束的列如果没有NOTNULL,则可以有空值。.如何定义主键约束?答:可以通过以下方法定义主键约束:(1)在CREATETABLE语句中,在要定义为主键的列的属性定义中加上PRIMARYKEY,语法格式为:col_namedata_type[(n[,m])][DEFAULT{literal|(expr)}]PRIMARYKEY(2)在CREATETABLE语句中,在表中所有列的定义之后,加上主键约束的定义,其语法格式为:[CONSTRAINTconstraint_name]PRIMARYKEY(col_name[,col_name...])(3)如果表已经存在并且需要创建主键约束,可以用ALTERTABLE语句对表结构进行修改增加主键约束,语法格式如下:ALTERTABLEtbl_nameADD[CONSTRAINTconstraint_name]PRIMARYKEY(col_name[,col_name...]);.如何定义唯一性约束?答:可以通过以下方法定义唯一性约束:(1)在CREATETABLE语句中,在要定义唯一性约束的列的属性定义中加上UNIQUE,语法格式为:col_namedata_type[(n[,m])][DEFAULT{literal|(expr)}]UNIQUE(2)在CREATETABLE语句中,在表中所有列的定义之后,加上唯一性约束的定义,其语法格式为:[CONSTRAINTconstraint_name]UNIQUE(col_name[,col_name...])(3)如果表已经存在并且需要创建唯一性约束,可以用ALTERTABLE语句对表结构进行修改增加唯一性约束,语法格式如下:ALTERTABLEtbl_nameADD[CONSTRAINTconstraint_name]UNIQUE(col_name[,colname...]);.如何定义Check约束?答:可以通过以下方法定义CHECK约束:(1)在CREATETABLE语句中,在要定以检查约束的列的属性定义中加上CHECK定义,语法格式为:col_namedata_type[(n[,m])][DEFAULT{literal|(expr)}]CHECK(expr)(2)在CREATETABLE语句中,在表中所有列的定义之后,加上check约束的定义,其语法格式为:[CONSTRAINTconstraint_name]CHECK(expr)(3)如果表已经存在并且需要创建check约束,可以用ALTERTABLE语句对表结构进行修改增加check约束,语法格式如下:ALTERTABLEtbl_nameADD[CONSTRAINTconstraint_name]CHECK(expr);.外键约束的作用是什么?如何定义外键约束?答:外键约束用于实现参照完整性,可以通过以下方法定义外键约束:(1)在CREATETABLE语句中,在表中所有列的定义之后,加上外键约束的定义,其语法格式为:[CONSTRAINT[constraint_name]]FOREIGNKEY(col_name,...)REFERENCEStbl_name(col_name,...)[ONDELETERESTRICT|CASCADE|SETNULL|NOACTION][ONUPDATERESTRICT|CASCADE|SETNULL|NOACTION](2)如果表已经存在并且需要创建外键约束,可以用ALTERTABLE语句对表结构进行修改增加外键约束,语法格式如下:ALTERTABLEtbl_nameADD[CONSTRAINT[constraint_name]]FOREIGNKEY(col_name,...)REFERENCEStbl_name(col_name,...)[ONDELETERESTRICT|CASCADE|SETNULL|NOACTION][ONUPDATERESTRICT|CASCADE|SETNULL|NOACTION].如何查看表的结构?答:可以通过以下方式查看表的结构:(1)使用DESCRIBE语句,DESCRIBE语句的语法格式如下:DESC[RIBE][db_name.]tbl_name(2)使用SHOWCOLUMNS|FIELDS语句,SHOWCOLUMNS|FIELDS语句的语法格式如下:SHOW{COLUMNS|FIELDS}{FROM|IN}tbl_name[{FROM|IN}db_name].如何查看表的定义语句?答:可以使用SHOWCREATETABLEtbl_name查看表的定义语句。.如何为已创建的表添加列?答:可以使用ALTERTABLE语句为己创建的表添加列,语句格式如下:ALTERTABLEtbl_nameADD[COLUMN]col_namecolumn_definition[FIRST|AFTERcol_name].修改列的集几种方法ALTERCOLUMN、CHANGECOLUMN和MODIFYCOLUMN的区别是什么?答:CHANGE>MODIFY>RENAMECOLUMN和ALTER子句允许对表中现有歹U进行更改,它们的区别为:MODIFY

温馨提示

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

评论

0/150

提交评论