1、MicrosoftSQLServer示例SQL代码实验1 数据库实验1.1 创建数据库3使用Transact-SQL指定参数创建数据库(4)创建指定数据库testbase1CREATE DATABASE testbase1ON( NAME=testbase1_data, FILENAME=e:张小山数据库testbase1_data.mdf)LOG ON( NAME=testbase1_log, FILENAME=e:张小山数据库testbase1_log.ldf)GO(5)指定多个参数创建数据库testbase2USE masterGO CREATE DATABASE testbase2ON
2、PRIMARY (NAME=prim_sub_dat1, FILENAME=E:张小山数据库prim_sub1_dat.mdf, SIZE=5MB, MAXSIZE=50MB, FILEGROWTH=20% ),(NAME=prim_sub_dat2, FILENAME=E:张小山数据库prim_sub2_dat.ndf, SIZE=5MB, MAXSIZE=50MB, FILEGROWTH=20% ),FILEGROUP Grouptest1(NAME=group1_sub1, FILENAME=E:张小山数据库group1_sub1_dat.ndf, SIZE=5MB, MAXSIZE=5
3、0MB, FILEGROWTH=5MB ),(NAME=group1_sub2, FILENAME=E:张小山数据库group1_sub2_dat.ndf, SIZE=5MB, MAXSIZE=50MB, FILEGROWTH=5MB ),FILEGROUP Grouptest2(NAME=group2_sub1, FILENAME=E:张小山数据库group2_sub1_dat.ndf, SIZE=5MB, MAXSIZE=50MB, FILEGROWTH=15% ),(NAME=group2_sub2, FILENAME=E:张小山数据库group2_sub2_dat.ndf, SIZE=
4、5MB, MAXSIZE=50MB, FILEGROWTH=15% )LOG ON (NAME=testbase2_log, FILENAME=E:张小山数据库testbase2_log_file.ldf, SIZE=5MB, MAXSIZE=25MB, FILEGROWTH=5MB )GO实验1.2 分离数据库2使用系统存储过程分离数据库testbase1 exec sp_detach_db testbase1, true实验1.4 附加数据库2使用系统存储过程安装数据库testbase1EXEC sp_attach_single_file_db dbname=testbase1,physn
5、ame=e:张小山数据库testbase1_data.mdf 实验1.5 删除数据库2使用Transact-SQL删除数据库testbase1 DROP DATABASE testbase1实验2 数据库表实验21 创建数据库表3用SQL语句创建数据表CCREATE TABLE C(CNO CHAR(2), CN CHAR(10), CT TINYINT )4用SQL 语句创建数据表SCCREATE TABLE SC(SNO CHAR(2), CNO NCHAR(2),SCORE TINYINT)5用SQL 语句创建数据表TCCREATE TABLE TC(TNO CHAR(2), CNO C
6、HAR(2)实验22 修改数据库表结构1 用SQL向数据表S中添加列NATIVE、修改列NATIVE (2)向S表中添加新列。新列定义为,列名:NATIVE,数据类型:NCHAR,长度:40, NULL。 ALTER TABLE S ADD NATIVE NCHAR(40) NULL(6)修改表S中的列名为NATIVE的定义。新定义为,列名:NATIVE,数据类型:CHAR,长度:16,NULL。ALTER TABLE S ALTER COLUMN NATIVE CHAR(16) NULL实验2.3 删除数据库表2用SQL删除数据表test2。USE jxskDROP TABLE test2
7、GO实验3 数据操作3使用INSERT INTO语句插入数据至数据表C中(2)插入如图3-8所示中的第一行记录。在查询窗口中,输入下面INSERT-INTO语句: USE jxsk INSERT INTO C VALUES(C1,程序设计,60)实验3.2 修改数据2用SQL语句修改数据表T中的数据(3)修改数据表T中“张兰”教师的职称。 USE jxsk UPDATE T SET PROF=教授 WHERE TN =张兰2用SQL语句删除数据表T中的数据(2)删除数据表T中“张兰”教师的记录。 USE jxsk DELETE FROM T WHERE TN =张兰 实验3.4 复制数据库表1
8、用SQL复制数据表S生成一新表test1(1)创建复制数据表的SQL命令。 USE jxsk SELECT * INTO test1 FROM S GO2用SQL复制数据表T中“男”同学记录,生成一新表test2(1)创建复制数据表T的SQL命令,复制数据表T中男同学的列:TN,SEX,AGE,PROF,生成一个新表test2: use jxsk Select TN,SEX,AGE,PROF into test2 From T where sex =男 go实验4 完整性约束实验41 实体完整性约束 3用SQL为现有表T在TNO列上创建PRIMARY KEY 约束(3)为表T在列TNO上创建主
9、键: ALTER TABLE T ADD CONSTRAINT PK_TNO PRIMARY KEY(TNO)4用SQL创建新表TEST_C,并以列约束形式创建PRIMARY KEY 约束(2)创建新表及其主键约束。创建数据表TEST_C,并以列约束的形式在列CNO上创建主键: USE jxsk CREATE TABLE TEST_C(CNO CHAR(2) CONSTRAINT PK_TEST_C PRIMARY KEY,CN CHAR(10), CT TINYINT)5用SQL创建新表TEST_TC,并以表约束形式创建PRIMARY KEY 约束(2)创建新表及其主键约束。创建数据表TES
10、T_TC,并以表约束的形式在列TNO和CNO上创建主键,主键约束名为PK_TEST_TC: USE jxskCREAT TABLE TEST_TC(TNO CHAR(2) , CNO CHAR(2) , CONSTRAINT PK_TEST_TC PRIMARY KEY(TNO, CNO)7用SQL为现有表C中的CN列创建“UNIQUE约束”(2)为数据表C在课程名CN列上创建UNIQUE约束,约束名为UNIQUE_C:USE jxskALTER TABLE C ADD CONSTRAINT UNIQUE_C UNIQUE(CN)9用SQL为现有表TEST_TC增加新列ID_TC,并创建此列属
11、性为IDENTITY(2)为数据表TEST_TC增加一个新列ID_TC,并设置此列为IDENTITY:USE jxskALTER TABLE TEST_TC ADD ID_TC INT IDENTITY11用SQL删除表C中CN列的UNIQUE约束UNIQUE_C(2)删除数据表C中的唯一约束“UNIQUE_C”:USE jxskALTER TABLE C DROP UNIQUE_C 实验4.2 域完整性约束1. 用SQL给现有表S中的年龄列AGE创建取值范围在14至40岁之间的CHECK约束,并检查表中的现有数据是否符合此CHECK约束(2)约束名为CHECK_AGE: USE jxsk A
12、LTER TABLE S WITH CHECK ADD CONSTRAINT CHECK_AGE CHECK( AGE=14 AND AGE=14 AND AGE=40)GO4用SQL删除表T中的PROF和COMM之间的CHECK约束CHECK_T USE jxsk ALTER TABLE T DROP CONSTRAINT CHECK_T GO实验4.3 引用完整性约束2用SQL创建表T与表TC之间的引用关系(2)创建表T与表TC的关联关系的SQL语句。 ALTER TABLE TC WITH NOCHECK ADD CONSTRAINT FK_T_TC FOREIGN KEY (TNO)
13、REFERENCES T(TNO) ON DELETE CASCADE实验4.4 规 则 1 用SQL创建、绑定、解除规则(2)创建规则RU_SEX:USE jxskGOCREATE RULE RU_SEX AS SEX IN(男 , 女 )GO(4)绑定规则RU_SEX到表T中的SEX列。 USE jxsk EXEC sp_bindrule RU_SEX , T.SEX GO(7)解除规则在表T上的绑定。USE jxsk EXEC sp_unbindrule T.SEX GO实验5.1 创建索引1 用SQL为表T在TNO列上按降序创建聚簇索引IND_TNO(2)创建SQL语句,为表T在的TNO列上按降序创建聚簇索引IND_TNO: USE jxskCREATE CLUSTERED INDEX IND_TNO ON T(TNO DESC) GO4用SQL为表C在CN列上按升序创建唯一索引IND_CN(2)创建SQL语句, 为表C在的CN列上按降序创建聚簇索引IND_CN: USE jxskCREATE UNIQUE INDEX IND_CN ON C(CN) GO实验5.2 删除索引2用SQL删除表T中的索引IND_SN_AGE(3)创建SQL语句,删除表T中的索引IND_SN_
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1