数据技术应用 12_第1页
数据技术应用 12_第2页
数据技术应用 12_第3页
数据技术应用 12_第4页
数据技术应用 12_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

项目5创建和管理数据表DATABASETECHNOLOGY主讲人:XXXX.XXXXX时间:目录项目描述与学习目标01任务5.1创建数据表02任务5.2管理数据表03CONTENTS04任务5.3保证表中数据完整性05任务5.4操作数据项目概述01Part-DATABASETECHNOLOGY学生成绩管理数据库创建好以后,数据库中只有基本的系统信息,还无法进行数据的录入和查询工作,原因是数据库中还没有创建用户自定义的数据表。数据表是数据库存储数据的主要容器,其他有关数据库对象的操作基本上都是基于数据表进行的。接下来我们来完成数据库中数据表的创建和管理以及数据装载和管理工作。根据项目需求,需要完成学生成绩管理系统“SGMS”数据库中数据表的department(部门表)、teacher(教师表)、speciality(专业表)、coursetype(课程类型表)、course(课程信息表)、class(班级表)、student(学生信息表)的创建以及数据录入操作,并通过设置完整性约束来确保数据的有效性和一致性。项目目标(1)了解数据表的基本概念以及分类;(2)理解数据完整性的概念、约束的分类以及作用;(3)掌握ISNERT、UPDATE、DELETE语句的语法;知识目标(1)能够熟练创建、修改、删除数据表;(2)能够根据需求创建约束来保证数据完整性;(3)会使用ISNERT、DELETE、UPDATE语句进行数据的插入、删除、更新操作;能力目标(1)通过规范定义表格结构,塑造IT行业标准和规范意识;(2)通过规范实施约束保证数据完整性,增强规则意识和数据安全意识;(3)通过数据规范操作,培养学生严谨的工作态度,提高学生的职业素养。职业素质目标学习目标任务5.1创建数据表02Part-DATABASETECHNOLOGY

在完成学生成绩管理系统数据库的创建之后,需要根据数据库的逻辑结构设计,创建数据库中所有的表,确定每张表的表名、列名、数据类型等。各表的结构详细设计参照书本【任务描述】系统表是SQLServer数据库的重要组成部分,它存储着大量系统级信息,比如以sys开头的表。这些表构成了数据库的数据字典,对数据库的运行和管理起着关键作用,记录了数据库对象的定义、权限设置、数据类型等重要信息。然而,出于系统稳定性和安全性的考虑,用户不能直接对其进行修改,否则可能导致数据库出现严重故障。系统表永久表:永久表用于长期存储业务数据,是数据库中最核心的数据存储载体。像student表存储学生的个人信息,course表记录课程相关数据,只要数据库存在且未被手动删除,这些表就会一直保存其中的数据,为业务系统提供持续的数据支持。临时表:临时表主要用于存储临时数据,根据其可见范围可分为本地临时表和全局临时表。本地临时表以“#”开头命名,仅在当前数据库连接中可见,当该连接会话结束后,本地临时表会自动被系统删除,有效节省系统资源;全局临时表以“##”开头,所有数据库连接都能访问它,但同样在相关会话结束后自动删除。用户表【知识储备】数据表分类输入数据定义表结构定义表结构实际上就是数据结构的设计,其核心工作是确定表的各列列名及其数据类型、数据长度、是否允许为空等。定义表结构时要注意以下几点:1)

允许空:决定某列是否允许为空值。2)

