DDL: 操作数据库对象 (操作数据库,操作表)
https://blog.csdn.net/weixin_42641416/article/details/86588402
DML: 增加,删除,修改
https://blog.csdn.net/gjs935219/article/details/105142996
delete与truncate的比较【重要】
1、delete可以加WHERE条件,TRUNCATE不能加
2、truncate删除,效率高一点
3、假如要删除的表中有自增长列,
处理效率:drop>trustcate>delete
drop删除整个表;trustcate删除全部记录,但不删除表;delete删除部分记录
delete不影响所用extent,高水线保持原位置不动;trustcate会将高水线复位。
DQL :查询
消除重复行关键字?
distinct
什么是内连接?
等值连接,自连接,交叉连接,using子句,join on子句
什么是自连接?
emp dept表 层次模型 转换成关系模型
什么是外连接?
左外连接,右外连接,全外连接
什么是左外连接?
左外连接,左表会把全部数据显示出来(不符合也显示出来),右表把符合连接条件数据显示出来
笛卡尔积 2个表会产生多少条记录数
a表的总条数*b表的总条数=笛卡尔积记录数
分组关键字, 排序关键字 降序升序
groupby,orderby asc desc
聚合函数有哪些
max min avg count sum
having 和where 区别
having是在分组后对数据进行过滤
where是在分组前对数据进行过滤
having后面可以使用聚合函数
where后面不可以使用聚合
在SQL中语法规范中,having子句的使用下面描述正确的是:( )
正确答案: A C 你的答案: A C D (错误)
having子句即可包含聚合函数作用的字段也可包括普通的标量字段
使用having的同时不能使用where子句
having子句必须于group by 子句同时使用,不能单独使用
使用having子句的作用是限定分组条件
Having子句和where子句是等同的
如果select语句中没有聚合函数的使用,就不能使用having子句
DCL:权限管理
索引
视图
什么是视图?
是一个虚表, 可以进行视图进行增删该查 不建议增删该 建议使用查
视图关键字,如何创建视图?
关键字 view
create view 视图名 as select语句
事务 https://www.jianshu.com/p/081a3e208e32
1. 什么是事务?
在同一组数据中,事务中的操作要么全部成功,要么全部失败(转账操作)
2.事务4种特性/ACID有哪些?分别解释下意思?
原子性
同一组数据,要么全部成功,要么全部失败.不可能只执行一部分操作
一致性:
比如:A向B转账,不可能A扣了钱,B却没有收到
隔离性:
A正在从一张银行卡里面取钱,在A取钱的过程中,B不能向这张银行卡打钱
持久性
事务处理结束后,对数据的修改就是永久的,即便系统故障也不会丢失。
``
通用问题
sql语句关键字和命令有什么区别?
命令可以缩写 关键字不可以缩写
如果往数据库里面存一张图片?
1.把图片转换成二进制形式bai存储在数据库中
2.图片存储在磁盘上,数据库字段中保存的是图片的路径
三范式 https://blog.csdn.net/CharlesYooSky/article/details/89204229
第一范式 表中的列只能含有原子性(不可再分)的值。
第二范式 保证一张表只描述一件事情
第三范式 保证每列都和主键直接相关
DDL,DML,DQL,DCL 都代表什么意思?