文件:
创建一个名为Student的数据库,其初始大小为5MB,最大大小为20MB,允许自动增长,按10%增长。日志文件初始大小为2MB,最大大小为8MB,按1MB增长。数据文件和日志文件的存放位置为SQL Server的数据库文件夹“C:\SQL练习”。
CREATE DATABASE Student
ON --存放数据库的数据文件在之后定义
(
NAME='Student_DATA',--只是T-SQL中使用的逻辑文件名
FILENAME='C:\SQL练习\Student.mdf',--存放路径和操作系统中实际文件名
SIZE=5MB,
MAXSIZE=20MB,
FILEGROWTH=10%
)
LOG ON
(
NAME='Student_log',
FILENAME='C:\SQL练习\Student.ldf',
SIZE=2MB,
MAXSIZE=8MB,
FILEGROWTH=1MB
)
GO
DROP DATABASE Student
略,但是记住:一个数据库一旦被分离成功,从SQL Server角度来看,与删除这个数据库没有什么区别。不同的是,分离后的数据库的存储文件仍旧存在,而删除后的数据库的存储文件不再存在。
选定其中一个为主关键字(Primary Key),也称为主键。用来唯一标识记录。
“子表”中对应于“主表”的列,在“子表”中称为外键或引用键。它的值要求与主表的主键相对应。外键用来强制参照完整性。一个表可以有多个外键。
用CREATE TABLE语句创建数据库StudentManagement中的Course表,要求课程编号为主键,课程名字唯一,每门课的学分默认为4。
USE StudentManagement
GO
CREATE TABLE Course
(
CourseID char(6) PRIMARY KEY,
CourseTypeID char(2),
CourseName nvarchar(30) UNIQUE,
Info nvarchar(50),
Credits numeric(2,0) DEFAULT(4),
Time numeric(3,0),
PreCourseID char(6),
Term numeric(1,0)
)
用CREATE TABLE语句创建数据库StudentManagement中的SelectCourse表,记录学生选课的信息,并设置外键约束。
USE StudentManagement
GO
CREATE TABLE SelectCourse
(
SelectCourseStudentID char(10) FOREIGN KEY(SelectCourseStudentID) REFERENCES Student(StudentID),
SelectCourseID char(6) FOREIGN KEY(SelectCourseID) REFERENCES Course(CourseID),
Score numeric(3,1),
PRIMARY KEY(SelectCourseStudentID,SelectCourseID)
)
ALTER TABLE Student ADD StudentBonus tinyint
ALTER TABLE Student ADD CONSTRAINT Name01 UNIQUE(Name)
ALTER TABLE Student ALTER COLUMN Email varchar(50) NULL
EXEC sp_rename 'Student.Name', 'StudentName
ALTER TABLE Student
DROP COLUMN StudentBonus
ALTER TABLE Student DROP CONSTRAINT Name01
DROP TABLE TestDelete
USE StudentManagement
GO
INSERT Class(ClassID, ClassDepartmentID, ClassTeacherID, ClassName, Amount)
VALUES('20191101', '11', '20101123', '计算机1901', 30)
INSERT Class
VALUES('20192602', '26', '20122652', '自动化1902', 40)
INSERT Class
VALUES('20193101 ','31','20113145', '哲学1901',60)
INSERT Class
VALUES('20196202', '62', '20136238', '经贸1902', 40)
GO
SELECT * FROM Class
GO
USE StudentManagement
GO
UPDATE Class
SET ClassName ='外经贸1902', Amount=30
WHERE ClassID='20196202'
GO
SELECT * FROM Class
GO
USE StudentManagement
GO
DELETE Student
WHERE StudentName='李一民'
Go
SELECT * FROM Student
GO