




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、:表的基本概念;数据表的创建、修改和:表的基本概念;数据表的创建、修改和删除;查看和编辑表中的数据;删除;查看和编辑表中的数据;:数据表的创建、修改和删除:数据表的创建、修改和删除;编辑表中数据;编辑表中数据;:使用:使用SQL语句创建和修改数据表;语句创建和修改数据表;:理解表的特点和类型,熟练掌握创建和修改:理解表的特点和类型,熟练掌握创建和修改表的相关技术。表的相关技术。表是关系模型中中表示实体的方式,是数据库存储数据的主要对象。SQL Server数据库的表由行和列组成,行有时也称为记录,列有时也称为字段或域,如图4.1所示。 行列订单号客户代号产品号单价数量订单日期10248VINE
2、T1114.0020 2006-07-0510248VINET429.8015 2006-07-0510249TOM2218.6010 2006-07-0610250JACK1114.0030 2006-07-0810250JACK4134.5025 2006-07-08图4.1 表的结构在SQL Server 2005系统中把表分成了4种类型,即、和。 就是通常提到的数据库中存储数据的数据表,是最重要、最基本的表其他几种类型的表都是有特殊用途的表,往往是在特殊应用环境下,为了提高系统的使用效率而派生出来的。 ,顾名思义是临时创建的、不能永久生存的表。临时表被创建之后,可以一直存储到SQL S
3、erver实例断开连接为止。临时表又可以分为本地临时表和全局临时表,本地临时表只对创建者是可见的,全局临时表在创建之后对所有的用户和连接都是可见的。是将数据水平划分成多个单元的表,这些单元可以分散到数据库中多个文件组里面,实现对单元中数据的并行访问。如果表中的数据量非常庞大,并且这些数据经常被以不同的使用方式来访问,那么建立已分区表是一个有效的选择。储存了有关SQL Server服务器的配置、数据库配置、用户和表对象的描述等系统信息。一般来说,只能由DBA来使用系统表。 4.2.1 在图形界面下创建数据表在图形界面下创建数据表 4.2.2 用用SQL命令创建数据表命令创建数据表表的有关操作都是
4、在Microsoft SQL Server 2005 的Microsoft SQL Server Management Studio中完成的。在Microsoft SQL Server 2005系统中,可以使用Management Studio完成创建表、修改表结构、查看表属性信息等操作。本节将以“学生选课”数据库中Student表的创建为例,介绍如何在图形界面下完成数据表的创建。在Microsoft SQL Server Management Studio中,创建一个名为“学生选课”的数据库。右键单击该数据库中的,在弹出菜单中选择,打开表设计器,如图4.2所示。 图4.2 使用表设计器创建表
5、在图4.2的结构中修改表属性,将表名“Table_1”改为“Student”,并输入表中各列的名称、数据类型、是否为空等信息。选中任意一列,在窗体的下半部分将显示该列的主要属性信息。如图4.3所示。图4.3 建立Student表结构该属性。在SQL Server中,列的,例如,Student表中的Ssex列和Sage列。当某列不允许为空时,只需要在该列的“允许空”选项中取消复选框就行了,如Sno列。 很多表中使用编号列来标识表中的记录。在插入数据时,用户并不需要指定编号列的值,只要他们互不相同就行了。在这种情况下,可以将编号列设置为标识列,设置成功后,每插入一条记录,系统都会根据增量值自动为该
6、列生成新数据。定义标识列需要指定两个值:和。这样,表中第一行记录的IDENTITY列的值就是种子值,其他行的IDENTITY列的值是在前一行值的基础上增加一个增量值得到的。通常将标识列的类型定义为或。例如,在上面创建学生表Student时,如果将学号列“Sno”定义为int型,那么就可以通过更改窗口下方的列属性将其设置为标识列,然后由自动生成该列的值。如图4.4所示。由于的,所以一般情况下而且,如果删除了这些列中的部分数据,还会造成标识符序列空缺已删除的标识符值是不能重用的,系统不会自动补充这部分数据值。 解决办法:使用SET IDENTITY_INSERT 语句将标识列设置为可以插入数据的状
7、态。该语句的基本格式为: 其中,ON表示可以插入数据表示可以插入数据,OFF表示拒绝插入数据表示拒绝插入数据。 是表中的或者,它的值可以表中的每一行记录。例如,每一个学生入学后都有一个学号,而且该学号和其他任何一个学生都是不同的,或者说,确定了一个学号就确定了一个学生。因此,在设计表时,可以把学号定义为主键。基本语法如下:基本语法如下:CREATE TABLE 表名表名( 列名列名1 数据类型和长度数据类型和长度1 列属性列属性1,列名列名2 数据类型和长度数据类型和长度2 列属性列属性2, 列名列名n 数据类型和长度数据类型和长度n 列属性列属性n) 在CREATE TABLE语句中需要指出
8、的元素与在表设计器中相同,包括表名、列名、列的数据类型以及列属性等。 在SQL Server Management Studio中,单击工具栏上的“新建查询”,在查询窗口中输入下面的脚本命令,可以创建4.2.1节中定义的Student表。USE 学生选课学生选课GOCREATE TABLE Student(SnointPRIMARY KEY IDENTITY(20050301,1),Sname varchar(20)NOT NULL,Ssexchar(2),Sagesmallint,Sdeptvarchar(20)其中,USE语句表示选择数据库;PRIMARY KEY属性定义Sno字段为主键;
9、IDENTITY (20050301,1) 属性定义Sno列的第一行记录值为20050301,以后每一行的Sno列值在此基础上依次递增,增量为1;NOT NULL表示不允许Sname列为空。在创建表的过程中,除了在列中直接指定数据类型和属性之外,还可以对某些列进行计算。 例如,使用计算列创建学生成绩表Sgrade可用下面语句实现:CREATE TABLE Sgrade(Sno int, Grade1 int,Grade2 int,Grade3 int,Total AS Grade1+Grade2+grade3)注意注意: :一般情况下,计算列的数据并不进行物理存储,它仅仅一般情况下,计算列的数
10、据并不进行物理存储,它仅仅是一个虚拟列,只能用于显示。如果希望将该列的数据物理化是一个虚拟列,只能用于显示。如果希望将该列的数据物理化存储,可以使用存储,可以使用PERSISTEDPERSISTED关键字。关键字。 4.3.1 查看表属性查看表属性4.3.2 修改表结构修改表结构4.3.3 删除数据表删除数据表在SQL Server Management Studio中,选中要查看的数据表,单击鼠标右键,选择“属性”,将打开“表属性”对话框,如图4.7所示。 图4.7 通过“表属性”对话框查看表属性还可以通过sp_help存储过程存储过程来查看表结构信息。如图4.8所示。图4.8 使用存储过程
11、查看表结构信息1、在图形方式下修改表结构 在SQL Server Management Studio中,选中要查看的数据表,单击右键,在弹出菜单中选择“修改”,打开表设计器即可修改表结构。 2、使用ALTER TABLE语句修改表结构 添加列 修改列属性 删除列 修改列名和表名:【例4.1】在表Student中新增一列“入学年月”,列名为Sentrance,数据类型为datetime,允许空值。执行以下语句:ALTER TABLE Student ADD Sentrance datetime:当向表中新增一列时,最好为该列定义一个默认约束,使该列有一个默认值。这一点可以使用关键字关键字DEFA
12、ULT来实现;如果增加的新列没有设置默认值,并且表中已经有了其他数据,那么必须指定该列允许空值指定该列允许空值,否则,系统将产生错误信息。例如,【例4.1】中创建的Sentrance列是datetime类型,并且不允许为空。现在要将该列改为smalldatetime类型,并且允许为空。SQL语句如下:例如,要删除Student表中的Sentrance列,可以执行下面的SQL语句。ALTER TABLE Student DROP COLUMN Sentrance可以使用sp_rename存储过程对表和表中的列进行重命名,重命名的基本语法为:例如,如果想将Student表改名为StudentInf
13、o,可以执行以下SQL语句:sp_rename Student, StudentInfo删除表就是将从数据库中。也就是说,表一旦被删除,就无法恢复,除非还原数据库。因此,执行此操作时应该慎重。在SQL Server Management Studio中,选中要查看的数据表,单击右键,在弹出菜单中选择“删除”,将弹出“删除对象”对话框,单击“确定”按钮,选中的表就从数据库中被删除了。 也可以使用来完成数据表的删除。DROP TABLE语句的语法:【例4.2】删除“学生选课”数据库中的exam表。在使用DROP TABLE语句删除数据表时,需要注意以下几点:DROP TABLE语句;DROP TA
14、BLE语句不能删除正被其他表中的的表。当需要删除这种有外键约束参考的表时,必须先删除外键约束,然后才能删除该表;当删除表时,属于该表的。如果重新创建该表,必须重新创建相应的规则、约束和触发器等;DROP TABLE语句可以,表之间用逗号分开。4.4.1 手工添加表数据手工添加表数据4.4.2 查看表记录查看表记录4.4.3 用用INSERT语句插入数据语句插入数据4.4.4 用用UPDATE语句更新数据语句更新数据4.4.5 用用DELETE语句删除数据语句删除数据表创建以后,往往只是一个没有数据的空表。因此,向表中出入数据可能是创建表之后首先要执行的操作。无论表中是否有数据,都可以根据需要向
15、表中添加数据。当表中的数据不合适或者出现了错误时,可以更新表中的数据。如果表中的数据不再需要了,则可以删除这些数据。 在SQL Server Management Studio中,选中要查看的数据表,单击右键,在弹出菜单中选择“打开表”,可以打开查询表数据的窗口,该窗口显示了表中已经存储的数据,数据列表的最后有一个空行。如图4.11所示。插入数据时,将光标定位在空白行某个字段的编辑框中,就可以输入新数据。编辑完成后,选中其他行,即可完成数据的插入。 图4.11 编辑表数据:在编辑表中数据的过程中,有些读者可能会遇到这样一个问题,就是无法输入中文。这种情况出现在表的第一列为标识列、并且打开表时表
16、中已经存在数据,此时,光标定位在第一条记录的标识列中,再将光标定位到其他的编辑框,将无法输入中文。解决方法是在定义表结构时,不要将标识列定义为表的第一列,或者使用SQL命令进行数据的插入。在SQL Server Management Studio中,选中要查看的数据表,单击右键,在弹出菜单中选择“打开表”,可以打开查询表数据的窗口,就可以查看该表中现已存储的数据。另外,用户还还可在查询窗口中使用SELECT命令查看一个或多个表中的数据。 INSERT语句的基本语法:INSERT INTO 表名表名 (列名列名1 , 列名列名2, , 列名列名n)VALUES (值值1, 值值2 , , 值值n
17、)INSERT子句子句指定要插入的数据表名,并且可以同时指定表的列名称。VALUES子句子句指定要插入的数据。例: USE 学生选课学生选课GO INSERT INTO Student(Sname , Ssex, Sage, Sdep)VALUES (曾玉林曾玉林, 男男, 20, CS)要插入的数据表必须已经存在。要插入数据的表结构必须和SELECT语句的结果集兼容,也就是说,二者的列的数量和顺序必须相同、列的数据类型必须兼容等。当完全按照表中列的存储顺序来安排VALUES子句中的值时,可以在INSERT INTO子句中省略列名。向表中插入数据时,数字数据可以直接插入,但是字符数据和日期数据
18、要用英文单引号引起来,不然就会提示系统错误。一般情况下,使用INSERT语句一次只能插入一行数据。但是如果在INSERT语句中包含了SELECT语句,就可以一次插入多行数据了。 使用SELECT语句插入数据的基本语法形式为:可以使用UPDATE语句更新表中已经存在的数据,该语句既可以一次更新一行数据,也可以一次更新多行数据,甚至可以一次更新表中的全部数据行。UPDATE语句基本语法:当执行UPDATE语句时,如果使用了WHERE子句,则指定表中所有满足WHERE子句条件的行都将被更新,如果没有指定WHERE子句,则表中所有的行都将被更新。 【例4.3】将学生表Student中“刘尘”所属的学院
19、由CS改为SS。执行结果如图4.15所示,有一行记录被更新。图4.15 更新数据表数据更新数据时,每个列既可以被直接赋值,如例4.3,也可以通过计算得到新值。【例4.4】将所有学生的年龄增加1岁。USE 学生选课学生选课GOUPDATE Student SET Sage=Sage+1当表中的数据不再需要的时候,可以将其删除。一般情况下,可以使用删除表中的数据。该语句可以从一个表中删除一行或多行数据。使用DELETE语句删除数据的基本语法形式如下:在DELETE语句中,如果使用了WHERE子句,表示从指定的表中删除满足WHERE子句条件的数据行。如果没有使用WHERE子句,则表示删除指定表中的全部数据。 【例4.5】删除Exam表中姓名为“刘尘”的数据记录。USE 学生选课学生选课GODELET
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届伊川县小升初总复习数学测试题含解析
- 天门职业学院《流体力学与传热学基础》2023-2024学年第二学期期末试卷
- 天津体育学院《中国现当代文学作品导读》2023-2024学年第二学期期末试卷
- 上海邦德职业技术学院《化工过程模拟与仿真》2023-2024学年第二学期期末试卷
- 新疆维吾尔医学专科学校《时间序列分析课程》2023-2024学年第二学期期末试卷
- 辽宁广告职业学院《电子系统设计及应用》2023-2024学年第二学期期末试卷
- 系统性能监控和调优实践
- 南宁职业技术学院《材料科学基础B(双语)》2023-2024学年第二学期期末试卷
- 数据库初始化设置操作指南
- 南昌工程学院《物流基地管理》2023-2024学年第二学期期末试卷
- 肠系膜上动脉栓塞护理查房课件
- DL∕T 2528-2022 电力储能基本术语
- 产品研发指导专家聘用协议书
- 【正版授权】 IEC 60268-5:2003/AMD1:2007 EN-FR Amendment 1 - Sound system equipment - Part 5: Loudspeakers
- 2024年晋中职业技术学院单招职业技能测试题库完整参考答案
- DL-T5493-2014电力工程基桩检测技术规程
- 二年级数学下册混合运算计算100题(含详细答案)
- 小学体育小课题研究
- 新能源汽车故障诊断与排除实训工单
- 民族文化传承与创新鲁班工坊扬州三把刀建设方案
- 14J936《变形缝建筑构造》
评论
0/150
提交评论