数据库中表的操作

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

章节脉络4.1数据库对象4.2数据库中表的设计和创建4.3定义约束4.4使用默认和规则、数据表2、约束3、默认4、规则5、视图6、存储过程7、触发器4.1数据库对象、数据表:被称为列的集合数据表有两种:永久表:创建后一直存储临时表:运行中被系统创建,用户退出或系统修复会被自动删除学号姓名所属院系性别出生时间0001王林计算机男80-02-1000O2成名计算机男81-02-0100O3李芳芳计算机女79-12-3100O4黎明艺术男84-05-1200O5王艳艺术女82-11-1100O6王林计算机男80-02-10每行代表一个记录,要求唯一性(去除冗余)每列代表记录的一个域(称字段)、约束数据完整性实体完整性参照完整性域完整性数据库对象实体完整性行完整性,即将行定义为特定表的惟一实体实现方式:通过索引,unique约束,primarykey约束或identity属性实现数据库对象实现方法:通过定义相应的规则,约束,默认值对象等方法实现域完整性列完整性,用来指定列的数据输入是否具有正确的数据类型、格式以及有效的数据范围数据库对象实现方式:通过定义外键(外码)与主键(主码)间或外键与唯一键间的对应关系实现完整性要求参照完整性如果一个表中的某个字段或若干字段的组合是另一个表中的字段或字段组合,则称为原表的外码外键从表中不能够引用不存在的键值主表中的键值修改或删除了,则从表中该键值的所有引用要进行一致的更改和删除操作如果主表中没有关联的记录,则不能将记录添加到从表、默认学号姓名专业名性别出生时间入学日期001101王林计算机男80-02-10001102成名计算机男81-02-01001105李芳芳计算机女79-12-31001106黎明艺术男84-05-12001109王艳艺术女82-11-11设置默认值2009-09-072009-09-072009-09-072009-09-072009-09-072009-09-07向数据表中输入数值时,表中某值已具有默认值,不必一一输入创建方式:直接建表时创建默认创建默认值对象,再将其绑定到列、规则创建方式:直接建表时创建规则创建规则对象,再将其绑定到列学号姓名专业名性别出生时间身份证号001101王林计算机男80-02-10210***001102成名计算机男81-02-01220***001105李芳芳计算机女79-12-31230***001106黎明艺术男84-05-12240***001109王艳艺术女82-11-11250***当向表中插入数据时,指定该列接受数据值的范围、视图作用:从一个或多个相关联表中派生出来,用于集中,简化和定制显示数据库中的信息,限制用户所能看见和修改的数据,对一个或多个基表中的数据进行筛选和引用本质:一种虚拟表,不是数据库中的实际存在的表,内容来自于其他一些基表。形式与表相同,由行和列组成的表形式注意:数据库中存储视图的定义,而非视图中的数据、存储过程:实质:存放在服务器上的预先编译好的sql语句,它在第一次运行时进行语法检查和编译,编译后的存储过程在cache中用于后续调用,这样执行存储过程迅速而高效两类:系统存储过程:存在master中用户定义存储过程:由用户创建并能完成某一特定功能的存储过程存在用户数据库、触发器实质:一种能够自动运行的数据库对象,由预先设定的条件触发(脉冲)工作流程:当用户对某些数据进行修改或删除操作,事先设定的条件被满足就触发触发器的运行,弹出一些对话框告知非法操作,或引起数据不一致的混乱作用:有复杂的处理逻辑,实现约束,规则等不能实现的复杂的数据完整性和一致性,并由逻辑条件触发而自动执行数据库中表的设计和创建一、SQLServer中的数据类型数据类型空值字符型二进制型整型和精确数值型浮点型日期型unicode字符串用户定义数据类型数据库中表的设计和创建表述:表示未知,不可用或是将在以后添加的数据注意:①若一列允许为空值,则该列值可以不给出②若一列不允许为空值,则该列值必须给出空值与空格字符或数字0不同空值数据库中表的设计和创建表述:主要用来存储由字母,数字和符号组成的字符串char(n):由n指定定长字符串的长度,输入的字长小于n的长度时,用空格填充,若输入的字长大于n的长度时,自动截去多余部分varchar(n):变长列中的数据会去掉尾部的空格字符型数据库中表的设计和创建表述:指字符串由二进制值组成,而不是由字符组成常用于时间标记(timestamp)和image类型分类:binary:存储长度固定的二进制字符串varbinary:存储长度可变的二进制字符串image:存储大的二进制字符串(每行可达2GB)二进制型数据库中表的设计和创建整型:bitintsmallinttinyint精确数值型:意义与浮点型不同,精确数值型是精确的数值,不是近似值格式:decimal(p,s)和numeric(p,s)p(精度):指定小数点左右两边位数。最大精度为38(不包括小数点在内)s(小数位数):指定小数点右边可以存储的十进制数字的最大个数。0≤s≤p整型和精确数值型:浮点数据类型,8个字节real:实型数据,4个字节浮点型:年月日时分秒smalldatetime:年月日日期时间型的数据按照“月/日/年”顺序设定日期型,nvarcharntext:存储大量的文本image:1~2147483647字节的位模式,用来存储照片、目录图片或图画。一般不能够使用insert语句直接插入unicode字符串数据库中表的设计和创建用途:基于系统数据类型,当多个表的列要存储同样类型数据,且这些列具有完全相同的数据类型,长度和是否为空属性时,可使用用户定义数据类型用法:创建用户定义数据类型必须提供名称,新数据类型所依据的系统数据类型,数据类型是否为空值方法:①企业管理器②查询分析器创建:execsp_addtype命名,系统数据类型,是否为空删除:execsp_droptype‘用户定义数据类型名’用户定义数据类型数据库中表的设计和创建例:为出生日期字段设置一个自定义数据类型Execsp_addtypebirthday,smalldatetime,’notnull’例:为姓名字段设置自定义数据类型execsp_addtypexm,’varchar(10)’,’null’例:删除用户定义数据类型execsp_droptype’birthday’数据库中表的设计和创建二、数据表的设计和创建(1)企业管理器建表结构(2)使用sql语句命令方式创建表结构CREATETABLE[数据库名.[所有者名].]表名(字段名数据类型是否为空--字段的定义|字段名AS计算列值的表达式--计算列的实现|字段定义CONSTRAINT约束名--设置约束|字段定义PRIMARYKEY--设置主码|字段定义UNIQUE--设置惟一约束数据库中表的设计和创建例:基础表stud_info的创建CREATETABLEstud_info(stud_idCHAR(10)NOTNULL,nameVARCHAR(8)NOTNULL,birthdayDATETIME,genderCHAR(2),addressNVARCHAR(20),telcodeCHAR(12),zipcodeCHAR(6),markDECIMAL(3,0))数据库中表的设计和创建三、表结构的修改1、企业管理器修改表2、查询分析器修改表改表名:execsp_rename‘原表名’,‘新表名‘修改表结构:ALTERTABLE表名{ALTERCOLUMN字段名数据类型--改字段|ADDconstraint约束名--添加约束|add字段定义--注意:添加的字段的值一定可以为空|DROPCOLUMN字段名}数据库中表的设计和创建例:增加一个身份证号码列,改变birthday的属性ALTERTABLEstud_infoADD身份证号码varchar(20)NULL--必不加column例:修改表中已有列birthday的属性ALTERTABLEstud_infoALTERCOLUMNbirthdaysmalldatetime例:删除表stud_info中的birthday列ALTERTABLEstud_infoDROPCOLUMNbirthday--必加column、使用drop语句删除表命令:droptable表名注意:droptable不能删除系统表例:droptablestud_info数据库中表的设计和创建四、表数据的操作表的查看数据插入数据更新数据删除表的操作数据库中表的设计和创建①查看表结构:企业管理器—设计表查询分析器--executesp_help表名②查看表数据:企业管理器—打开表—返回所有行查询分析器--select*from表名查看表内容数据库中表的设计和创建企业管理器:选中表—打开表—返回所有行—输入查询分析器:语法:insertinto表名(字段列表)values(值1,值2,……)注意:插入数据将一条或多条记录添加到表尾字符型数据添加要加单引号字段列表处可以只写几个字段,不写的字段必须允许为空值表数据的插入数据库中表的设计和创建例:使用insert插入记录或不完整记录USEstudentINSERTINTOstud_infoVALUES(‘0401040125’,'傅兵','08-12-1985','男',‘甘肃省天水市','0863-7647456','564000','627')USEstudentINSERTstud_info(stud_id,name,address)VALUES('0401050129','护

1 / 50
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功