《MySQL数据库教程》课件第五章表的基本操作_第1页
《MySQL数据库教程》课件第五章表的基本操作_第2页
《MySQL数据库教程》课件第五章表的基本操作_第3页
《MySQL数据库教程》课件第五章表的基本操作_第4页
《MySQL数据库教程》课件第五章表的基本操作_第5页
已阅读5页,还剩94页未读 继续免费阅读

下载本文档

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

文档简介

第五章表的基本操作本章主要内容创建表查看表修改表表的约束12345主要内容删除表

表(Table)是数据库中数据存储最常见和最简单的一种形式,数据库可以将复杂的数据结构用较为简单的二维表来表示。二维表是由行和列组成的,分别都包含着数据。学号姓名性别年龄17071401张三男2017071402李四女1817071403王五男2117071404赵六女19学生信息表

每个表都是由若干行和列组成的,在数据库中表中的行被称为记录,表中的列被称为是这些记录的字段。记录也被称为一行数据,是表里的一行。在关系型数据库的表里,一行数据是指一条完整的记录。字段是表里的一列,用于保存每条记录的特定信息。学生信息表中的字段包括“学号”、“姓名”、“性别”和“年龄”。数据表的一列包含了某个特定字段的全部信息。5.1创建表

使用如下SQL语句来选择数据库:usedb_name;5.1创建表

5.1.1使用SQL语句创建表使用SQL语句创建表,创建表的SQL语法格式:createtabletable_name( 字段名1数据类型1[完整性约束条件], 字段名2数据类型2[完整性约束条件], 字段名3数据类型3[完整性约束条件], ··· 字段名n数据类型n[完整性约束条件]);5.1创建表

5.1.1使用SQL语句创建表【示例5-1】使用SQL语句创建“student”表:字段名数据类型描述idINT(8)id表示学生编号nameVARCHAR(20)name表示学生姓名genderVARCHAR(1)gender表示学生性别ageINT(2)age表示学生年龄student学生信息5.1创建表

5.1.1使用SQL语句创建表创建student表的SQL:createtablestudent( idINT(8), nameVARCHAR(20), genderVARCHAR(1), ageINT(2));5.1创建表

5.1.1使用SQL语句创建表【示例5-1】执行结果:5.1创建表

5.1.2使用图形界面创建表图形界面中创建student表:(1)展开chapter05数据库的目录结构,其中有一个名为“Tables”的选项,右击“Tables”,在弹出的下拉列表中选择“NewTable”。5.1创建表

5.1.2使用图形界面创建表图形界面中创建student表:(2)在打开的创建表格窗口中按照要求录入字段名(Name)、数据类型(Type)、数据长度(Length)等信息,其中数据类型可在下拉列表中根据需求选择。5.1创建表

5.1.2使用图形界面创建表图形界面中创建student表:(3)表信息录入完成后点击左上方的“Save”按钮进行保存,之后便会弹出要求输入表名的弹框,在输入框中输入“student”,点击“OK”按钮即完成创建表的操作。5.2查看表

5.2.1查看表的基本结构(DESCRIBE)查看表的基本结构是通过执行SQL语句DESCRIBE来实现的,其具体的语法格式如下所示:使用简写的方式,如下所示:describetable_name;desctable_name;5.2查看表

5.2.1查看表的基本结构(DESCRIBE)【示例5-2】使用DESCRIBE语句查看表的基本结构或者describestudent;descstudent;5.2查看表

5.2.1查看表的基本结构(DESCRIBE)【示例5-2】执行结果5.2查看表

5.2.2查看表详细结构(SHOWCREATETABLE)查看数据库的存储引擎以及字符集等信息,语法格式如下:showcreatetabletable_name;5.2查看表

5.2.2查看表详细结构(SHOWCREATETABLE)【示例5-3】SHOWCREATETABLE语句查看表的详细结构showcreatetablestudent;5.3修改表

5.3.1修改表名修改表名,其语法格式如下所示:altertableold_table_namerename[to]new_table_name;5.3修改表

5.3.1修改表名【示例5-4】使用ALTERTABLE语句修改表名或者altertablestudentrenametosxt_student;altertablestudentrenamesxt_student;5.3修改表

5.3.2修改字段的数据类型修改一个字段,语法格式如下所示:altertabletable_namemodifycolumn_namenew_data_type;5.3修改表

5.3.2修改字段的数据类型【示例5-5】使用ALTERTABLE语句修改字段的数据类型查看表基本结构altertablesxt_studentmodifyidint(10);descsxt_student;5.3修改表

5.3.2修改字段的数据类型同时修改多个字段,语法格式如下:altertabletable_namemodifycolumn1_namenew_data_type1,modifycolumn2_namenew_data_type2,···,modifycolumnn_namenew_data_typen;5.3修改表

