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 子句可以包含任意数目的列, ...
随机推荐
- Markdown入门基础
// Markdown入门基础 最近准备开始强迫自己写博文,以治疗严重的拖延症,再不治疗就“病入骨髓,司命之所属,无奈何”了啊.正所谓“工欲善其事,必先利其器”,于是乎在写博文前,博主特地研究了下博文 ...
- Atitit.软件与编程语言中的锁机制原理attilax总结
Atitit.软件与编程语言中的锁机制原理attilax总结 1. 用途 (Db,业务数据加锁,并发操作加锁.1 2. 锁得类型 排它锁 "互斥锁 共享锁 乐观锁与悲观锁1 2.1. 自旋锁 ...
- 客户端向服务端传送特殊字符解决方法(检测到有潜在危险的 Request.Form 值)
当客户端向服务端传输特殊字符时报错,错误信息如下图:
- linux epoll模型使用注意点
1.默认使用的水平触发方式会多次触发回调函数,但是事实上这时并不需要回调,会浪费系统性能,就是在注册
- 【原创】NIO框架入门(四):Android与MINA2、Netty4的跨平台UDP双向通信实战
概述 本文演示的是一个Android客户端程序,通过UDP协议与两个典型的NIO框架服务端,实现跨平台双向通信的完整Demo. 当前由于NIO框架的流行,使得开发大并发.高性能的互联网服务端成为可能. ...
- Java 线程 — AbstractQueuedSynchronizer
锁 锁就是一种状态,比如互斥锁:同一时间只能有一个线程拥有,可以使用一个整型值来标志当前的状态 0:表示没有现成占有锁 1:表示锁已经被占用 AbstractQueuedSynchronizer 实现 ...
- SQL Server的Execute As与连接池结合使用的测试
简介 在SQL Server中,Execute As关键字允许当前账户在特定上下文中以另一个用户或登录名的身份执行SQL语句,比如用户张三有权限访问订单表,用户李四并没有权限访问订单表,那么给 ...
- 《BI那点儿事》浅析十三种常用的数据挖掘的技术
一.前沿 数据挖掘就是从大量的.不完全的.有噪声的.模糊的.随机的数据中,提取隐含在其中的.人们事先不知道的但又是潜在有用的信息和知识的过程.数据挖掘的任务是从数据集中发现模式,可以发现的模式有很多种 ...
- PHP的学习--解析URL
PHP中有两个方法可以用来解析URL,分别是parse_url和parse_str. parse_url 解析 URL,返回其组成部分 mixed parse_url ( string $url [, ...
- HTML5的学习--performance
HTML5提供的performance接口精确的告诉我们当访问一个网站页面时当前网页每个处理阶段的精确时间(timestamp),以方便我们进行前端分析. 它是浏览器的直接实现,比在网页中用js设置D ...