默认值:当在表中插入该列为空值的行时,用此默认值。设置默认值能够起到默认输入的作用,减少输入数据的工作量,如设置性别列的默认值为“男”。3)标识列:设置为标识的列,可以由系统自动操作计数(自动编号),不用用户输入,对于一些具有递增或递减自动编号性质的列,如订单号、发票号等可以设置为标识列。标识列的数据类型必须是不含小数位的数值类型,且不允许为空、不能有默认值。4)计算列:计算字段是一个虚拟的字段,它并未将计算结果实际存储在表中,而只是在运行时才计算出结果。在设计计算列时,不需要指定该字段的数据类型。设置约束使用INSERT、DELETE、UPDATE语句修改数据时,数据的完整性可能会遭到破坏,也可能会将无效的数据添加到表中。约束定义了数据进入数据库的规则,是分配给表或表中某列的一个属性,其主要目的在于防止列中出现非法数据,可以自动维护数据库中的数据完整性。数据完整性是指数据的正确性、完备性和一致性,是衡量数据库质量好坏的重要标准。为了解决类似的问题,数据库管理系统提供了对数据库中表、列实施数据完整性约束的方法。【知识储备】表的设计输入数据设计好表结构之后,就可以向表中输入数据了。输入数据时,必须遵循所设置的约束条件,否则服务器将拒绝接受不满足约束规定的数据。【知识储备】使用T-SQL脚本创建数据表用T-SQL脚本创建表比使用可视化界面创建表更加直接、有效。T-SQL使用CREATETABLE语句创建表,其基本语法格式为:CREATETABLE表名({列名

数据类型NOTNULL|NULL})其中,各参数的含义如下。1)表名:将要创建的表的名称,在数据库里表名必须唯一,而且需符合命名规则。2)列名:列名在一个表内必须唯一,且需符合标识符命名规则。3)数据类型:可以使用系统数据类型,也可以使用用户定义的数据类型。对于需要给定数据最大长度的类型,在定义时要给出长度。4)NOTNULL|NULL:指定该列是否允许空值。【任务实施】使用可视化界面创建数据表(演示操作)【任务实施】使用SSMS执行T-SQL脚本(演示操作)学生人数可以使用COUNT()函数来统计。表中没有直接存储学生年龄,需要通过调用DATEDIFF()函数来计算得到,再用AVG()函数来统计。【例3-5】从学生成绩管理系统的学生表中统计学生人数和平均年龄。USESGMSGOSELECTCOUNT(*)AS'学生数'FROMstudentGOSELECTAVG(DATEDIFF(year,birthday,getdate()))AS'平均年龄'FROMstudentGO【任务实施】使用T-SQL脚本创建数据表

(演示操作)【例5-2】在SGMS数据库中创建student表。CREATETABLEstudent(studentid char(10)NOTNULL,studentname varchar(10)NOTNULL,nation char(10),sex char(2),birthday datetime,classid char(7),telephone varchar(16),credithour tinyintNOTNULL,ru_date char(4),address varchar(50),pwd varchar(16),remark varchar(200))GO任务5.2管理数据表03Part-DATABASETECHNOLOGY

在表结构创建完成以后,根据实际的需要,有可能会对表的原有设计做相应的修改,如增加一列、删除一列,或者对相应的某一列的数据类型、约束进行修改等。本任务对“学生成绩管理系统”数据库中各表做如下修改:1.查看student表属性。2.向student表中增加photourl列(表示照片URL地址)。3.修改student表结构,删除email字段。4.将student表studentname列类型修改为varchar(60),且不允许为空值。【任务描述】1.使用T-SQL脚本修改表结构使用ATLERTABLE语句可以修改表结构,修改操作包括增加列、删除列及修改列定义。(1)增加列。可通过ADD子句实现,其基本语法格式为:ATLERTABLE表名ADD列名

列的描述(2)删除列。要删除表中的某列可以用DROPCOLUMN子句实现,其基本语法格式为:ATLERTABLE表名DROPCOLUMN列名(3)修改列定义。修改列定义可以用ALTERCOLUMN子句实现,其基本语句格式为:ALTERTABLE表名ALTERCOLUMN列名

列的描述2.使用T-SQL脚本删除表结构使用DROPTABLE语句可以删除表,其基本语法格式为:DROPTABLE表名【知识储备】使用T-SQL脚本修改与删除表结构【任务实施】使用可视化界面管理数据表

【例5-3】使用可视化界面查看student表属性。【任务实施】使用可视化界面管理数据表

【例5-4】修改student表结构,添加email字段。【任务实施】使用可视化界面管理数据表

【例5-5】删除SGMS数据库中的student表。【任务实施】

使用T-SQL脚本管理数据表(演示操作)可以使用系统存储过程sp_help来查看表格信息【例5-6】查看表student的基本信息。USESGMSGOEXECsp_helpstudentGO【任务实施】使用T-SQL脚本管理数据表(演示操作)如果表中已经存在数据,向表中增加一列时,应使新增加的列有默认值或允许为空值,SQLServer将向表中已经存在的行填充新增加列的默认值或空值。如果既没有提供默认值也不允许为空值,那么新增加列的操作将会出错。【例5-7】向student表中增加photourl列(表示照片URL地址)。ALTERTABLEstudentADDphotourlvarchar(60)GO【任务实施】使用T-SQL脚本管理数据表(演示操作)【例5-8】删除student表中的email列ALTERTABLEstudentDROPCOLUMNemailGO【任务实施】使用T-SQL脚本管理数据表(演示操作)【例5-9】将student表studentname列类型修改为varchar(60),且不允许为空值。ALTERTABLEstudentALTERCOLUMNstudentnamevarchar(60)NOTNULLGO【任务实施】使用T-SQL脚本管理数据表(演示操作)删除表之前一定要确定该表是不再需要的表。一旦一个表被删除,那么它的数据、结构定义、约束、索引等都将被永久删除。【例5-10】删除SGMS数据库中的course表。DROPTABLEcourseGO任务5.3保证表中数据完整性04Part-DATABASETECHNOLOGY

