SQL Server 建表与操作教程

需积分: 5 0 下载量 48 浏览量 更新于2024-08-05 收藏 8KB MD 举报
"这是关于SQL Server数据库管理系统的学习笔记,主要关注SQL Server的建表语句、数据的增删改查操作。笔记内容源于钱雪忠老师的《数据库系统原理》课程,并结合了B站上的教学资源进行整理。" 在SQL Server中,创建数据库和表是数据管理的基础。以下是一些基本的SQL Server建表语句示例: 1. 创建数据库: ```sql create database studentfo use studentfo ``` 这里首先创建了一个名为`studentfo`的数据库,然后切换到该数据库进行后续操作。 2. 建表: - `major`表用于存储专业信息,包含专业编号(`mno`)和专业名称(`mname`),其中`mno`为主键。 ```sql create table major( mnoint, mname varchar(20), primary key(mno) ) ``` - `stu`表用于存储学生信息,包含学生编号(`sno`)、姓名(`sname`)、年龄(`age`)、性别(`sex`)和所属专业编号(`mno`)。`sno`为主键,`mno`为外键,关联`major`表。 ```sql create table stu( snoint, sname varchar(30), agesmallint, sexbit, mnoint, primary key(sno), foreign key(mno) references major(mno) ) ``` - `cou`表用于存储课程信息,包含课程编号(`cno`)、课程名称(`cname`)、学时数(`ctime`)和学分(`ccredit`)。`cno`为主键。 ```sql create table cou( cnoint, cname varchar(30), ctimesmallint, ccredit decimal(4,2), primary key(cno) ) ``` - `sc`表用于存储学生选课信息,包含学生编号(`sno`)、课程编号(`cno`)和成绩(`grade`)。`sno`和`cno`组合为主键,`sno`为外键,关联`stu`表,`cno`通过添加约束`fk_sc`成为外键,关联`cou`表。 ```sql create table sc( sno int, cno int, grade decimal(5,2), primary key(sno, cno), foreign key(sno) references stu(sno) ) alter table sc add constraint fk_sc foreign key(cno) references cou(cno) ``` 3. 数据的增删改查(DML)操作: - 添加列:`alter table stu add qq varchar(20)` - 删除列:`alter table stu drop column qq` - 查询所有信息:`select * from stu` - 插入数据: - 插入专业:`insert into major(mno, mname) values(1, '计算机科学与技术')` - 插入学生:`insert into stu values(1, 'kk', 20, 0, null)` - 插入课程:`insert into cou(cno, cname, ctime, ccredit) values(1, '数据库原理', 30, 4.0)` - 删除数据: - 删除学生:`delete from stu where sno = 1` - 删除专业:`delete from major where mno = 1`(需谨慎,可能会导致外键约束冲突) 这些基本操作构成了SQL Server数据库管理系统的核心功能,便于管理和操作数据。在实际应用中,还需要掌握更多高级特性,如索引、视图、存储过程、触发器、事务处理等,以实现更高效、安全的数据管理。