这里我们开始用SQL Server 来进行课本上例题的练习,没有书?没关系,我这有PDF版的。百度网盘,提取码:cg8s 习题我敲了出来,如有错误欢迎大家指出。没安装SQL Server的同学也不着急,可以看一下我之前的文章,感谢支持! 首先,我们先创建一个数据库,名称就叫做Test吧: 然后我们刷新数据库:      接下来我们进入正式的环节: 【例3.1】 为用户WANG定义一个学生-课程模式S-T。 CREATE SCHEMAM"S-T" AUTHORIZATION WANG; 看上去很简单,那么我们直接来操作一下,查询语句中输入上面这句话,运行: 哈哈,我们的用户“w 【SQL语句基础】 SQL(Structured Query Language)是一种用于管理关系数据库的标准语言,包括数据查询、数据操纵、数据定义和数据控制等操作。在本例中,我们主要讨论了如何使用SQL Server来创建和管理数据库模式以及相关对象。 1. **创建模式(Schema)** 创建模式的目的是为了组织和管理数据库中的对象,如表、视图、索引等。在SQL Server中,可以使用`CREATE SCHEMA`语句来创建模式。例如,【例3.1】为用户WANG创建一个名为"S-T"的模式: ```sql CREATE SCHEMA "S-T" AUTHORIZATION WANG; ``` 在这个例子中,`AUTHORIZATION WANG`指定了模式的所有者为用户WANG。 2. **模式的作用** 模式提供了一个命名空间,允许用户在其中定义数据库对象并保持命名的独立性。【例3.2】中展示了即使没有明确指定,模式也会默认为当前用户的名称,即WANG。 3. **在模式中创建表** 用户可以同时在创建模式的过程中定义表,如【例3.3】所示,为用户ZHANG创建一个名为TEST的模式,并在其中定义表TAB1: ```sql CREATE SCHEMA TEST AUTHORIZATION ZHANG; CREATE TABLE TAB1 (COL1 SMALLINT, COL2 INT, COL3 CHAR(20), COL4 NUMERIC(10,3), COL5 DECIMAL(5,2)); ``` 4. **删除模式** `DROP SCHEMA`语句用于删除模式,但需要注意,删除模式可能会影响到其中的其他数据库对象。【例3.4】演示了删除模式时的限制,如果模式中存在对象,则需要选择CASCADE或RESTRICT。在SQL Server中,`CASCADE`选项不可用,因此需要手动删除相关对象后再删除模式。 5. **表的创建** 创建表是通过`CREATE TABLE`语句实现的,如【例3.5】创建了名为Student的表,其中定义了Sno为主键,Sname为唯一键,以及其他列Ssex、Sage和Sdept: ```sql CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, Sname CHAR(20) UNIQUE, Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20)); ``` 6. **完整性约束** 表中的列可以带有完整性约束,如主键(PRIMARY KEY)和唯一键(UNIQUE),确保数据的正确性和一致性。在Student表中,Sno为主键,保证了每一行的唯一性;而Sname为唯一键,确保每个学生的姓名都是唯一的。 7. **权限管理** SQL Server允许通过GRANT语句为用户分配不同的权限,如读取、写入、修改等。虽然例子中没有具体展示,但权限管理是数据库系统中非常重要的一部分,用于控制用户对数据库对象的访问。 总结来说,本实例通过一系列的SQL语句展示了如何在SQL Server中创建和管理数据库模式,以及在模式中创建和删除表,同时也强调了模式和表的完整性和权限管理的重要性。学习这些基本操作对于理解和操作SQL数据库至关重要。
2025-06-19 20:19:46 328KB SQL sql数据库 sql练习
1
Microsoft SQL Server 2008 R2 (SP2) - 10.50.4042.0 (X64) 练习测试数据,分别为:course-课程表;sc-分数表;student-学生表;teacher-老师表;
2022-08-07 16:58:52 5KB sql
1
SQL练习习题.sql
2022-07-22 18:04:15 24KB sql oracle 数据库
1
Android sql练习合集.rar
2022-07-05 18:07:42 83KB Android
SQL强化练习工具,非常好用,对于初学数据库的同学练习巩固非常有帮助,软件自身内含创建好的数据及练习题!我也是在网上找了很久才找到的!现在分享给大家
2021-12-22 16:18:10 100KB SQL练习 工具
1
【3.60】查询所有选修了1号课程的学生姓名。 SELECT Sname FROM Student WHERE EXISTS (SELECT * FROM SC WHERE Sno=Student.Sno AND Cno='1'); 带有EXIST谓词的子查询。带IN谓词,ANY和ALL 谓词的子查询都能用EXIST子查询等价替换但是有些EXIST子查询不能被其他形式子查询替代。 此查询是相关子查询。在学生表中依次取元组的Sno值,在SC表中查询Sno值等于Student表中的Sno值,并且Cno = ‘1’的元组,如果查询到了,那WHERE就返回true
2021-12-15 18:18:32 99KB exists IS select
1
MySQL leetcode sql练习
2021-11-30 15:28:28 13KB
1
Oracle数据库SQL练习(路漫漫其修远、吾将上下而求索)
2021-11-17 17:05:01 5.7MB oracle
1
mysql常用语法命令函数 emp&dept;表的建表语句以及数据 和emp&dept;表相关的练习 九十多题
2021-10-10 11:52:15 6KB mysql emp sql 练习
1
里面包含常见的50道sql练习题答案,都是自己做亲手做的,带注释
2021-09-20 22:05:38 16KB sql
1