在表中输入数据时,很难避免输入无效或者错误的信息,如在student表中出现重复的学号或在性别字段输入了非法数据等。此时就需要依靠完整性约束来避免此类情况的发生。下面继续完善上述数据表,使数据表满足设计中提出的各种约束。学生成绩管理系统的数据完整性设置任务如下:(1)设置student表等表格中的主键,使其不能出现空值和重复值。(2)设置grade表中一个学生一门课程只能有一个成绩。(3)设置course表的coursename字段不能出现重复值。(4)设置student表中nation字段默认值为“汉”,提高数据录入效率。(5)设置student表中sex字段只能输入“男”或者“女”。(6)设置grade表的courseid、studentid列必须引用已经存在的数据,保证数据表之间数据的一致性。【任务描述】数据完整性就是用于保证数据库中的数据在逻辑上的一致性、正确性和可靠性,强制数据完整性的机制可确保数据库的数据质量。数据完整性一般包括域完整性、实体完整性、参照完整性三种类型【知识储备】数据完整性的概念及分类约束的创建始终和表的创建、修改分不开,因为约束是关联在表的某一列或几列的组合上的,所以可以通过CREATETABLE语句在建表的时候添加约束,也可以使用ALTERTABLE语句为已经存在的表添加约束。(1)在创建表时创建约束,语法格式如下:CREATETABLE表名

(列名

数据类型

列约束,......CONSTRAINT约束名

表约束,......)(2)在修改表时添加约束,语法格式如下:ALTERTABLE表名

ADD[CONSTRAINT约束名]约束定义【知识储备】创建约束的T-SQL语句如果发现约束影响到业务或者不再需要某个约束,可以删除。语法格式如下:ALTERTABLE表名

DROPCONSTRAINT约束名

【知识储备】删除约束的T-SQL语句【任务实施】使用可视化界面管理数据表

【例5-3】使用可视化界面查看student表属性。【任务实施】使用可视化界面创建PRIMARYKEY约束

【例5-11】为student表的studentid字段创建PRIMARYKEY约束。【任务实施】使用可视化界面创建UNIQUE约束

【例5-12】为course表的coursename列创建UNIQUE约束。【任务实施】使用可视化界面创建DEFAULT约束

【例5-13】为student表sex字段添加默认值“男”。【任务实施】使用可视化界面创建CHECK约束

【例5-14】为student表中sex字段创建CHECK约束,性别只允许为“男”“女”。【任务实施】使用可视化界面创建FOREIGNKEY约束

【例5-15】为course表的coursetypeid列创建FOREIGNKEY约束,引用coursetype表的主键。【任务实施】使用T-SQL脚本创建PRIMARYKEY约束(演示操作)PRIMARYKEY约束标识列或列集,使这些列或列集的值唯一标识表中的行。class表主键是classid,对于单个字段所建立的PRIMARYKEY约束称为列级主键。【例5-16】在创建class表时,为classid创建PRIMARYKEY约束。CREATETABLEclass(classid char(7)PRIMARYKEY,classname varchar(12)notnull,specialityid char(5),specialitynameVarchar(30),entranceyear char(4),monitorid char(10))GO【任务实施】使用T-SQL脚本创建PRIMARYKEY约束(演示操作)grade表的主键是studentid和courseid两列组合。以组合关键字段建立的主键称为表级主键,这种多字段组合的约束需要在CREATETABLE语句的最后定义。【例5-17】在创建grade表时,为grade表创建PRIMARYKEY约束。CREATETABLEgrade(studentid char(10),courseid char(8),term nvarchar(20),score tinyint,PRIMARYKEY(studentid,courseid))GO【任务实施】使用T-SQL脚本创建PRIMARYKEY约束使用ALTERTABLE语句向现有表创建PRIMARYKEY约束。当创建好表之后,可以通过ALTERTABLE命令来实现对表结构的修改,其基本语法格式为:ALTERTABLE表名ADD[CONSTRAINT约束名]PRIMARYKEY[CLUSTERED|NONCLUSTERED](列名[,...])各参数含义如下:

