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 子句可以包含任意数目的列, ...
随机推荐
- Java-接口练习1
1.(1)编写一个接口ShapePara,要求: 接口中的方法: int getArea():获得图形的面积.int getCircumference():获得图形的周长 (2)编写一个圆类Circl ...
- Linux运维之道(大量经典案例、问题分析,运维案头书,红帽推荐)
Linux运维之道(大量经典案例.问题分析,运维案头书,红帽推荐) 丁明一 编 ISBN 978-7-121-21877-4 2014年1月出版 定价:69.00元 448页 16开 编辑推荐 1 ...
- SQL server 临时表
创建临时表,#代表局部临时表,##代表全局临时表.局部临时表和全局临时表的具体含义是什么呢? 举例说明一下比较清晰些,先来看下局部临时表,[新建查询],在里面输入如下文本: 运行后,我们在此文件执行输 ...
- Linux快速入门02-文件系统管理
继续进入Linux文件系统的学习,加油,早日突破MS压在自己身上的那道束缚. Linux系列文章 快速入门系列--Linux--01基础概念 快速入门系列--Linux--02文件系统管理 快速入门系 ...
- JS原生第二篇 (帅哥)
1.1 Javascript 作用 1. 网页特效 2. 用户交互 3. 表单验证 Js 就是可以用来控制 结构 和 样式 . 1.2 体验js 认识常用的三个输出语句. 都属于 ...
- Android入门(十九)WebView
原文链接:http://www.orlion.ga/676/ WebView可以在自己的应用程序中嵌入一个浏览器来展示网页. 创建一个项目WebViewDemo,修改activity_main.xml ...
- hdu 1241 Oil Deposits (一次dfs搞定有某有)
#include<iostream> #include<cstring> #include<cstdio> #include<algorithm> us ...
- 如何线程安全地遍历List:Vector、CopyOnWriteArrayList
遍历List的多种方式 在讲如何线程安全地遍历List之前,先看看通常我们遍历一个List会采用哪些方式. 方式一: for(int i = 0; i < list.size(); i++) { ...
- 邻接矩阵无向图(三)之 Java详解
前面分别介绍了邻接矩阵无向图的C和C++实现,本文通过Java实现邻接矩阵无向图. 目录 1. 邻接矩阵无向图的介绍 2. 邻接矩阵无向图的代码说明 3. 邻接矩阵无向图的完整源码 转载请注明出处:h ...
- SQLServer学习笔记系列10
一.写在前面的话 生活的路很长,还是要坚持走下去,自己选择的生活,就该让这样的生活放射精彩!我不奢求现在的积累,在将来能够收获多少,至少在以后的日子里回忆起来,我不曾放弃过,我坚持过,我不后悔!最近跟 ...