- 1、本文档共75页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 Transact-SQL语言 3.1 数据定义语言 数据定义语言(DDL)是指用来定义和管理数据库以及数据库中各种对象的语句,这些语句包括CREATE、ALTER和DROP等。在SQL Server 2005中,数据库对象包括表、视图、触发器、存储过程、规则、默认、用户自定义的数据类型等。这些对象的创建、修改和删除等都可以通过使用CREATE,ALTER,DROP等语句来完成。 3.1 数据定义语言 例3-1 创建数据库表 /*下面的例子将创建表S。*/ CREATE TABLE S ( sno char(10) NOT NULL /*学号字段*/ CONSTRAINT PK_sno PRIMARY KEY CLUSTERED/*主键约束*/ CHECK (sno like0-9][0-9])/*检查约束*/, sname char(8) NULL, /*姓名字段*/ sex char(2) NULL, /*性别字段*/ age int NULL, /*年龄字段*/ dept varchar(20) NULL/*系别字段*/ ) 3.1 数据定义语言 例3-2 修改S表,增加一个班号列 程序清单如下: ALTER TABLE S ADD CLASS_NO CHAR(6) 3.1 数据定义语言 例3-3 删除S表 程序清单如下: DROP table S 3.2 数据操纵语言(DML) 数据操纵语言是指用来查询、添加、修改和删除数据库中数据的语句,这些语句包括SELECT、INSERT、UPDATE、DELETE等。 将在第6章详细讲解SELECT语句的语法及实例。 3.2.2 INSERT语句 INSERT语句用于向数据库表或者视图中加入一行数据。INSERT语句的语法形式如下: INSERT [INTO] table_or_view [(column_list)] VALUES(data_values) 其中,table_or_view是指要插入新记录的表或视图;column_list是可选项,指定待添加数据的列; VALUES子句指定待添加数据的具体值。列名的排列顺序不一定要和表定义时的顺序一致。但当指定列名表时VALUES子句值的排列顺序必须和列名表中的列名排列顺序一致,个数相等,数据类型一一对应。 3.2.2 INSERT语句 在进行数据插入操作时须注意以下几点: (1)必须用逗号将各个数据分开,字符型数据要用单引号括起来。 (2)INTO子句中没有指定列名,则新插入的记录必须在每个属性列上均有值,且VALUES子句中值的排列顺序要和表中各属性列的排列顺序一致。 (3)将VALUES子句中的值按照INTO子句中指定列名的顺序插入到表中。 (4)对于INTO子句中没有出现的列,则新插入的记录在这些列上将取空值,如上例的SCORE即赋空值。但在表定义时有NOT NULL约束的属性列不能取空值。 3.2.2 INSERT语句 例3-5 创建SC表(学生选课表),并向SC表中插入一条选课记录(’S7’,’C1’)。 程序清单如下: CREATE TABLE SC ( sno char(10) NOT NULL, cno char(2) NULL, /*课程编号字段*/ score numerical(4,1) NULL /*成绩字段*/ ) Go INSERT INTO SC (sno,cno) VALUES (3130050101, c1) Go 3.2.2 INSERT语句 下面是插入与列顺序不同的数据的例子。 例3-6 使用 column_list 及 VALUES 列表显式地指定将被插入每个列的值。 程序清单如下: CREATE TABLE T1 ( column_1 int, column_2 varchar(30)) Go INSERT T1 (column_2, column_1) VALUES (This is a test,1) 3.2.2 INSERT语句 插入多行数据的语法格式为: INSERT INTO table_or_view [(column_list)] 子查询 例3-7 求出各位学生的平均成绩,把结果存放在新表AVGSCORE中。 程序清单如下: /*首先建立新表AVGSCORE,用来存放学号和学生的平均成绩。*/ CREATE TABLE AVGSCORE (SNO CHAR(10), AVGSCORE SMALLINT)
文档评论(0)