SQL 数据库操作实战:创建、修改、迁移、删除数据库及表
下面是对应每个问题的 SQL 命令:
- 用 SQL 命令创建一个教学数据库 Stu_DB。
CREATE DATABASE Stu_DB
ON PRIMARY
(
NAME = Stu_DB_Data,
FILENAME = 'E:\Stu_DBData.mdf',
SIZE = 10MB,
MAXSIZE = 500MB,
FILEGROWTH = 10MB
)
LOG ON
(
NAME = Stu_DB_Log,
FILENAME = 'E:\Stu_DBData.ldf',
SIZE = 5MB,
MAXSIZE = 500MB,
FILEGROWTH = 5MB
);
- 用 SQL 命令修改数据库 Stu_DB,添加一个次要数据文件。
ALTER DATABASE Stu_DB
ADD FILE
(
NAME = Stu_DB_Datanew,
FILENAME = 'E:\Stu_DB_Datanew.ndf',
SIZE = 100MB,
MAXSIZE = 200MB,
FILEGROWTH = 10MB
);
- 将教学数据库 Stu_DB 迁移到 D:\Study 目录下。
ALTER DATABASE Stu_DB
MODIFY FILE
(
NAME = Stu_DB_Data,
FILENAME = 'D:\Study\Stu_DBData.mdf'
);
ALTER DATABASE Stu_DB
MODIFY FILE
(
NAME = Stu_DB_Log,
FILENAME = 'D:\Study\Stu_DBData.ldf'
);
- SSMS 图形界面创建 test 数据库,截图 Transact-SQL 语句删除 test 数据库。
创建 test 数据库的截图不可用,但是可以提供删除 test 数据库的 Transact-SQL 语句。
DROP DATABASE test;
- 在教学数据库 Stu_DB 中,利用对象资源管理器创建院系表 (department) 和学生表 (student),同时需完成各个表中的完整性定义。
USE Stu_DB;
CREATE TABLE department (
DeptID INT PRIMARY KEY,
DeptName VARCHAR(50) NOT NULL,
Location VARCHAR(50) NOT NULL
);
CREATE TABLE student (
StuID INT PRIMARY KEY,
StuName VARCHAR(30) NOT NULL,
Gender CHAR(1) NOT NULL,
Age INT NOT NULL,
DeptID INT NOT NULL,
FOREIGN KEY (DeptID) REFERENCES department(DeptID)
);
- 在教学数据库 Stu_DB 中,利用 Transact-SQL 语句创建教师表 (teacher)、课程表 (course) 和选课表 (sc),同时需要完成各个表中的完整性定义。
USE Stu_DB;
CREATE TABLE teacher (
TeacherID INT PRIMARY KEY,
TeacherName VARCHAR(50) NOT NULL,
Gender CHAR(1) NOT NULL,
Age INT NOT NULL,
Position VARCHAR(50) NOT NULL,
DeptID INT NOT NULL,
FOREIGN KEY (DeptID) REFERENCES department(DeptID)
);
CREATE TABLE course (
CourseID INT PRIMARY KEY,
CourseName VARCHAR(50) NOT NULL,
Hours INT NOT NULL
);
CREATE TABLE sc (
StuID INT,
CourseID INT,
Score DECIMAL(5,2),
PRIMARY KEY (StuID, CourseID),
FOREIGN KEY (StuID) REFERENCES student(StuID),
FOREIGN KEY (CourseID) REFERENCES course(CourseID)
);
- 把 Student 表中的 Sname 列加宽到 30 个字符。
USE Stu_DB;
ALTER TABLE student
ALTER COLUMN StuName VARCHAR(30);
- 删除 Student 表。
USE Stu_DB;
DROP TABLE student;
原文地址: https://www.cveoy.top/t/topic/bHnD 著作权归作者所有。请勿转载和采集!