5.3.2修改字段的数据类型【示例5-6】ALTERTABLE语句同时修改多个字段的数据类型使用“DESC”语句查看sxt_student表的基本结构,执行结果altertablesxt_studentmodifyidint(20),modifynamevarchar(10);5.3修改表

5.3.3修改字段名只修改字段名,语法结构如下所示:altertabletable_namechangeold_column_namenew_column_nameold_data_type;5.3修改表

5.3.3修改字段名【示例5-7】使用ALTERTABLE语句修改字段名使用“DESC”语句查看表的基本结构,执行结果altertablesxt_studentchangegendersexvarchar(1);5.3修改表

5.3.3修改字段名同时修改字段名和数据类型altertabletable_namechangeold_column_namenew_column_namenew_data_type;5.3修改表

5.3.3修改字段名【示例5-8】使用ALTERTABLE语句修改字段名和数据类型使用“DESC”语句查看表的基本结构,执行结果altertablesxt_studentchangesexgendervarchar(2);5.3修改表

5.3.4增加字段增加字段,语法格式如下:altertabletable_nameaddcolumn_name1data_type[完整性约束条件][first|aftercolumn_name2];5.3修改表

5.3.4增加字段【示例5-9】使用ALTERTABLE语句在最后位置增加字段altertablesxt_studentaddscorefloat;5.3修改表

5.3.4增加字段【示例5-10】使用ALTERTABLE语句在第一个位置增加字段altertablesxt_studentaddphonevarchar(11)first;5.3修改表

5.3.4增加字段【示例5-11】使用ALTERTABLE语句在指定位置增加字段altertablesxt_studentaddclazzvarchar(20)afterage;5.3修改表

5.3.5修改字段的排列位置修改字段的位置,SQL语句如下:altertabletable_namemodifycolumn_name1data_typefirst|aftercolumn_name2;5.3修改表

5.3.5修改字段的排列位置【示例5-12】使用ALTERTABLE语句将字段移动到第一个位置altertablesxt_studentmodifyidint(20)first;5.3修改表

5.3.6删除字段删除的字段名,其语法格式如下所示altertabletable_namedropcolumn_name;5.4删除表

5.4.1使用SQL语句删除表删除表的SQL语句,其语法格式如下所示:droptabletable_name;5.4删除表

5.4.2使用图形界面删除表选中要删除的表,点击右键,在弹出的下拉列表中选择“DeleteTable”选项,然后在弹出的确认对话框中选择“Delete”按钮即可将表成功删除。5.5表的约束

为了防止不符合规范的数据存入数据库,在用户对数据进行插入、修改、删除等操作时,MySQL数据库管理系统提供了一种机制来检查数据库中的数据是否满足规定的条件,以保证数据库中数据的准确性和一致性,这种机制就是约束。5.5表的约束

5.5.1完整性约束约束条件约束描述PRIMARYKEY主键约束,约束字段的值可以唯一地标识对应的记录UNIQUE唯一约束,约束字段的值是唯一的NOTNULL非空约束,约束字段的值不能为空DEFAULT默认值约束,约束字段的默认值AUTO_INCREMENT自动增加约束,约束字段的值自动递增FOREIGNKEY外键约束,约束表与表之间的关系5.5表的约束

5.5.2主键约束

主键约束(PRIMARYKEY,缩写PK),是数据库中最重要的一种约束,其作用是约束表中的某个字段可以唯一标识一条记录。创建表的同时使用列级约束为单个字段添加约束,其语法格式如下所示:createtabletable_name( column_name1date_typeprimarykey, column_name2date_type, ......);5.5表的约束

5.5.2主键约束【示例5-17】使用列级约束设置单字段主键约束createtablestudent1( stu_idint(10)primarykey, stu_namevarchar(3), stu_sexvarchar(1));5.5表的约束

5.5.2主键约束通过“DESC”语句查看表的基本结构来验证一下主键的设置情况,执行结果5.5表的约束

5.5.2主键约束单字段主键的添加还可以使用表级约束,其SQL语句的语法格式如下所示:createtabletable_name( column_name1date_type, column_name2date_type, ......, [constraintpk_name]primarykey(column_name));5.5表的约束

5.5.2主键约束【示例5-18】使用表级约束设置单字段主键约束createtablestudent2( stu_idint(10), stu_namevarchar(3), stu_sexvarchar(1), constraintpk_stu_idprimarykey(stu_id));5.5表的约束

5.5.2主键约束为多个字段添加主键约束createtabletable_name( column_name1date_type, column_name2date_type, ......, [constraintpk_name]primarykey(column_name1,column_name2,···));5.5表的约束

