关闭

再次认识mysql(四)

标签: mysql
85人阅读 评论(0) 收藏 举报
分类:

视图  view 虚拟表(sql的查询结果)

创建  create view vuser as  select cat_id,avg(shop_price) as pj  from goods group by cat_id;

删除  

视图其实是物理表的投影   

作用:权限控制  通过视图开放一列或者几列  

            简化复杂查询

如果视图的每一行与物理表是一一对应的则可以互相更新

视图的一行是由物理表进行计算得到的结果 则视图不能够更新

视图的算法 

merge 存储视图语句  合并

temptable     视图本身比较复杂  执行视图创建语句 结果集形成内存中的临时表  然后查临时表      

create algorithm =merge view goods.v1 as select goods_id,avg(shop_price) as pj,avg(market_price) as mpj from goods;

            algorithm=temptable

 alter view 

 drop view  v1;

 show create view v1;


查看表  desc  goods;

删除表  drop  table  goods;

查看建表过程  show create table goods;

查看表信息   show table  status ;

查看具体表的详细信息  show table status where name='goods';

修改表名称 rename table old to new;

初始化表数据  truncate table;    相当于drop和create 

 

存储引擎  数据库对同样的数据 有着不同的存储方式和管理方式

 默认引擎:InnoDB

Myisam  批量插入速度 高   

InnoDB                            低      支持事务安全    日志系统健全 不易丢失  

 

字符集  UTF8 



查看支持的编码  show character set;

查看支持的校验规则 show collation;

编码校验规则:用于排序和比较使用   _ci不区分大小写的比对 

字段指定编码格式未指定校对规则,会采用该编码默认校对规则

字符集mysql环境  show variables like "%character%";

设置mysql字符集环境 client connection database filesystem  results  server  system

set character_set_client=utf-8; 设置为utf-8


索引 index

作用:数据的目录,能快速定位行数据的位置。

代价:提高了查询速度,降低了增删改的速度(索引也会发生变化)

一般在查询频率高的列上加,而且列重复度低的列上 效果更好

普通索引 key

唯一索引 unique key  便于查询和约束数据  email char(20)   unique key email(email(10))  针对email列的前10个字符  建立索引 email

主键索引 primary key    id int     primary key(id)  

全文索引  fulltext  中文环境下无效果  (分词+索引   sphinx)

多列索引  把多列的值看成一个整体   

create table t1(xing char(2),ming(char(10),key xm(xing,ming));

explain select * from t1 where xing=‘你’ and ming=‘真是’ \G;          查看如何利用索引来处理这条语句执行情况    \G将字段打印到单独的行      使用到了索引

explain select * from t1 where xing=‘你’     使用到了索引

explain select * from t1 where ming=‘真是’  没用使用索引            左前缀 从左往右    由左可以确定   由右不可以确定

冗余索引 某一个列上可能有多个索引   

create table  t1 (xing char(2),ming char(10),key xm(xing,ming),key m(ming));

show index from t1; 查看索引

alter table t1 drop index ming   删除索引

drop index ming on t1 删除索引

alter table t1 add index xm(xing,ming) 增加索引

alter table t1 add unique m(ming);增加索引





0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:47848次
    • 积分:1337
    • 等级:
    • 排名:千里之外
    • 原创:90篇
    • 转载:13篇
    • 译文:0篇
    • 评论:3条
    最新评论