SQL Server 建表与操作教程
需积分: 5 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数据库管理系统的核心功能,便于管理和操作数据。在实际应用中,还需要掌握更多高级特性,如索引、视图、存储过程、触发器、事务处理等,以实现更高效、安全的数据管理。
2020-07-09 上传
2009-12-11 上传
2018-05-07 上传
2024-10-12 上传
2023-05-05 上传
2024-10-12 上传
2023-07-16 上传
2023-06-13 上传
2023-06-12 上传
守时今天学习了吗?
- 粉丝: 0
- 资源: 1
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录