数据库sql sever原理笔记——第一节

本文为看了一整天的教学视频而一时兴起的笔记记录,简要记录知识要点,用于日后的考试复习,并练习一下markdown语言的使用。顺便一提,markdown语言真的是很帅的一门笔记语言!

数据库的建立与修改

建立,删除数据库:

  1. 使用create关键字建立某数据库,或者建立某个表格,之后使用use关键字引用这块数据库

  2. 使用drop关键字删除数据库

  3. primary key将某键设定为主键,可以设定多个

  4. foreign key将某键设定为外键,与其他表格的主键链接

相关sql指令集如下:

drop database stuinfo--使用drop关键字删除数据库
create database stuinfo
use stuinfo
create table major(
mno int primary key,--把mno设定为int类型的主键
mname varchar(30)
)
create table stu(
sno varchar(13) primary key,
sname varchar(30) not null,--加了个not null约束
age int ,
sex bit,
mno int,
foreign key(mno) references major(mno)--使用foreign key建立外键
)
create table cou(
cno varchar(13) primary key,
cname varchar(30) not null,
ctime int,
ccredit decimal(5,2)
)
create table sc(
cno varchar(13),
sno varchar(13),
grade decimal(5,2),
primary key(cno,sno),--两列一同构成一个主键
foreign key(cno) references cou(cno),--构成主键的每一列分别是外键
foreign key(sno) references stu(sno),
)

最后得到的参考表格格式如下所示,该表将用于后续笔记的应用句式举例,较为重要

sc表:是学生和课程的联系,表明每名学生学了什么课,成绩如何

cnosnograde

major表:陈述各个专业号及名字

mnomname

cou表:各个课程的编号,名字,学时和学分

cnocnamectimeccredit

stu表:学生的基础信息

snosnameagesexmno

数据库表格内容的增删改

insert into–数据插入

使用insert into关键词对某些列进行插入,有两种表示方式:

--方式一,指定行进行插入
insert into major(mno,mname) values(1,"计算机科学技术")
--该方法适合在只知道部分列值的时候进行数据插入,此时缺省的列自动填充为NULL(主键不能为空!)

在预先知道整个表格结构的情况下,也可以直接全插入,一次插入一整行,如下:

--方式二:省去列的括号,直接插数据
insert into cou values('20201','C语言',32,5);
--该方法括号内的数据不允许有缺省

delete from–数据删除

使用delete from来删除某一行的数据元组,用where来限定

delete from sc where sno='2020005'--删除某个学生的数据

update–数据更新修改

update xx set +新内容+where

update stu set mno=null where mno=1

需要注意的点:欲修改表格1的键值,如果该键还是表格2的外键,则必须先把引用了这个键的值置为null,才能进行表格1的值修改,否则二者绑定,无法修改。

相关sql指令集如下

select * from major
insert into major(mno,mname) values(1,'计算机科学与技术');
insert into major(mno,mname) values(2,'软件工程');
insert into major(mno,mname) values(3,'网络工程');
insert into major(mno,mname) values(4,'智能科学与技术');
select * from stu
insert into stu values('2020001','小一',18,0,1);
insert into stu values('2020002','小二',18,1,1);
insert into stu values('2020003','小四',18,1,1);
insert into stu values('2020004','小五',18,1,1);
insert into stu values('2020005','小六',18,0,2);
insert into stu values('2020006','小七',18,1,2);
insert into stu values('2020007','小八',18,0,2);
insert into stu values('2020008','小九',18,1,2);
insert into stu values('2020009','小十',19,0,3);
insert into stu values('20200010','小十',20,0,3);
insert into stu values('20200011','小快',19,0,3);
insert into stu values('20200012','小冬',21,0,3);
insert into stu values('20200013','小宇',19,0,null);
insert into stu values('20200014','小点',19,0,4);
insert into stu values('20200015','彭杰',21,0,4);
insert into stu values('20200016','彭小杰',21,0,4);
select * from  cou
insert into cou values('20201','C语言',32,5);
insert into cou values('20202','C#',32,3);
insert into cou values('20203','数据结构',16,5);
insert into cou values('20204','大学英语1',32,3.5);
insert into cou values('20205','大学英语2',32,3.5);
insert into cou values('20206','大学英语3',32,3.5);
insert into cou values('20207','大学英语4',32,3.5);
select * from sc
insert into sc(sno,cno,grade) values('2020006','20201',null);
insert into sc(sno,cno,grade) values('2020005','20201',null);
insert into sc(sno,cno,grade) values('2020001','20201',90);
insert into sc(sno,cno,grade) values('2020002','20201',90);
insert into sc(sno,cno,grade) values('2020003','20201',90);
insert into sc(sno,cno,grade) values('2020004','20201',58);
insert into sc(sno,cno,grade) values('2020004','20202',98);
insert into sc(sno,cno,grade) values('2020004','20203',90);
insert into sc(sno,cno,grade) values('2020005','20203',90);


update stu set mno=null where mno=1
update major set mno=5 where mno=1--别的表有外键的先把外键置null,才能进行本表的修改


References

参考视频,需要一定知识基础才看得懂

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值