create view 视图名称 as select…
select *(列名…) from 视图名称
drop view 视图名称
MySQL中的时间函数 | |
---|---|
now() | 得到当前时间 |
date_add(data, interval expr type) | data是标准格式的时间,interval 是固定的关键字, expr是时间间隔,type表示间隔的类型(常见的 year、month、day、hour、second) |
SQL serve中的时间函数 | |
---|---|
getdate() | 得到当前时间 |
dateadd(datepart, num, date) | datepart是参数类型(yy、mm、dd等), num 是时间间隔, date 是标准格式的时间 |
create table/view/index/syn/cluster
DDL操作是隐形提交的,不能rollback
- grant:授权
- rollback [work] to [savepoint]:回退到某一点,rollback(回滚命令)使数据库状态回退到上次提交的最后状态
- commit [work]:提交
、数据库系统的特点
数据库系统的特点:高共享、低冗余、高独立、完整性
数据共享性高,冗余度低
数据具有高度的物理独立性;在逻辑上,有一定的独立性、关联性
数据具有完整性
实体联系模型,也叫E-R图,是一种以直观的图示方式描述实体(集)及其之间关系的模型
E-R图的四个基本成分:
- 矩形框,表示实体类型,框中写实体名
- 菱形框,表示联系类型
- 椭圆形框,表示实体类型和联系类型的属性,框中写属性名,联系也是有属性的
- 直线,实体类型与联系类型用直线连接,表示它们之间的联系,直线上标注联系的类型(1 : 1 或 1 : N 或 M : N)(一对一、一对多、多对多)
关系模型,就是数据表
实体联系模型转为关系模型,实体之间多对多联系转为关系模型的实现方式是建立新的关系
假设某个专业设置多门课程,某个课程可以被多个专业设置,专业实体集和课程实体集在E-R图中的联系表现为多对多
在关系模型中,要使用中间表来描述它们之间的关系
注意:两个结果集进行交运算或并运算的前提是:属性数目、属性名相同
7、
在使用 limit 时,如果没有足够的行,那么 MySQL 将只返回它能返回的行
if(expr1,expr2,expr3)
- 如果 expr1 为真,返回 expr2,否则返回 expr3
- expr1为true或不为0时,为真;expr2为false或为0时,不为真
数据库中存在学生表S、课程表C和学生选课表SC三个表,它们的结构如下:S(S&,SN,SEX,AGE,DEPT),C(C&,CN),SC(S&,C&,GRADE)其中:S&为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C&为课程号,CN为课程名,GRADE为成绩。请检索选修课程号为C2的学生中成绩最高的学号
select S& from SC where C& = "C2" and grade >= all(select grade from SC where C& = 2)
- 脏读:一个事务对数据项进行了修改,这个修改还没有提交到数据库中,另一个事务读到了这个数据项,因为数据是还未提交的数据,所以另一个事务读到了脏数据
即事务 T1 修改了数据项A,事务 T2 读到了这个修改的数据项A,但是后面由于某种原因,事务 T1 发生回滚,数据项A恢复原来的值,事务 T2 读到了“脏”数据
- 不可重复读
事务 A 第一次读数据项后,事务 B 修改了这个数据项并提交给数据库,事务 A 再次读这个数据项,发现两次读到的结果不一样,在一个事务中多次读同一个数据项结果不一致,即不可重复读
- 幻读
事务 A 修改了一个数据表中的所有的数据行,事务 B 又往这个数据表中添加了一个新的数据行,事务 A 结束后,发现有 未修改的数据行,好似产生了幻觉,即幻读
字段 in(子查询)
前面字段和子查询结果集中的字段数目、顺序要相同
字符串拼接,当其中一个值是NULL时,直接返回NULL
太行泉城,人文邢台
河北邢台