约束名:为约束指定的名称。

CLUSTERED|NONCLUSTERED:索引选项,CLUSTERED表示会在主键列创建聚集索引,NONCLUSTERED表示会在主键列创建非聚集索引,默认为聚集索引。

列名:表示创建PRIMARYKEY约束所依据的列。【任务实施】使用T-SQL脚本创建PRIMARYKEY约束(演示操作)【例5-18】为course表创建PRIMARYKEY约束。ALTERTABLEcourseADDCONSTRAINTPK_coursePRIMARYKEY(courseid)GO注意:在一个表中,主键值必须是唯一的,即不能有两行是同一个主键值,也不能存在NULL值。每一个表都应该有且只有一个主键,可以有一个以上的列组合作为主键,这些列的组合值能唯一标识表中的行。【任务实施】使用T-SQL语句创建UNIQUE约束(演示操作)UNIQUE约束强制检查特定列值的唯一性。对于UNIQUE约束的列,不允许出现相同的值,这一点与主键约束类似;与主键约束不同的是,UNIQUE约束的列允许为空值。【例5-19】创建course表,为coursename列创建UNIQUE约束(保证课程名不重复)。CREATETABLEcourse(courseid char(8) PRIMARYKEY,coursename varchar(20)NOTNULLUNIQUE,coursetypeid char(3),totalperiod tinyint,weekperiod tinyint,credithour tinyint,remark varchar(50))GO【任务实施】使用T-SQL语句创建UNIQUE约束(演示操作)【例5-20】为class表创建UNIQUE约束,约束班级名称不能重复。ALTERTABLEclassADDCONSTRAINTun_nameUNIQUE(classname)GO使用ALTERTABLE语句为现有表创建UNIQUE约束,其基本语法格式为:ALTERTABLE表名ADD[CONSTRAINT约束名]UNIQUE(列名)【任务实施】使用T-SQL脚本创建DEFAULT约束(演示操作)【例5-21】创建teacher表,为sex列创建DEFAULT约束,默认值为“男”。CREATETABLEteacher( teacherid char(8) PRIMARYKEY, teachername nvarchar(10), departmentid char(3), sex char(2) DEFAULT'男', technicalpost char(16), telephone char(16), homeaddr nvarchar(50), pwd nvarchar(50),remark nvarchar(200))GO【任务实施】使用T-SQL脚本创建DEFAULT约束(演示操作)【例5-22】为teacher表的密码列创建DEFAULT约束,默认值为“123456”。ALTERTABLEteacherADDCONSTRAINTdef_pwdDEFAULT'123456'FORpwdGO使用ALTERTABLE语句为现有表创建DEFAULT约束,其基本语法格式为:ALTERTABLE表名ADD[CONSTRAINT][约束名][DEFAULT]表达式FOR列名【任务实施】使用T-SQL脚本创建DEFAULT约束(演示操作)【例5-21】创建teacher表,为sex列创建DEFAULT约束,默认值为“男”。CREATETABLEteacher( teacherid char(8) PRIMARYKEY, teachername nvarchar(10), departmentid char(3), sex char(2) DEFAULT'男', technicalpost char(16), telephone char(16), homeaddr nvarchar(50), pwd nvarchar(50),remark nvarchar(200))GO【任务实施】使用T-SQL脚本创建CHECK约束(演示操作)userType的取值范围仅为“一般管理员”和“超级管理员”两种,这类需求可以用CHECK约束来实现。【例5-23】创建users表时为usertype列创建CHECK约束CREATETABLEusers(usernamechar(10)PRIMARYKEY,mypasswordvarchar(50)NOTNULL,userTypevarchar(20)CHECK(usertype=’超级管理员’ORusertype=’一般管理员’))GO【任务实施】使用T-SQL脚本创建CHECK约束(演示操作)CHECK约束可以对放入列中的值进行限制,以强制执行域的完整性。本任务可以使用like关

键字来限制telephone列值的格式。【例5-24】为student表的telephone列创建CHECK约束,约束telephone列中只允许出现1开头的11位数字。ALTERTABLEstudentADDCONSTRAINTck_telCHECK(telephoneLIKE'1[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')GO使用ALTERTABLE语句为现有表创建CHECK约束,其语法格式为:ALTERTABLE表名ADDCONSTRAINT约束名CHECK(表达式)【任务实施】使用T-SQL脚本创建FOREIGNKEY约束(演示操作)

