Mysql (三) - 视图、字符集、校对集、触发器
来源:互联网 发布:姚劲波的域名 编辑:程序博客网 时间:2024/05/16 14:55
1. 视图
视图 是由查询结果形成的虚拟表
视图的作用:
· 简化查询
· 可以进行权限控制,封闭表权限,开放视图权限
· 用于大数据分表
视图和表的关系
· 视图是表的查询结果,影响了结果
· 视图增删改也可以影响表
· 视图的增删改不一定影响表,视图的数据和表的数据一一对应时,可以修改,视图必须包含所有表中没有默认值的列
· 对于insert 语句注意,视图必须包含表中没有默认值的列
创建视图语法:create view 视图名 as select 语句;
修改视图: alter view 视图名 as select 语句;
删除视图: drop view 视图名;
视图的algorithm
algorithm = merge / temptable / undefined
merge : 当引用视图时,引用视图语句和定义视图语句合并
(merge 是一种规则,查询 where 和 创建视图 where 合并在一起,分析成 select 语句)
temptable : 当引用视图时,根据视图创建一个临时表
undefined : 未定义,让系统决定
create algorithm = temptable view vPersons2 as select * from Car;
2. 字符集
mysql 可以设置以下字符集(未指定,则继承上级):
- 服务器
- 数据库
- 表
- 列
显示所有字符集:SHOW CHARACTER SET;
如何设置字符集?
set character_set_client = gbk;
set character_set_connection = gbk;
set character_set_results= gbk;
简写为 set names gbk;
什么时候出乱码?
1. client 声明 和 事实 不符
2. result 和 client 不符
什么时候会丢失数据?
1、connection 和 服务端 比 client 范围小
3. 校对集
校对集:是排序规则,一个字符集可以有一个或多个排序规则。
显示所有校对集:SHOW COLLATION;
校对集 需和 字符集 对应
4. 触发器
触发器(trigger): 监视某种情况并触发某种操作
触发器创建语法四要素
· 监视地点 table
· 监视事件 insert / update / delete
· 触发时间 before / after
· 触发事件 insert / update / delete
创建语法:
create trigger triggerName
after / before insert /update /delete
on tableName
Begin
sql语句;
End;
删除语法:
drop trigger triggerName ;
注意点:
· 需先设置标示分界符 :delimiter $ (不要加分号)
· 对于insert ,新增的行用 new 表示,行中每一列 用 new. 列名表示
· 对于update ,更新后的行用 new 表示,更新前的行用old表示
· 本表进行修改不需要用 update 表名 直接用 set
(参考:http://www.chenyudong.com/archives/database-trigger-new-old-value-understand.html)
· 对 new 赋值,只能用于 before
before 和 after 区别:
· before : 先完成触发再增删改
· after :先增删改再触发
create trigger tg1before update on Carfor each row beginset new.SaleNum = old.SaleNum + old.StoreNum - new.StoreNum ;End $
查看触发器: show triggers ;
- Mysql (三) - 视图、字符集、校对集、触发器
- mysql 字符集与校对集
- mysql字符集和校对规则(Mysql校对集)
- mysql字符集和校对规则(Mysql校对集)
- mysql字符集和校对规则(Mysql校对集)
- MySQL自学笔记5--表联合、表连接、视图、字符集、校对集
- mysql之字符集与校对集
- mysql之字符集与校对集
- mysql之字符集与校对集
- Mysql数据库字符集和校对集
- MySQL(二、字符集校对集)
- mysql 字符集和校对
- mysql collation 字符集校对
- 字符集and校对集
- mysql字符集和校对规则
- MySQL 字符集与校对规则
- MySQL字符集和校对规则
- MySQL字符集和校对规则
- Linux 安装VMwareTools ,root登陆,权限问题
- 如何解决在GDI画图中,多次修改画笔的颜色
- Linux某个用户无法登录系统
- ajax请求springmvc与mvc:annotation-driven
- window安装python,ipython,pycharm
- Mysql (三) - 视图、字符集、校对集、触发器
- Django 错误 code 400, message Bad request syntax
- holder.js生成占位图片
- 阿里云ECS Linux通过Xshell 配置密钥key免密码登录
- C++ override 关键字用法
- Python文件操作读写文件
- 设置form表单传输的编码格式 application/x-www-form-urlencoded、multipart/form-data、text/plain
- java开源框架SpringSide 3.1.4.3开发Web的demo项目实战
- 微信公众平台——获取用户信息