MYSQL面试准备

面试前把mysql的知识回顾一下:

基本SQL语句的使用方式
数据查询:
select

数据操纵:
insert:insert into table (字段1,字段2…)values(值1,值2)
update: update table set 字段名=字段值 where…
delete:delete from where…

数据定义:
create
drop

数据控制:
grant:为用户授予权限
grant <系统权限>|<角色> to <用户名>|<角色>
revoke:收回系统权限
revoke <系统权限>|<角色> from <用户名>|<角色>

内连接,外连接
内连接是保证两个表中的所有行都满足连接条件
inner join
外连接不仅包括符合条件的行,还包括左表(左外连接时),右表(右外连接时)或两个边接表(全外连接中)的所有数据行
left outer join
right outer join
full outer join

索引
目的:加快查询速度
类似于图书后面的索引,能快速定位到需要查询的内容,但需要消耗一定的存储空间

事务
事务是数据库中一个单独的执行单元,要么完成,要么不完成
满足ACID(原子性atomicity,一致性consistency,隔离性isolation,持久性durability)
事务处理语句:
1、begin,rollback,commit
begin;/start transaction; 开始事务
rollback; 回滚事务(撤销所有未提交的事务)
commit; 提交事务**
2、改变mysql的提交模式
set autocommit=0; 禁止自动提交
set autocommit=1; 开启自动提交
3、保存点
savepoint s1; 设置自动保存点s1
rollback to s1; 回滚到s1
注:自动提交事务,就是不需要commit就能提交事务。

存储过程
完成了特定功能的SQL语句集进行编译优化后,存储在数据库服务器中。
create procedure sp_name@[参数名] [类型]
as
begin

end
调用存储过程:exec sp_name[参数名]
删除存储过程:drop procedure sp_name

范式

触发器
触发器是一种特殊类型的存储过程,它由事件触发,而不是程序调用或手工启动,当数据库有特殊的操作时,这些操作由数据库中的事件来触发,自动完成这些SQL语句。
触发器中禁止使用commit和rollback语句
不能接受参数输入
DELIMITER $$
create trigger [触发器名]
AFTER [操作名:如update\delete\insert]
ON [表名]
for each row
begin
#要执行的操作
end;

视图
视图是从数据库基本表中选取出来的数据组成的虚表
数据库中只存放视图的定义,而不存放视图包含的数据项
作用:
1)简化数据查询语句
2)可以使用户从多角度看待同一数据
3)提高数据的安全性
4)提供了一定程度的逻辑独立性

union和union all
union在进行表并集操作后会去掉重复的元素
union all则只是简单地将两个结果集合并后就返回结果
select * from table1 union [all] select * from table2

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值