SQL学习笔记

1.RDBMS指的是关系型数据库管理系统。它是SQL的基础,同样也是所有现代数据库系统的基础,比如 MS SQL Server, IBM DB2, Oracle, MySQL 以及 Microsoft Access。


2.RDBMS中的数据存储在被称为表的数据库对象中。表是相关数据项的集合,它由列和行组成。


3.SQL对大小写不敏感


4.SQL可以分为两个部分:数据操作(DML,作用于数据,对数据进行增删改)和数据定义语言(DDL,作用于表,对表进行增删改):
1)查询和更新指令构成了SQL的DML部分:
哈哈i) SELECT :获取数据

哈哈ii) UPDATE :更新数据update <relation> set <list of assignment> where <conditions>,如

update drinkers set phonenumber='1111' where name='haha'

哈哈iii) DELETE:删除数据delete from <relation> where <condition>,想要删除这个表的所有数据的话别加where语句就可以了。只能对单表进行操作。这里要注意一下,delete和 from是紧挨着的

哈哈iv) INSERT INTO:向数据库中插入数据insert into <表名> values(<list of values>)。或者也可以表名+属性名字,比如likes(beer,drinker),这样就比较直观,这样写是比较推荐的。

PS:期中考重点看你的语法有没有错,比如insert后面有没有into,delete是不是和from紧挨着的
2)DDL:
CREATE database :创建新数据库
alter database 修改数据库:如添加属性alter table <name> add <attribute declaration>
create table 创建新表
alter table 变更数据库表
drop table 删除表
create index 创建索引
drop index 删除索引


5.外键约束用于预防破坏表之间连接的动作,它也能防止非法插入外键列,因为它必须是它指向的那个表中的值之一。


6.having 和where的区别:having可以筛选成组后的各组数据,where子句在聚合前先筛选记录,也就是作用在group by子句和having子句前。


7.char,nvarchar,varchar的区别:
char:定长,最大长度为8000
varchar:不定长,非Unicode字符数据,最大长度为8000
nvarchar:不定长,Unicode字符数据,最大长度为4000


8.编写主键(和普通键不同的地方就在于红色代码部分):
CREATE TABLE [dbo].[Customer] (
[CID] float not null primary key,
[Gender] nvarchar(255),
[City] nvarchar(255)
)


9.编写外键(和普通键不同的地方就在于红色代码部分):
CREATE TABLE [dbo].[Order] (
[OID] float not null primary key,
[CID] float foreign key references Customer(CID),
[FID] float foreign key references Food(FID),
[Quantity] float
)


10.一个例题(课件上的一个截取,主要是想记录一下怎么把属性的值改成小写):
在这里插入图片描述
在这里插入图片描述


11.order by语句只能放在select语句的最后


12.
在这里插入图片描述


13.group by+having:

在这里插入图片描述


14.在所有的聚合函数中,只有count才支持多个属性,别的聚合函数都只能在括号里写一个属性


15.在设置唯一值约束时直接在编辑语句里对应的属性名后面加一个unique即可


16.primary key (attribute1,attribute2,...)联合主键的声明


17.视图:
1)视图是一个虚拟的表,它自己不保管内容,它的内容是从别的表那里拿过来的
2)它的来源是query语句得到的东西
3)声明:create view <name> as <query>,比如

create view candrink as
select frequents.name,sells.beer
from frequents,sells
where frequents.name=sells.name

4)如果多个表中的某些语句经常放在一起看,我们就可以新建视图来存储这个新聚合表,也就是视图。之所以不新建物理表,是因为如果这样做的话会造成数据冗余
5)我们能把视图当作物理表去应用到别的查询语句中去
6) 视图的好处:
哈哈数据的使用与查看更符合我们的习惯
哈哈简化查询
哈哈帮助实现查看数据、修改数据的权限控制(比如教务人员只能修改学生成绩,不能修改老师工资)


18.数据不等除了可以用!=表示外,还可以用<>来表示


19.order by语句不能用在子查询语句中,比如下面这种写法是错的:
在这里插入图片描述


20.exists是根据外表的条件来筛选内表,如果内表有符合条件的元组,那么此时遍历到的外表相应元组就会被加入到结果集中:
在这里插入图片描述


21.any操作数:x=any(<relation>)表示x至少等于这个关系里的一个元组;x>=any(<relation>)表示x不是relation中最小的那一个元组


22.
在这里插入图片描述


























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值