Transact-SQL 语言实验报告

  • 格式:doc
  • 大小:1.39 MB
  • 文档页数:18

精通C#与.NET4.0数据库开发

实验报告

实验题目:Transact-SQL 语言

专 业 计算机科学与技术

学 生 姓 名

班 级 学 号

教 师

指 导 单 位

日 期

教师评语

教师签名:

年 月 日

成绩评定

注 一、实验目的

1. 了解什么是T-SQL以及如何创建Visual Studio 2010数据库项目。

2. 学会通过T-SQL管理数据库。

3. 掌握T-SQL的高级特性。

4. 熟悉SQL Server的存储过程。

二、实验环境

Microsoft SQL Server 2008 Microsoft Visual Studio 2010

三、实验内容

例10-1

图10-1用CREAT DATABASE创建数据库

USE [master]

go

CREATE DATABASE UserLog2;

例10-2

图10-2 用CREATE TABLE创建数据表

USE [UserLog2]

GO

CREATE TABLE [dbo].[Users](

[LoginID] [nvarchar](25) COLLATE Chinese_PRC_CI_AS NOT NULL,

[Password] [nvarchar](25) COLLATE Chinese_PRC_CI_AS NOT NULL,

[Name] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,

[Age] [int] NOT NULL,

[XingBie] [nvarchar](2) COLLATE Chinese_PRC_CI_AS NULL,

[Mobile] [nvarchar](20) COLLATE Chinese_PRC_CI_AS NULL,

[Email] [nvarchar](100) COLLATE Chinese_PRC_CI_AS NULL,

CONSTRAINT [PK_Users] PRIMARY KEY CLUSTERED

(

[LoginID] ASC

)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]

) ON [PRIMARY]

例10-3

图10-3 用ALTER TABLE创建数据库关系

USE UserLog2

GO

CREATE TABLE [dbo].[Logs](

[ID] [int] NOT NULL,

[UserID] [nvarchar](25) COLLATE Chinese_PRC_CI_AS NOT NULL,

[LogContent] [nvarchar](1024) COLLATE Chinese_PRC_CI_AS NOT NULL,

[LogTime] [datetime] NOT NULL,

CONSTRAINT [PK_Logs] PRIMARY KEY CLUSTERED

(

[ID] ASC

)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]

) ON [PRIMARY]

GO

图10-4 用ALTER TABLE创建数据库关系

USE [UserLog2]

GO ALTER TABLE [dbo].[Logs] WITH CHECK ADD CONSTRAINT [FK_Logs_Users]

FOREIGN KEY([UserID])

REFERENCES [dbo].[Users] ([LoginID])

例10-4

图10-5 用INSERT插入数据库记录

USE UserLog2

GO

INSERT INTO Users

VALUES('User1', 'Password1', '李四', 20, '男', '13112345678',

'lisi@')

GO

图10-6 用INSERT插入数据库记录

USE UserLog2

GO

INSERT INTO [Users]([Name], [LoginID], [Password], [Age], [Email],

[XingBie], [Mobile])

VALUES('王五', 'User2', 'Password2', 30, 'wangwu@', '男',

'13645671234')

GO

图10-7 用INSERT插入数据库记录

INSERT INTO [Users]([LoginID], [Password], [Age])

VALUES('User3', 'Password3', 21)

INSERT INTO [Users]([LoginID], [Password], [Age])

VALUES('User4', 'Password3', 22)

INSERT INTO [Users]([LoginID], [Password], [Age])

VALUES('User5', 'Password3', 23)

INSERT INTO [Users]([LoginID], [Password], [Age])

VALUES('User6', 'Password3', 24)

GO

例10-5

图10-8 用UPDATE更新数据库记录 USE UserLog2

GO

UPDATE Users

SET Users.Age = Users.Age+1

GO

图10-9 用UPDATE更新数据库记录

例10-6

图10-10 用DELETE删除数据库记录

图10-11 用DELETE删除数据库记录

USE UserLog2

GO

DELETE TOP(1)

FROM Users

WHERE Users.Age > 20;

GO

DELETE TOP(10)PERCENT

FROM Users

WHERE Users.Age > 20;

GO

DELETE

FROM Users

WHERE Users.Age > 20;

GO

例10-7

图10-12 用SELECT查询单表的记录

USE UserLog2

GO

SELECT Users.*

FROM Users

GO

SELECT LoginID, Password AS 密码

FROM Users

GO

图10-13 用SELECT查询单表的记录 USE UserLog2

GO

SELECT Users.LoginID, , Logs.LogTime, Logs.LogContent

FROM Users, Logs

GO

例10-8

图10-14 用WHERE查询指定条件的记录

USE UserLog2

GO

SELECT Users.LoginID, , Logs.LogTime, Logs.LogContent

FROM Users, Logs

WHERE Users.LoginID=erID

GO

例10-9

图10-15 使用T-SQL表达式 DECLARE @userid varchar(10);

SET @userid = 'User1%';

SELECT Users.LoginID, , Users.Age

FROM Users

WHERE Users.LoginID LIKE @userid

GO

例10-10

图10-16 使用T-SQL结构语句

DECLARE @tableid int;

SET @tableid = 1

IF @tableid = 1

BEGIN

SELECT Users.LoginID, , Users.Age

FROM Users

END

ELSE

BEGIN

SELECT Logs.*

FROM Logs

END