mysql学习笔记 第四天
mysql引擎:
archive(档案)[数据插入以后不能被修改,只读]
blackhole[这种写操作是删除数据,读操作是返回空白记录]
CSV[在储存数据时以逗号作为数据项之间的分隔符]
example[示例(存根)储存引擎]
Falcon[用来进行处理事务的储存类型]
federated[用来访问远程数据表的储存引擎]
InnoDB[具备外键支持功能的事务处理引擎]
memory[内存里的数据表]
merge[用来管理多个MyISAM数据表构成的数据表集合(merg-myisam)]
myisam默认的储存类型
NDB[mysql clustor 专用引擎]
第二部分:
no_engine_substitution设置不用默认的引擎(当创建数据表类型时不成功)
使用default-storage-engine启动服务器,使用一种默认的储存引擎
show create table table_name=select condition from information_schema.tables[查看默认引擎]
使用min-Rows=n对memory引擎的优化
eg:
create table table_name{...}engine=memory min-rows=100;
使用max-rows和avg-row-length控制myisam的大小
改变数据表的引擎:alter table table_name type[engine]=type_name
对于创建表格时使用if not exist可以检查是否具有相同的表格,但具有一定的风险,使用drop table if exist再执行create table
临时表:
创建临时表格:create temporary table table_name (也支持各种引擎),暂时性表的生命周期一般是在服务器停止临时表类型
可以和永久性表格同名,但是永久性表格会暂时性的失效,直到暂时性表失去效果。
使用like和select从其他数据表中创建新的数据表
create table table_name like _table_name,这样创建的新数据表具有相同的类型,索引,顺序,
insert into table_name select ...[select 后插入的是表数据或者其他数据],可以使用这个方法创建
一个临时性的副本:temporary
向副本中插入其他表数据eg:insert into new_table_name select * from table_name[where...];
使用create table table_name select 将上面两种类型一步到位,但是这种情况的数据可能对视索引或者可能失去数据属性
但是其中可以使用cast()强制类型.
在create table 部分提供明确定义,之后再select 部分使用那些定义检索:
create table mytd1(i int unsigned,t time,d decmal(10,5))
select i as i,cast(curtime() as time) as t,-----------------(这段话没看懂意思==。)
ps:select 字句选择填入数据要求。
merge数据表:
merge将myisam当做一个连接单元来处理,构成一个merge数据表的各个成员具有相同的顺序,数据类型,索引等,
eg:
create table log_ccyy
( dt datetime not null,
info varchar(100) not null,
index(dt)
);
ccyy是年份的意思,假设创建log_2010,log_2011,以后在创建一个merge类型的:
create table log_merge
(dt datetime notnull,
info varchar(100) not null
index(dt)
)engine=merge union=(log_2010,log_2011)
[insert_method=[no\first\last]];
在创建新的merge单元的时候(myisam表类型),插入的位置first或者last或者no不允许插入新的数据表
log_merge中加入数据表log_2012:
alter table log_merge=(log_2010,log_2011,log_2012)
mysql学习笔记 第四天的更多相关文章
- Mysql学习笔记(四)字符串函数
PS:终于看完了字符串函数,心都快碎了...涉及的函数真是太多了...感觉这里的字符串函数和JAVA里的基本都差不多了...基本上算是掌握了,但是想全记住那是不太可能的... 学习内容: 字符串函数的 ...
- MySQL学习笔记十四:优化(1)
SQL优化 1.查看各种SQL执行的频率 mysql> show status like 'Com_select';--Com_insert,Com_delete,connections(试图连 ...
- Mysql学习笔记(四)聊聊数据库索引
小心情(可直接跳到分割线后) 今天心情好些了.一些浓的化不开的坏情绪,也渐渐的在晚上解决掉一个复杂的逻辑问题后,渐渐消散了. 今天中午去吃饭的时候,坤哥漫不经心的说:'我这么多年终于悟出了一个道理,人 ...
- 菜鸟的MySQL学习笔记(四)
MySQL中的运算符和函数: 1.字符函数: 2.数值运算符与函数: 3.比较运算符与函数: 4.日期时间函数: 5.信息函数: 6.聚合函数: 7.加密函数等: 6-1.字符函数: CONCAT ...
- MySql学习笔记(四)
MYSQL如何查看系统帮助: 1.查看官方API文档: http://dev.mysql.com/doc/ 2.通过Mysql中的help命令 比如:help create database MYSQ ...
- MySQL学习笔记(四)悲观锁与乐观锁
恼骚 最近在搞并发的问题,订单的异步通知和主动查询会存在并发的问题,用到了Mysql数据库的 for update 锁 在TP5直接通过lock(true),用于数据库的锁机制 Db::name('p ...
- mysql学习笔记(四):group by,limit,to_days(),from_days()
1. [Err] 1055 - Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated co ...
- MYSQL学习笔记 (四)GROUP BY与HAVING用法
注意:select 后的字段,必须要么包含在group by中,要么包含在having 后的聚合函数里. 1. GROUP BY 是分组查询, 一般 GROUP BY 是和聚合函数配合使用 group ...
- MySQL学习笔记(四)——分组数据group by子句和having子句
分组允许把数据分为多个逻辑组,以便对每个组进行聚集计算. 例如我们查下每个系里有多少名学生: 在使用group by 子句之前,还需要知道一些规定: 1. group by 子句可以包含任意数目的列, ...
随机推荐
- PHP面向对象 三大特性
1.封装 目的:就是为了让类更加安全 做法: 1 要将成员做成私有的 2 在类里面做方法来间接访问成员变量 3 在方法里面加控制 简单的: 第一个魔术方法:给变量赋值的 __set fu ...
- Jquery判断页面图片是否加载失败,加载失败则显示默认图片
例子: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. ...
- WPF入门教程系列十——布局之Border与ViewBox(五)
九. Border Border 是一个装饰的控件,此控件绘制边框及背景,在 Border 中只能有一个子控件,若要显示多个子控件,需要将一个附加的 Panel 控件放置在父 Border 中.然后可 ...
- 如何优雅的使用vue+vux开发app -02
如何优雅的使用vue+vux开发app -02 很明显这又是一个错误的示范,请勿模仿 使用动态组件实现保留状态的路由 <!DOCTYPE html> <html> <he ...
- 兼容90%标准C的词法分析器
不能分词八进制和数字类型加前/后缀的情况 拿这个词法分析器跑了一遍整个Nginx源码,基本都能正确的分出结果,后面有测试例子~ #ifndef _STATES_H_ #define _STATES_H ...
- javascript类型系统——Number数字类型
× 目录 [1]定义 [2]整数 [3]浮点数[4]科学记数[5]数值精度[6]数值范围[7]特殊数值[8]转成数值[9]实例方法 前面的话 javascript只有一个数字类型,它在内部被表示为64 ...
- 【Android】Android Camera实时数据采集及通过MediaCodec硬编码编码数据的流程
吐槽: 其实常用流程都差不多,但是有时候还是会忘记某一步的详细用法,但是各位朋友请注意,官方已经不推荐Camera类的使用(现在是android.hardware.camera2),但无奈公司项目之前 ...
- ATL是如何实现线程安全的引用计数和多线程控制的
ATL是如何实现线程安全的引用计数和多线程控制的 正如标题所示,这是我经常被问到的一个问题,而每次我都从头开始给人说一次,其实说来过程理解起来的确有点复杂. 我们的每一个ATL Server Obje ...
- java设计模式(三)--抽象工厂模式
转载:http://zz563143188.iteye.com/blog/1847029 前面的工厂方法模式虽然清晰,但还是感觉有些繁琐,通常使用的还是抽象工厂模式. 工厂方法模式有一个问题就是,类的 ...
- 基于HT for Web的3D拓扑树的实现
在HT for Web中2D和3D应用都支持树状结构数据的展示,展现效果各异,2D上的树状结构在展现层级关系明显,但是如果数据量大的话,看起来就没那么直观,找到指定的节点比较困难,而3D上的树状结构在 ...