1.SQL语言分类:
- 数据查询语言(DQL):是由SELECT子句,FROM子句,WHERE子句组成的查询块
- 数据操纵语言(DML): SELECT(查询) INSERT(插入) UPDATE(更新) DELETE(删除)
- 数据定义语言(DDL):CREATE(创建数据库或表或索引)ALTER(修改表或者数据库)DROP(删除表或索引)
- 数据控制语言(DCL):GRANT(赋予用户权限) REVOKE(收回权限) DENY(禁止权限)
- 事务控制语言(TCL):SAVEPOINT (设置保存点)ROLLBACK (回滚) COMMIT(提交)
2.DISTINCT关键字用于返回唯一不同的值。
3.datediff(dd,RDDATE,getdate())==0
- DATEDIFF() 函数返回两个日期之间的时间。DATEDIFF(datepart,startdate,enddate)其中startdate 和 enddate 参数是合法的日期表达式,datepart 参数可以是下列的值:
年 | 季度 | 月 | 年中的日 | 日 | 周 | 星期 | 小时 | 分钟 | 秒 | 毫秒 | 微秒 | 纳秒 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
yy,yyyy | qq,q | mm,m | dy,y | dd,d | w,ww | dw,w | hh | mi,n | ss,s | ms | mcs | ns |
4.select语句
- 写法顺序:select–from–where–group by–having–order by
- 执行顺序:from–where–group by–having–select–order by
5.数据独立性
- 外模式/模式映象为数据库提供了数据逻辑独立性,可以通过修改 外模式/模式映象 保证数据库的逻辑独立性。
- 模式/内模式映象为数据库提供了数据物理独立性。可以通过修改 模式/内模式映象 保证数据库的物理独立性。
6.关系代数运算符号以及基本运算
并(R∩SR∩S):属于R或属于S的元组组成
差(R−SR−S):属于R而不属于S的所有元组组成
交(R∪SR∪S):既属于R又属于S的元组组成
笛卡尔积(R×SR×S):R与S的所有元组一一组合
选择(σa=value1,b=value2®σa=value1,b=value2®):在关系R中选择满足给定条件的元组
投影(Πa,b®Πa,b®):关系R上的投影是从R中选择出若干属性列组成新的关系
连接(R⋈SR⋈S):从R与S的笛卡尔积中选择符合条件符合条件的
除(R÷SR÷S):在R中满足S条件的投影(建议看书,这里不作详细介绍)
7.修改基本表的操作
操作 | SQL语句 |
---|---|
增加属性列 | ALERT TABLE reader ADD rphone CHAR(13);(不能使用NOT NULL) |
增加完整性约束 | ALERT TABLE reader ADD FOREIGN KEY(cno) REFERENCES college(cno); |
删除属性列 | ALERT TABLE book DROP COLUMN cno; |
删除完整性约束 | ALERT TABLE book DROP CONSTRAINT book_key; |
修改属性列 | ALERT TABLE reader ALERT COLUMN rphone CHAR(20); |
删除基本表 | DROP TABLE 基本表名[RESTRICT、CASCADE] |
RESTRICT:被删除的表不能被其他的表的约束所引用,否则不能删除。默认为RESTRICT。(启用外键约束)
CASCADE:级联删除,其相关的依赖对象(视图,存储过程等)也一并删除。
基本表一旦被删除,表中数据,以及建立在该表上的索引、视图等都将被删除,无法恢复,谨慎使用此语句。
8.字符匹配:“%”代表任意长度的字符串;“”代表任意单个字符;%”,””等符号是通配符,ESCAPE的意思是,将其当做其实际值,而不是通配符。
- SELECT * FROM websites where name LIKE ‘G%‘ESCAPE’%’;
9.函数依赖
- 当属性集 Y是属性集X的子集时,则必然存在着函数依赖X→Y,这种型的函数依赖称为平凡函数依赖。
- 如果Y不是X的子集,则称X→Y为非平凡函数依赖。
- 简单地说,若有(A,B)→C。完全函数依赖 是 A,B 一个都不能少,两个一起才能决定 C。部分函数依赖 是 A,B 一个就行,其中一个就能决定 C。
10.范式
范式 | 概念 |
---|---|
第一范式 | 其所有的属性均为简单属性 |
第二范式 | 非主属性完全依赖于码 |
第三范式 | 每一个非主属性既 不部分依赖于码 也 不传递依赖于码 |
BC范式 | 消除任何属性对码的部分函数依赖 |
4NF | 消除非平凡且非函数依赖的多值依赖 |