建表的同时要建立department对teacher表的引用联系,表之间的引用可以通过FOREIGNKEY约束实现。【例5-25】创建department表,为departmenthead列创建FOREIGNKEY约束(引用teacher表的主键列)。CREATETABLEdepartment(departmentidchar(3)PRIMARYKEY,departmentnamevarchar(30)NOTNULL,departmentheadchar(8)FOREIGNKEYREFERENCESteacher(teachertid))GO【任务实施】使用T-SQL脚本创建FOREIGNKEY约束(演示操作)CHECK约束可以对放入列中的值进行限制,以强制执行域的完整性。本任务可以使用like关

键字来限制telephone列值的格式。【例5-26】为grade表的courseid列和studentid列创建FOREIGNKEY约束(分别引用course表和student表)。ALTERTABLEgradeADDCONSTRAINTFK_SFOREIGNKEY(studentid)REFERENCESstudent(studentid)GOALTERTABLEgradeADDCONSTRAINTFK_CFOREIGNKEY(courseid)REFERENCEScourse(courseid)GO使用ALTERTABLE语句为现有表创建FOREIGNKEY约束,其基本语法格式为:ALTERTABLE表名1ADD[CONSTRAINT约束名]FOREGINKEY(列名1)REFERENCES表名2(列名2)在该语句中,表名1是要设置外键的表;列名1是外键列;表名2是引用的主键表;而列名2是主键表的主键列。数据库完整性约束有助于维护数据的完整性,并减少数据错误和不一致性的风险。但任何事物都是有两面性的,因此合理设计完整性约束至关重要。1.根据数据库完整性约束的类型确定其实现的系统层次和方式,应提前考虑约束对系统性能的影响。一般情况下,静态约束应尽量包含在数据库模式中,而动态约束建议由应用程序实现。2.实体完整性约束、参照完整性约束是最重要的约束,在不影响系统关键性能的前提下应尽量确保各类约束得以实施。以一定的时间和空间来换取数据完整一致性是值得的。

3.要慎用目前主流DBMS都支持的触发器功能,其性能开销相对较大,且多级触发机制难以精准控制,容易引发错误。因此,在使用触发器时应持谨慎态度。若确有必要,推荐使用BEFORE型语句级触发器,以降低潜在风险。4.在需求分析阶段就必须制定完整性约束的命名规范,尽量使用有意义的英文单词、缩写词、表名、列名及下划线等组合,使其易于识别和记忆。5.依据业务规则,对数据库完整性进行详尽的测试至关重要。这有助于及时发现并排除潜在的完整性约束冲突及对性能的负面影响,确保数据库的稳定运行。6.数据库设计人员不仅负责数据库完整性约束的设计实现,还要负责对应用软件实现的数据库完整性约束进行审核。这一双重职责的履行,对于确保数据库完整性的全面实现至关重要。标准规范数据库完整性约束的设计建议任务5.4操作数据05Part-DATABASETECHNOLOGY向“学生成绩管理”数据库中数据表department表、teacher表、speciality表、coursetype表、course表、class表、student表、grade表、users录入数据。项目描述01使用INSERT语句添加数据INSERT语句用于向表格添加数据,其基本语法格式为:INSERT[INTO]表名[(列名列表)]VALUES(值的列表)向表格添加数据的时候,需要提供表格中列名的列表和值的列表。其中值的列表要和列名列表一一对应。使用INSERT语句时需要注意以下问题:1)当将数据添加到一行中的所有列时,可以在值的列表中按表格定义顺序提供数据,此时可以省略列名列表,直接使用“INSERTINTO表名VALUES(值的列表)”语句。2)当将数据添加到一行中的部分列时,需要将值的列表与列名列表匹配。3)没有提供值的列将用默认值填充,没有默认值的用NULL填充。4)自动编号的标识列不需要在INSERT语句中提供值,和默认值一样,可以在INSERT语句中忽略该字段。01【知识储备】插入数据使用SELECTINTO语句添加数据SELECTINTO语句从一个表中选取数据,然后把数据插入另一个表中。SELECTINTO语句常用于创建表的备份复件或者用于对记录进行存档。其基本语法格式为:SELECT<(列名列表)>INTO新表名FROM{<表名>}[,…n]WHERE<查询条件>02【知识储备】插入数据使用UPDATE语句可以更改表或视图中单行、行组或所有行的数据值,还可以用语句更新远程服务器上的行,UPDATE语句可对表中数据进行修改,其基本语法格式为:

