可以使用T-SQL命令创建一个名为Students的数据库,所有参数均使用默认值吗
时间: 2024-03-18 18:38:31 浏览: 99
是的,可以使用以下T-SQL命令创建一个名为Students的数据库,其中所有参数都使用默认值:
```
CREATE DATABASE Students;
```
这将创建一个名为Students的空数据库,其中包含一个默认大小的数据文件和一个默认大小的事务日志文件。默认情况下,数据文件将保存在SQL Server实例的默认数据文件夹中,而事务日志文件将保存在SQL Server实例的默认日志文件夹中。如果需要,可以使用ALTER DATABASE命令修改数据库的文件属性。
相关问题
使用数据库用命令方式创建储存过程,过程名为自己的姓名缩写,查询学生的学号,姓名,修的课程号,课程名,课程学分,将学生所在系作为输入参数,默认值为计算机系执行词存储过程,并分别用无输入参数和通信工程系作为输入参数值时的运行结果。
在命令方式下,你可以通过编写SQL脚本来创建一个存储过程,以满足你的需求。假设你的名字缩写为Zhang,下面是创建存储过程的基本步骤:
首先,创建一个名为`ZhangProc`的过程,接收一个名为`dept`的输入参数,表示系别,其中默认值设为计算机系(Computer Science Department):
```sql
CREATE PROC ZhangProc @dept NVARCHAR(50) = 'Computer Science'
AS
BEGIN
SELECT s.StudentID, s.Name, c.CourseCode, c.CourseName, c.Credit
FROM Students s
JOIN Courses c ON s.CourseID = c.CourseID
WHERE s.Department = COALESCE(@dept, 'Computer Science')
END;
```
这个过程会返回该系所有学生的学号、姓名、所修课程号、课程名称以及课程学分。
接下来,我们分别演示如何无输入参数(即默认值)和输入通信工程系(Electrical Engineering)的运行情况:
1. **无输入参数**(默认为计算机系):
```sql
EXEC ZhangProc;
```
2. **输入通信工程系**:
```sql
EXEC ZhangProc 'Electrical Engineering';
```
运行这两个命令后,你会得到相应系别的学生信息。
在实验(2)创建的Test数据库的三张表中,完成下面的更新操作: 首先执行命令: USE Test; #打开Test数据库 复制下面的操作要求到你的答题区域,然后在每小题下面写出相应的SQL语句。 ##① 向表Students 中插入(0601001,赵林, 男,1985-09-08,计算机)的记录。 ##② 向SC 表中添加一个学生的选课记录,学号为0601001,所选的课程号为C2。 SC表中有Sno、Cno、Grade 这3 个列。这里只知道学号和课程号,不知道成绩值。 ##③ 向表Students 中插入(0601002,张修雨,default)记录,该记录的数据中default 表示默认值‘男’,其他数据为空值。 ##④ 先用CREATE table 语句创建表StudentBAK1,包含(与Students 的Sno、Sname、Sdept 相同)3 个字段, 然后用INSERT into 表名 子查询 语句实现向StudentBAK1 添加Students 表中的计算机系学生的学号、姓名、所在系的信息。 ##⑤ 用 Create Table 表名 AS 子查询 语句实现把Students 表中1986 年后(包含1986 年)出生的学生的学号、姓名、出生日期存储到一个新表StudentBAK2(注意:与上一题不同,不要先创建表,而是通过子查询的方式创建StudentBAK2)。 ##⑥ 将Students表中姓名为【赵林】的同学所在系改为【机电】,爱好改为【足球】。 ##⑦ 将选修了课程名为【数据库原理】并且有成绩的学生成绩加5 分。 ##⑧ 将Test 数据库的StudentBAK1 表中所有姓赵的同学删除。 ##⑨ 删除机电系课程成绩不及格或者没有登记成绩的学生选课记录。 ##⑩ 将Test 数据库的StudentBAK2 表中的所有行删除。
好的,以下是每个小题对应的SQL语句:
①:向表Students 中插入(0601001,赵林, 男,1985-09-08,计算机)的记录。
```sql
INSERT INTO Students(Sno, Sname, Ssex, Sbirth, Sdept) VALUES ('0601001', '赵林', '男', '1985-09-08', '计算机');
```
②:向SC 表中添加一个学生的选课记录,学号为0601001,所选的课程号为C2。
```sql
INSERT INTO SC(Sno, Cno) VALUES ('0601001', 'C2');
```
③:向表Students 中插入(0601002,张修雨,default)记录,该记录的数据中default 表示默认值‘男’,其他数据为空值。
```sql
INSERT INTO Students(Sno, Sname, Ssex) VALUES ('0601002', '张修雨', DEFAULT);
```
④:先用CREATE table 语句创建表StudentBAK1,包含(与Students 的Sno、Sname、Sdept 相同)3 个字段,然后用INSERT into 表名 子查询 语句实现向StudentBAK1 添加Students 表中的计算机系学生的学号、姓名、所在系的信息。
```sql
CREATE TABLE StudentBAK1(Sno CHAR(8), Sname VARCHAR(20), Sdept VARCHAR(20));
INSERT INTO StudentBAK1(Sno, Sname, Sdept) SELECT Sno, Sname, Sdept FROM Students WHERE Sdept = '计算机';
```
⑤:用 Create Table 表名 AS 子查询 语句实现把Students 表中1986 年后(包含1986 年)出生的学生的学号、姓名、出生日期存储到一个新表StudentBAK2(注意:与上一题不同,不要先创建表,而是通过子查询的方式创建StudentBAK2)。
```sql
CREATE TABLE StudentBAK2 AS SELECT Sno, Sname, Sbirth FROM Students WHERE Sbirth >= '1986-01-01';
```
⑥:将Students表中姓名为【赵林】的同学所在系改为【机电】,爱好改为【足球】。
```sql
UPDATE Students SET Sdept = '机电', hobby = '足球' WHERE Sname = '赵林';
```
⑦:将选修了课程名为【数据库原理】并且有成绩的学生成绩加5 分。
```sql
UPDATE SC SET Grade = Grade + 5 WHERE Cno = 'C1' AND Grade IS NOT NULL;
```
⑧:将Test 数据库的StudentBAK1 表中所有姓赵的同学删除。
```sql
DELETE FROM StudentBAK1 WHERE Sname LIKE '赵%';
```
⑨:删除机电系课程成绩不及格或者没有登记成绩的学生选课记录。
```sql
DELETE FROM SC WHERE Cno IN (SELECT Cno FROM Course WHERE Cdept = '机电') AND (Grade < 60 OR Grade IS NULL);
```
⑩:将Test 数据库的StudentBAK2 表中的所有行删除。
```sql
DELETE FROM StudentBAK2;
```
阅读全文
相关推荐














