sql rver练习题
SQLServer由Microsoft司开发的关系数据库管理系统,其中包含了大量的不同类型的数据库管理功能,可以满足不同用户在不同领域的需求。SQL Server 中提供了丰富的练习题,可以帮助用户更好地理解和掌握系统的特性、功能及使用方法。本文将介绍一些 SQL Server习题,帮助用户掌握 SQL Server基本功能。
一、数据操作
1.建表:在 SQL Server 中,使用 CREATE TABLE句可以创建一个新的表,以便在其中添加数据。
示例:
CREATE TABLE Student (
stuID int,
stuName varchar(50),
stuAge int
);
2.入数据:当表创建成功后,使用 INSERT INTO句就可以将数据插入表中,以便在其中存储新的数据。
示例:
INSERT INTO Student VALUES(1, John 23);
INSERT INTO Student VALUES(2, David 24);
3.新数据:如果需要更新已存储的数据,可以使用 UPDATE句来更新表中的数据。
示例:
UPDATE Student SET stuName = Michael WHERE stuID = 2;
4.除数据:使用 DELETE句可以删除表中的某些数据。
示例:
DELETE FROM Student WHERE stuID = 1;
二、数据查询
1. 使用 SELECT句可以从数据库中检索数据:
示例:
SELECT * FROM Student
2.以结合 WHERE句来筛选检索出的数据:
示例:
SELECT * FROM Student WHERE stuName = Michael
3.据可以根据任意列进行排序:
示例:
SELECT * FROM Student ORDER BY stuAge DESC
4.据可以根据多个列进行分组:
示例:
SELECT stuName, COUNT(*) FROM Student GROUP BY stuName
三、视图(Views)
1.图可以将多个表联接起来,提供一种更简单的方式来访问数据库中的数据:
示例:
CREATE VIEW StudentInfo
AS
SELECT s.stuName, c.className
FROM Student s
INNER JOIN Class c
ON s.classID = c.classID
2.图可以嵌套,提供更复杂的数据查询功能:
示例:
CREATE VIEW vView
AS
SELECT s.stuName, c.className
FROM StudentInfo s
INNER JOIN Teacher t
ON s.classID = t.classID
四、存储过程
1.储过程是一种数据操作语义,它可以封装可重复使用的 SQL句,以便用户可以用更简单的方式来使用:
示例:
CREATE PROCEDURE GetStudentInfo
AS
SELECT s.stuName, c.className
FROM Student s
INNER JOIN Class c
ON s.classID = c.classID
2.储过程也可以接收参数,以便实现更灵活的数据操作:
示例:
CREATE PROCEDURE GetStudentInfo
@stuID int
AS
SELECT s.stuName, c.className
FROM Student s
INNER JOIN Class c
ON s.classID = c.classID
WHERE s.stuID = @stuID
五、触发器
1.发器是一种存储过程,它可以在指定表上触发特定的动作。
示例:
CREATE TRIGGER StudentInfoUpdate
ON Student
AFTER UPDATE
AS
INSERT INTO StudentLogs (stuID, stuName, stuAge, updateTime)
SELECT stuID, stuName, stuAge, GETDATE()
FROM deleted
2.发器也可以用于执行更复杂的数据操作,比如构建复杂的逻辑架构:
示例:
CREATE TRIGGER StudentUpdateCheck
ON Student
AFTER UPDATE
AS
DECLARE @stuName VARCHAR(50)
SELECT @stuName = stuName
FROM deleted
IF (@stuName <> John
BEGIN
INSERT INTO StudentLogs (stuName, updateTime)
SELECT @stuName, GETDATE()
END
六、约束
1.束是一种常用的数据库特性,可以帮助保证数据准确性和完整性:
示例:
ALTER TABLE Student
ADD CONSTRAINT StudentName CHECK (stuName IN (John David))