版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库原理与应用快速入门2.1创建数据库2.2创建数据表2.3关于数据库引擎第2章
创建数据库和数据表2.2.12.2.2了解字段的数据类型2.2.3创建表操作2.2.4查看和修改表2.2.5删除数据表2.2.6向表添加数据2.2.7注意数据的规范了解表的结构和特点2.2创建数据表2.2.1了解表的结构和特点目前,主流的数据库管理系统采用二维表格的形式来保存数据。表2.1students表stuIdstuNameclasssexbirthtelNoEmailcomment210101001李勇软件技术男2003-9-1028885692Liyong@21插班生210101002刘晨软件技术女2003-8-622285568Liuchen@126.com
210102003王晓敏计算机应用女2003-5-3022324912Wangxm@21
220102001张丽丽电子商务女2004-1-225661120Zhangli@126.com
220102002陈耀辉电子商务男2004-7-1622883322Chenhui@21转校生2.2.1了解表的结构和特点这样的二维表格在数据库中又被称为“关系”。其中,表中的一行又称为关系中的一条记录,表中的一列又称为关系中的一个字段。在数据库中,表2.2所示的术语是等价的。以关系的形式存储数据的数据库系统称为关系数据库。表2.2等价的术语表(Table)行(Row)列(Column)关系(Relation)记录(Record)字段(Field)2.2.1了解表的结构和特点在一个关系中,字段的名称不能重复,字段排列的先后顺序无关紧要,记录排列的先后顺序也无关紧要,但任意两条记录不能重复。2.2.1了解表的结构和特点生活中我们常见如表2.3所示的表格结构,需要注意,这样的表格不被数据库所接受,不是关系。这是因为,关系要求每个单元格只能存放单个值,而在表2.3中,一个单元格“family”被分割成多个子单元,用于存放多个值。表2.3family表stuIdstuNamesexfamilyfathermotherbrothersister210101001李勇男李国平王晓丽李伟李珊210101002刘晨女刘昭林李玉萍
刘芳2.2.1了解表的结构和特点在关系中,同一字段下的数据要求其数据类型一致,所表示的语义也要一致。如表2.1所示的关系“students”中,字段“sex”下的数据,其类型是字符串,所表示的语义是学生的性别,字段“birth”下的数据,其类型是日期,表示的语义是学生的生日,不能是其他的含义。2.2.1了解表的结构和特点为了表述的方便,我们用表名(字段名1,字段名2,……)的形式来描述表的结构。表2.1所示的students表可以描述为:
students(stuId,stuName,class,sex,birth,telNo,Email,comment)2.2.2了解字段的数据类型本节介绍MySQL数据库中常用的数据类型。2.2.2了解字段的数据类型1.整数类型整数类型所表示的数据是整数,根据占用字节长度的不同,MySQL整数类型包含tinyint、smallint、mediumint、int/integer、bigint几种。2.2.2了解字段的数据类型1.整数类型表2.4整数类型详细信息类型存储字节数有符号数取值范围无符号数取值范围tinyint1-128~1270~255smallint2-32768~327670~65535mediumint3-8388608~83886070~16777215int/integer4-21474483648~21474836470~4294967295bigint8-9223372036854775808~92233720368547758070~184467440737095516152.2.2了解字段的数据类型1.整数类型tinyint型整数数据的默认显示宽度为4位数字,smallint型整数数据的默认显示宽度为6位数字,mediumint型整数数据的默认显示宽度为9位数字,int和integer类型字节数和取值范围相同,使用上是一样的,数据默认显示宽度为11位数字,bigint型整数数据的默认显示宽度为20位数字。显示宽度与数据类型的取值范围无关,只是指定MySQL最大可以显示的数字个数,数字个数小于显示宽度时以空格补齐,大于显示宽度时,只要没有超过该数据类型的取值范围,依然能够显示出来。2.2.2了解字段的数据类型1.整数类型在实际应用中,如果关系的某一字段保存的数据是整数,读者应该预先估计该列数据可能的取值范围,将该范围与以上整型类型的取值范围进行比较,选择范围最接近又没有超出的那一种类型,这样做可以节省数据的存储空间。2.2.2了解字段的数据类型2.小数类型如果数据是小数,则需要用小数类型来表示。MySQL中的小数类型包含浮点数和定点数两类。2.2.2了解字段的数据类型2.小数类型浮点数类型包含float和double两种,其中,float是单精度浮点数,double是双精度浮点数。表2.5浮点数类型详细信息类型存储字节数有符号数取值范围无符号数取值范围float4-3.402823466E+38~-1.175494351E-380和1.175494351E-38~3.402823466E+38double8-1.7976931348623157E+308~-2.2250738585072014E-3080和2.2250738585072014E-308~1.7976931348623157E+3082.2.2了解字段的数据类型2.小数类型定点数类型为decimal型,其取值范围与浮点数double型相同。但decimal型在使用时,需指定其精度和小数数位,使用格式为:
decimal(p,d)其中,参数p代表精度,即数据的最大总位数,d代表数据的最大小数位数。p的取值范围为1~65,d的取值范围为0~30并且d<=p。p的默认值为10,d的默认值为0。decimal型数据存储的字节数为p+2。2.2.2了解字段的数据类型2.小数类型在MySQL中,定点数以字符串形式存储,提供了更高的精度,在对数据精度要求比较高的情况下(如表示货币、科学数据时),优先使用decimal类型。2.2.2了解字段的数据类型3.日期和时间类型如果需要在数据库中存储日期和时间数据,则需要使用日期和时间类型。MySQL中日期和时间类型包括year、date、time、datetime、timestamp几种。表2.6日期和时间类型详细信息类型存储字节数取值范围使用格式year11901~2155YYYYdate31000-01-01~9999-12-31YYYY-MM-DDtime3-838:59:59~838:59:59HH:MM:SSdatetime81000-01-0100:00:00~9999-12-3123:59:59YYYY-MM-DDHH:MM:SStimestamp41970-01-0100:00:01UTC~2038-01-1903:14:07UTCYYYY-MM-DDHH:MM:SS2.2.2了解字段的数据类型3.日期和时间类型在实际使用中,有一些需要用日期和时间来表示的数据,如人的出生日期、网上购物的下单日期、图书馆借书的借阅日期等,读者可根据需要表示的日期和时间的范围和格式,合理选择以上类型。如果插入的数据,其值超过了上表所示的取值范围,系统会报错并将零值插入数据库。2.2.2了解字段的数据类型3.日期和时间类型这里对time类型的取值范围做一些说明。一天只有24个小时,而time类型取值范围为-838:59:59~838:59:59,小时部分为何如此之大呢?这是因为,time类型不仅可以表示一天内的时间,还可以表示某个事件过去的时间,或者两个事件之间的时间间隔,这样超过24小时就很正常了。timestamp类型取值范围中的UTC代表世界标准时间,该类型数据在存储时是以世界标准时间格式存储的。2.2.2了解字段的数据类型4.字符串类型字符串类型是数据库中最常用的数据类型,用来存储各种文字、数字符号、特殊符号,也可以存储图片和声音的二进制数据。MySQL中字符串类型包括char、varchar、tinytext、text、mediumtext、longtext、enum、set类型等。字符串类型的数据在使用时需要加上一对单引号括起来。2.2.2了解字段的数据类型4.字符串类型字符串类型是数据库中最常用的数据类型,用来存储各种文字、数字符号、特殊符号,也可以存储图片和声音的二进制数据。MySQL中字符串类型包括char、varchar、tinytext、text、mediumtext、longtext、enum、set类型等。字符串类型的数据在使用时需要加上一对单引号括起来。2.2.2了解字段的数据类型4.字符串类型表2.7字符串类型详细信息类型说明取值范围char(n)表示长度为n个字节的非二进制固定长度字符串。n的值在1~255之间。varchar(n)表示长度为n个字节的非二进制可变长度字符串。n的值在1~65535之间。tinytext表示非常短的文本。0~255字节text表示文本。0~65535字节mediumtext表示中等长度的文本。0~16777215字节longtext表示长文本。0~4294967295字节enum表示枚举类型。其取值列表最多可以有65535个值。set表示字符串,其值可以取列表中的一个或多个。其值最多能有64个元素构成的组合。2.2.2了解字段的数据类型4.字符串类型char(n)是固定长度,长度为n的字符串,如果存储的字符串长度小于n,其后会以空格补充,直至长度达到n。varchar(n)是可变长度字符串,系统会按字符串的实际长度进行存储,只要长度没有超过n。2.2.2了解字段的数据类型4.字符串类型tinytext、text、mediumtext、longtext类型属于特殊的字符串类型,用于保存文章、评论、简历、新闻等内容,它们允许表示的字符串长度依次增大,实际使用时,读者可根据需求进行适当选取。2.2.2了解字段的数据类型4.字符串类型enum类型表示枚举类型,使用时要以列表的形式指定其取值范围,格式如下:
字段名enum('值1','值2',...'值n')其中,字段名表示要定义的字段,值n表示列表中的第n个值,最多可以有65535个值。enum类型的字段在取值时只能从列表中选取一个值。列表中的每个值对应一个编号,分别是1,2,...n,系统在存储enum类型字段下的数据时,实际存储的就是对应的编号。enum类型字段下如果没有填充数据,系统将以默认值填充。如果该字段不允许取空值(NULL),则默认值为列表中的第一个值;如果该字段允许取空值(NULL),则默认值为空值。2.2.2了解字段的数据类型4.字符串类型set类型字段的定义格式与enum类型相似,要以列表的形式指定其取值范围,格式如下:字段名set('值1','值2',...'值n')其中,字段名表示要定义的字段,值n表示列表中的第n个值。与enum类型不同的是,字段在取值时可以从列表中选取一个或多个值,最多可以是64个值构成的组合。取多个值时,值之间用逗号分隔。2.2.2了解字段的数据类型5.二进制类型二进制类型用于存储二进制字符串。MySQL中二进制类型包括bit,binary,varbinary,tinyblob,blob,mediumblob,longblob几种。2.2.2了解字段的数据类型5.二进制类型表2.8二进制类型详细信息类型说明取值范围bit(n)表示长度为n个字节的二进制位字段值。n的值在1~64之间,默认值为1。binary(n)表示长度为n个字节的二进制固定长度字符串。n的值在0~255之间。varbinary(n)表示长度为n个字节的二进制可变长度字符串。n的值在1~65535之间。tinyblob表示非常小的blob。0~255Bblob表示小的blob。0~65535Bmediumblob表示中等大小的blob。0~16777215Blongblob表示非常大的blob。0~4294967295B2.2.2了解字段的数据类型5.二进制类型bit类型是位字段类型。如果bit(n)存储的值长度小于n,值的左边用0填充。如果以二进制数保存十进制数13,可以定义为bit(4),因为13的二进制数为1101,正好可以存下。2.2.2了解字段的数据类型5.二进制类型binary和varbinary与char和varchar类型有点类似,不同的是binary和varbinary存储的是二进制的字符串,而非字符型字符串。也就是说,binary和varbinary没有字符集的概念,对其排序和比较都是按照二进制值进行对比。tinyblob,blob,mediumblob,longblob类型主要用于以二进制字符串形式存储图片、音频等信息。它们允许表示的二进制字符串长度依次增大,实际使用时,读者可根据需求进行适当选取。2.2.2了解字段的数据类型了解了MySQL中数据类型,在实际使用中,应根据需要表示的数据的情况,在创建表时,要为表中的字段选择合适的数据类型。确定字段数据类型的重要原则是:根据该字段将进行怎样的操作,以及数据的实质意义。确定字段大小的重要原则是:根据该字段的数据最有可能出现的最大值来确定。2.2.2了解字段的数据类型【例2-4】分析表2.1students数据表的结构和数据,确定该表各字段的数据类型。从表2.1可知,students数据表包含8个字段,分别表示学生的学号、姓名、班级、性别、出生日期、联系电话、Email和备注信息。根据数据的表现形式和长度,确定字段的数据类型如表2.10所示。表2.10students表字段的数据类型字段名数据类型stuIdchar(9)stuNamevarchar(10)classvarchar(30)sexenumbirthdatetelNovarchar(15)Emailvarchar(50)commentvarchar(100)2.2.3创建表操作在关系数据库中数据是保存在表里面的,因此,要将数据存入数据库,就应该首先建立数据表。创建表之前,要使用“USE数据库名”命令选择数据库,指定将表保存在哪个数据库中。2.2.3创建表操作创建表的语法格式如下:CREATETABLE表名(列名1数据类型[列级约束条件][默认值],列名2数据类型[列级约束条件][默认值],......[表级约束条件]);2.2.3创建表操作【例2-5】在数据库student中创建数据表students,建表命令如下:2.2.4查看和修改表数据表创建完成后,可以通过DESCRIBE语句来查看表的结构,这对于用户而言非常方便。因为数据库是一个多用户系统,并非所有数据表都是由当前用户创建的,要查看和使用其他用户创建的表,就必须首先了解表的结构。2.2.4查看和修改表DESCRIBE语句的语法格式如下:
DESCRIBE表名;也可写作:
DES表名;2.2.4查看和修改表【例2-6】使用DESCRIBE语句查看数据表students的结构。2.2.4查看和修改表如果要调整已经存在于数据库中的表的结构,则需要使用修改表命令。修改表包括修改表名、修改字段名和数据类型、增加字段、删除字段等。2.2.4查看和修改表1.修改表名修改表名的命令语法结构如下:
ALTERTABLE旧表名RENAME[TO]新表名;其中,参数TO是可选的,写与不写不影响命令的执行。修改表名时需注意,同一个数据库中每个表的名称应该是唯一的,不能出现重名的情况。2.2.4查看和修改表【例2-7】将student数据库中的sc数据表名称修改为stu_cor。2.2.4查看和修改表2.修改字段名和数据类型修改字段名的命令语法结构如下:ALTERTABLE表名CHANGE旧字段名新字段名新数据类型;其中,旧字段名和新字段名分别表示修改前后的字段名称,新数据类型表示字段名修改后,该字段的数据类型。新数据类型可以和原来该字段的数据类型一样,但此处不可以省略。2.2.4查看和修改表【例2-8】修改student数据库中的数据表students,将字段birth名称修改为birthday,数据类型保持不变。2.2.4查看和修改表如果不需要修改字段名,仅对字段的数据类型进行修改,可使用如下命令:
ALTERTABLE表名MODIFY字段名数据类型;2.2.4查看和修改表【例2-9】修改student数据库中的数据表students,将字段comment的数据类型修改为varchar(80)。2.2.4查看和修改表在对字段的数据类型进行修改时需要注意,因不同类型和长度的数据在数据库中存储的方式不同,如果表中已保存有数据,修改字段的数据类型会对现有的数据存储造成影响。应尽量避免对已有数据的表进行字段数据类型的修改。2.2.4查看和修改表3.增加字段如果需要在已经存在的数据表中增加字段,可使用以下格式的命令:
ALTERTABLE表名ADD新字段名数据类型
[约束条件][FIRST|AFTER已存在的字段名]其中,新字段名表示要增加的字段名称,其后的数据类型指定该字段的数据类型;约束条件是可选的,将在下一节进行讲解;FIRST表示新增加的字段位于表中的第一列,AFTER表示将新字段放在已存在的指定字段后面,这两项也是可选的,如果不指定位置,新增加的字段将位于表的最后一列。2.2.4查看和修改表【例2-10】对student数据库中的数据表students增加一个字段school,表示学生所在的学校,数据类型为varchar(40),该字段位于stuName列之后。2.2.4查看和修改表4.删除字段删除表中字段的命令语法格式如下:
ALTERTABLE表名DROP字段名;2.2.4查看和修改表【例2-11】将例2-10中增加的字段school从数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年注册公用设备工程师(给水排水专业案例考试下)试题及答案
- 2025年高职机电一体化技术(机电技术专题)试题及答案
- 2025年大学潜水运动与管理(潜水技术)试题及答案
- 深度解析(2026)《GBT 17980.75-2004农药 田间药效试验准则(二) 第75部分杀虫剂防治棉花蚜虫》
- 深度解析(2026)《GBT 17884-1999费率和负荷控制用电子式纹波控制接收机》
- 深度解析(2026)GBT 17454.1-2017机械安全 压敏保护装置 第1部分∶压敏垫和压敏地板的设计和试验通则
- 武汉职业技术学院《信息融合》2025-2026学年第一学期期末试卷
- 郑州旅游职业学院《合唱与指挥二》2025-2026学年第一学期期末试卷
- 景德镇学院《有色金属材料及应用》2025-2026学年第一学期期末试卷
- 龙激光前列腺增生课件
- JJG 693-2011可燃气体检测报警器
- GB/T 10003-2008普通用途双向拉伸聚丙烯(BOPP)薄膜
- 可再生能源领域:阳光电源企业组织结构及部门职责
- (完整版)初一(上)期末考试数学试卷(新人教版)+
- 诉讼文书送达地址确认书
- 可行性研究报告审批流程图
- 科万物业公司电梯应急救援工作流程
- GB∕T 32336-2015 气动 带可拆卸安装件的缸径32mm至320mm的气缸基本尺寸、安装尺寸和附件尺寸
- MBTI16种人格类型及其通常具有的特征
- 标杆酒店施工图阶段审图要点-强电
- 大猫英语分级阅读 四级1 Sounds课件
评论
0/150
提交评论