UPDATE表名SET列名1=表达式1,列名2=表达式2,…[WHERE条件]使用UPDATE语句可以更改单行或多行的特定列数据,SET后跟的赋值表达式可以修改特定列的值;WHERE子句用于指定修改哪些行的数据。如果没有WHERE子句,将修改所有行的数据。在使用UPDATE语句时需要注意以下问题:1)UPDATE语句会修改指定列的数据,并将修改前后的数据记录到日志中,未被指定修改的数据将不会受到影响。2)执行UPDATE时,要特别谨慎WHERE条件的设置,以避免误操作更新整个表。3)在更新数据时,需要考虑数据的一致性和完整性,避免影响表与表之间互相引用的数据,避免数据损坏。01【知识储备】更新数据(1)使用DELETE语句删除数据当数据的添加工作完成后,随着关系表中数据的使用和操作,表中可能会存在一些无用的数据。这些无用数据会占用空间,并影响修改和查询数据的速度,应及时对无用的数据进行删除。使用DELETE语句可以删除关系表中的一行或多行记录,其基本语法格式为:DELETE表名[WHERE条件]使用DELETE语句时应该注意以下几点:1)要特别谨慎WHERE条件的设置,以避免误操作删除整个表的数据。2)DELETE语句不能删除单个列的值,只能删除整行数据。3)使用DELETE语句仅能删除记录即表中的数据,不能删除表本身。4)删除也可能会遇到引用完整性问题,删除时需要考虑一致性与完整性,避免影响表与表之间的互相引用的数据。【知识储备】删除数据(2)使用TRUNCATETABLE语句删除数据使用TRUNCATETABLE语句可以快速删除表中所有行记录,而且无日志记录,只记录整个数据页的释放操作。TRUNCATETABLE语句在功能上与不含WHERE子句的DELETE语句相同,但是TRUNCATETABLE语句的速度更快,使用的系统资源和事务日志资源更少。其基本语法格式为TRUNCATETABLE表名虽然使用不带筛选条件的DELETE语句和TRUNCATETABLE语句都能够删除表中的所有数据,但是它们之间有着本质区别。使用TRUNCATETABLE语句要比用DELETE语句快得多,表现为以下两点:1)使用DELETE语句时,系统一次一行地处理要删除的记录,在从表中删除数据之前,会在事务日志中记录删除的数据和操作时间等。在删除失败时,可以使用日志来恢复数据。2)使用TRUNCATETABLE语句时,系统将一次性完成删除操作,不会记录事务日志。因此,使用TRUNCATETABLE语句删除数据后,将不能恢复。【知识储备】删除数据【任务实施】添加数据(演示操作)

当向表中所有列添加数据时,INSERT语句中无须给出表中的列名,只要在VALUES中给出所有的数据就可以了。但给出的数据要与用CREATETABLE定义表时给定的列名顺序、数据类型和个数相同。【例5-27】向course表中添加一条记录:'101010','数据库技术与应用','002',64,4,3,'数据库技术'。INSERTINTOcourseVALUES('101010','数据库技术与应用','002',64,4,3,'数据库技术类课程')GO若对表中列的顺序不明确,则要在表名后给出具体的列名,而且列名顺序、类型和数量也要与VALUES中给出的数据一一对应。如上面的语句也可以写为INSERTINTOCourse(courseid,coursename,coursetypeid,totalperiod,weekperiod,credithour,remark)VALUES('101010','数据库技术与应用','002',64,4,3,'数据库技术类课程')GO【任务实施】添加数据(演示操作)

要将数据添加到一行中部分列,则必须同时指定列名以及要赋给这些列的数据。student表中studentid、studentname和credithour三列均为非空,在插入记录时必须给出具体的值。【例5-28】向student表中添加一条记录:学号为2023002、姓名为张红、女生、出生日期为2003年8月8日、已修学分为34。INSERTINTOstudent(studentid,studentname,sex,birthday,credithour)VALUES('2023002','张红','女','2003-8-8',34)GO使用INSERT语句的时候应该注意以下问题:

输入数据的顺序和数据类型必须与表中列的顺序和数据类型一致。

列名与数据一一对应,也可以省略列名列表,按表格定义的列顺序提供全部数据。【任务实施】添加数据(演示操作)

先建立一个stu_girl表,表中包含studentid、studentname、nation列。然后查询student表中的女生数据,插入到新表stu_girl中。【例5-29】将s

温馨提示

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

最新文档

评论

0/150

提交评论