5.5.2主键约束【示例5-19】使用表级约束设置多字段主键约束createtablestudent3( stu_schoolvarchar(20), stu_idint(10), stu_namevarchar(3), primarykey(stu_school,stu_id));5.5表的约束

5.5.2主键约束使用“DESC”语句查看表的基本结构,执行结果5.5表的约束

5.5.2主键约束在已存在的表中添加主键约束,其语法格式如下所示:altertabletable_nameadd[constraintpk_name]primarykey(column_name1,column_name2,···);5.5表的约束

5.5.2主键约束【示例5-20】使用ALTERTABLE语句在已存在的表中添加主键约束altertablesxt_studentaddprimarykey(id,name);5.5表的约束

5.5.2主键约束删除主键约束,其语法格式如下所示:altertabletable_namedropprimarykey;5.5表的约束

5.5.2主键约束【示例5-21】使用ALTERTABLE语句在已存在的表中删除主键约束altertablesxt_studentdropprimarykey;5.5表的约束

5.5.2主键约束

唯一约束(UNIQUE,缩写UK)比较简单,它规定了一张表中指定的某个字段的值不能重复,即这一字段的每个值都是唯一的。如果想要某个字段的值不重复,那么就可以为该字段添加为唯一约束。5.5表的约束

5.5.3唯一约束创建表时添加唯一约束,语法格式如下所示:createtabletable_name( column_namedate_typeunique, ......);5.5表的约束

5.5.3唯一约束【示例5-22】使用列级约束添加唯一约束createtablestudent4( stu_idint(10)unique, stu_namevarchar(3)unique, stu_sexvarchar(1));5.5表的约束

5.5.3唯一约束使用“DESC”语句查看表的基本结构,执行结果5.5表的约束

5.5.3唯一约束使用表级约束添加唯一约束,语法格式如下:createtabletable_name( column_name1date_type, column_name2date_type, ......, [constraintuk_name]unique(column_name1,column_name2,···));5.5表的约束

5.5.3唯一约束【示例5-23】使用表级约束添加唯一约束createtablestudent5( stu_idint(10), stu_namevarchar(3), stu_sexvarchar(1), unique(stu_id,stu_name));5.5表的约束

5.5.3唯一约束在已存在的表中添加唯一约束,语法格式如下:altertabletable_nameadd[constraintuk_name]unique(column_name1,column_name2,···);5.5表的约束

5.5.3唯一约束【示例5-24】使用ALTERTABLE语句为单个字段添加唯一约束altertablestudent6addunique(stu_id);altertablestudent6addunique(stu_name);5.5表的约束

5.5.3唯一约束【示例5-25】使用ALTERTABLE语句为多个字段的组合添加唯一约束altertablestudent7addunique(stu_id,stu_name);5.5表的约束

5.5.3唯一约束【示例5-26】使用ALTERTABLE语句删除唯一约束altertablestudent7dropindexstu_id;5.5表的约束

5.5.3唯一约束非空约束(NOTNULL,缩写NK)规定了一张表中指定的某个字段的值不能为空(NULL)。设置了非空约束的字段,在插入的数据为NULL时,数据库会提示错误,导致数据无法插入。5.5表的约束

5.5.4非空约束5.5表的约束

5.5.4非空约束创建表时添加非空约束,其语法格式如下所示:createtabletable_name( column_namedate_typenotnull, ......);5.5表的约束

5.5.4非空约束【示例5-27】创建表时为字段添加非空约束createtablestudent8( stu_idint(10)notnull, stu_namevarchar(3)notnull, stu_sexvarchar(1));5.5表的约束

5.5.4非空约束使用“DESC”语句查看表的基本结构,执行结果5.5表的约束

5.5.4非空约束在已存在的表中添加非空约束,其语法格式如下所示:altertabletable_namemodifycolumn_namedate_typenotnull;5.5表的约束

5.5.4非空约束【示例5-28】为已存在表中的字段添加非空约束altertablestudent8modifystu_sexvarchar(1)notnull;5.5表的约束

5.5.4非空约束删除非空约束,其语法格式如下所示:altertabletable_namemodifycolumn_namedate_type[null];5.5表的约束

5.5.4非空约束【示例5-29】使用ALTERTABLE语句删除非空约束altertablestudent8modifystu_sexvarchar(1)null;5.5表的约束

5.5.5默认值约束默认值约束(DEFAULT)用来规定字段的默认值。如果某个被设置为DEFAULT约束的字段没有插入具体的值,那么该字段的值将会被默认值填充。5.5表的约束

5.5.5默认值约束创建表时添加默认值约束,其语法格式如下所示:createtabletable_name( column_namedate_typedefaultvalue, ......);5.5表的约束

5.5.5默认值约束【示例5-30】创建表时为字段添加默认值约束createtablestudent9( stu_idint(10), stu_namevarchar(3), stu_sexvarchar(1)default'男');5.5表的约束

