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