5.5.5默认值约束使用“DESC”语句查看表的基本结构,执行结果5.5表的约束

5.5.5默认值约束在已存在的表中添加默认值约束altertabletable_namemodifycolumn_namedate_typedefaultvalue;5.5表的约束

5.5.5默认值约束【示例5-31】为已存在表中的字段添加默认值约束altertablestudent9modifystu_namevarchar(3)default'学生';5.5表的约束

5.5.5默认值约束删除默认值约束,语法格式如下所示:altertabletable_namemodifycolumn_namedate_type;5.5表的约束

5.5.5默认值约束【示例5-32】使用ALTERTABLE语句删除默认值约束altertablestudent9modifystu_namevarchar(3);5.5表的约束

5.5.6字段值自动增加约束自增约束(AUTO_INCREMENT)可以使表中某个字段的值自动增加。一张表中只能有一个自增长字段,并且该字段必须定义了约束(该约束可以是主键约束、唯一约束以及外键约束),如果自增字段没有定义约束,数据库则会提示“Incorrecttabledefinition;therecanbeonlyoneautocolumnanditmustbedefinedasakey”错误。由于自增约束会自动生成唯一的ID,所以自增约束通常会配合主键使用,并且只适用于整数类型。一般情况下,设置为自增约束字段的值会从1开始,每增加一条记录,该字段的值加1。下面我们讲解自增约束的增加和删除操作。5.5表的约束

5.5.6字段值自动增加约束创建表时添加自增约束,其语法格式如下所示:createtabletable_name( column_namedate_typeauto_increment, ......);5.5表的约束

5.5.6字段值自动增加约束【示例5-33】创建表时为字段添加自增约束createtablestudent10( stu_idint(10)primarykeyauto_increment, stu_namevarchar(3), stu_sexvarchar(1));5.5表的约束

5.5.6字段值自动增加约束使用“DESC”语句查看表的基本结构,执行结果5.5表的约束

5.5.6字段值自动增加约束在已存在的表中添加自增约束,语法格式如下所示altertabletable_namemodifycolumn_namedate_typeauto_increment;5.5表的约束

5.5.6字段值自动增加约束【示例5-34】为已存在表中的字段添加自增约束/*创建表student11*/createtablestudent11( stu_idint(10)primarykey, stu_namevarchar(3), stu_sexvarchar(1));/*为student11表中的主键字段添加自增约束*/altertablestudent11modifystu_idint(10)auto_increment;5.5表的约束

5.5.6字段值自动增加约束使用“DESC”语句查看表的基本结构,执行结果5.5表的约束

5.5.6字段值自动增加约束删除自增约束,其语法格式如下所示:altertabletable_namemodifycolumn_namedate_type;5.5表的约束

5.5.6字段值自动增加约束【示例5-35】使用ALTERTABLE语句删除自增约束altertablestuden11modifystu_idint(10);5.5表的约束

5.5.7外键约束外键约束(FOREIGNKEY,缩写FK)是用来实现数据库表的参照完整性的。外键约束可以使两张表紧密的结合起来,特别是针对修改或者删除的级联操作时,会保证数据的完整性。外键是指表中某个字段的值依赖于另一张表中某个字段的值,而被依赖的字段必须具有主键约束或者唯一约束。被依赖的表我们通常称之为父表或者主表,设置外键约束的表称为子表或者从表。举个例子:如果想要表示学生和班级的关系,首先要有学生表和班级表两张表,然后学生表中有个字段为stu_clazz(该字段表示学生所在的班级),而该字段的取值范围由班级表中的主键cla_no字段(该字段表示班级编号)的取值决定。那么班级表为主表,学生表为从表,且stu_clazz字段是学生表的外键。通过stu_clazz字段就建立了学生表和班级表的关系。5.5表的约束

5.5.7外键约束创建表时添加外键约束,语法格式如下所示:createtablechild_table_name(column_name1date_type,column_name2date_type,······[constraintfk_name]foreignkey(child_column_name)referencesparent_table_name(parent_column_name));5.5表的约束

5.5.7外键约束【示例5-36】创建表时为字段添加外键约束createtableclazz(cla_noint(3)primarykey,cla_namevarchar(20),cla_locvarchar(30));5.5表的约束

5.5.7外键约束createtablestudent12(stu_idint(10)primarykey,stu_namevarchar(3),stu_clazzint(3),constraintfk_stu_clazzforeignkey(stu_clazz)referencesclazz(cla_no));5.5表的约束

5.5.7外键约束在已存在的表中添加外键约束,其语法格式如下所示:altertablechild_table_nameadd[constraintfk_name]foreignkey(child_column_name)referencesparent_table_name(parent_column_name

温馨提示

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

最新文档

评论

0/150

提交评论