mysql
小烟
昔我往矣,杨柳依依;今我来思,雨雪霏霏....
展开
-
mysql 笔记 六 存储引擎 事务 索引 存储过程
存储引擎一部电影 mp4 wma avi flv 各种格式数据也有多种管理方式,那么这些不同的管理方式 就是存储引擎的概念Create table aaa ()Engine myisam 设置引擎Charset utf8 设置编码常用的引擎Myisam 批量插入速度快 不支持事务 锁表 支持全文索引innoDB 批量插入速度慢原创 2012-10-06 14:34:31 · 1983 阅读 · 0 评论 -
MySQL 数据库怎样把一个表的数据插入到另一个表
web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码。下面我以mysql数据库为例分情况一一说明:两张表:insertTest和insertTest2,前者中有测试数据create table insertTest(id int(4),name转载 2013-07-05 13:09:04 · 1018 阅读 · 0 评论 -
mysql的表名/字段名/字段值是否区分大小写
1、mysql默认情况下是否区分大小写,使用show Variables like '%table_names'查看lower_case_table_names的值,0代表区分,1代表不区分。2、mysql对于类型为varchar数据默认不区分大小写,但如果该字段以“*_bin”编码的话会使mysql对其区分大小写。3、mysql对于字段名的策略与varchar类型数据相同。即:默转载 2013-10-17 09:11:31 · 1015 阅读 · 0 评论 -
mysql中is not null和!=null及null介绍
在mysql中,筛选非空的时候经常会用到is not null和!=null,这两种方法单从字面上来看感觉是差不多的,其实如果去运行一下试试的话差别会很大!为什么会出现这种情况呢?null 表示什么也不是, 不能=、>、默认情况下,推荐使用 IS NOT NULL去判断,因为SQL默认情况下对!= Null的判断会永远返回0行,但没有语法错误。如果你一定想要使用!= Nul转载 2013-11-08 16:21:02 · 1788 阅读 · 0 评论 -
MySQL数据库迁移data文件夹位置详细步骤
由于yum安装mysql的时候,数据库的data目录默认是在/var/lib下,出于数据安全性的考虑需要把它挪到/data分区。步骤如下:一、关闭apache和mysql.代码如下:service httpd stopservice mysqld stop二、将/var/lib下的mysql目录mv(移动)到data目录。为什么要用mv命令,而不用cp命令呢?应原创 2014-11-07 13:42:12 · 4423 阅读 · 0 评论 -
mysql实现增量备份
有点要注意 如果你误删了表 想通过这个恢复 必须恢复日志里面有创建表的日志 不然的话是无法回复的 就是必须是从你开始创建表的时候就已经记录日志了 恢复到哪个位置 就按照哪个位置来计算mysql 5.0不支持增量备份增量备份定义 mysql数据库会以二进制形式 自动把用户对mysql数据库的操作 记录到文件 当用户希望恢复的时候可以使用备份文原创 2013-07-24 22:27:12 · 27840 阅读 · 0 评论 -
mysql 联合索引和唯一索引
一般来说.如果有where a=? and b=? and c=? 的语句.如果表也有DML, 我一般只在a 上建索引. 这也是代价平衡的结果. 一方面 只在a 上建索引那么是index range scan, 不像联合索引那样可以index unique scan , 我觉得速度差的不多(数据量不大的情况).另一方面,DML也会更新index,更新三个column肯定比更新一个c转载 2015-01-08 21:22:22 · 6820 阅读 · 0 评论 -
MySQL日志管理
一、日志类型: MySQL有几个不同的日志文件,可以帮助你找出mysqld内部发生的事情:日志文件 记入文件中的信息类型错误日志 记录启动、运行或停止时出现的问题。查询日志 记录建立的客户端连接和执行的语句。二进制日志 记录所有更改数据的语句。主要用于复制和即时点恢复。慢日志 记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。事务日志 记转载 2014-12-31 19:05:55 · 724 阅读 · 0 评论 -
MySQL建议列属性尽量为NOT NULL
除非你有一个很特别的原因去使用 NULL 值,你应该总是让你的字段保持 NOT NULL。这看起来好像有点争议,请往下看。首先,我们要搞清楚“空值” 和 “NULL” 的概念:1、空值是不占用空间的2、MySQL中的NULL其实是占用空间的所谓的NULL就是什么都没有,连\0都没有,\0在字符串中是结束符,但是在物理内存是占空间的,等于一个字节,而NULL就是连这一转载 2015-08-11 21:12:56 · 723 阅读 · 0 评论 -
mysql 中 unix_timestamp和from_unixtime 时间戳函数
1.unix_timestamp将时间转化为时间戳。(date 类型数据转换成 timestamp 形式整数)没传时间参数则取当前时间的时间戳mysql> select unix_timestamp();+------------------+| unix_timestamp() |+------------------+| 1361586358转载 2016-02-16 11:27:33 · 957 阅读 · 0 评论 -
sql编程 && 存储过程
sql 结构化查询语言 是一种编程语言 用于管理数据库的编程语言 元素: 数据 数据类型 变量的数据类型 就是字段的数据类型 变量 字段名就是变量 自定义变量 为了区分用户变量和系统变量 需要在用户变量前增加 @ 标志 set 变原创 2013-07-17 23:11:51 · 3381 阅读 · 0 评论 -
mysql 事务处理
只有 innodb 、BDB引擎支持事务 如果在执行mysql事务中 一次执行多条sql语句 其中有一条sql语句的表引擎并不支持事务操作 那么 事务约束将对这条sql语句无效 换句话说 就是 事务执行完成 不管是 rollback 还是 commit 这条语句都不能回滚或者提交 而是在执行这条语句的时候 这张表就发生改变了你可以在同一个语句中合并事务安全和原创 2013-07-16 16:24:56 · 983 阅读 · 0 评论 -
mysql笔记 五 触发器
触发器 trigger枪击 扳机 引线的意思一触即发作用:监视某种情况并触发某种操作应用场景:某些在业务上不可分割的操作逻辑,要同时写多条sql语句 可以用触发器我们可以监视某表的变化,当发生某种变化时候 触发某个操作触发器:能监视:增、删、改能触发:增、删、改触发器 监视 表 监视事件 增删改 监视事件 after (发生之后)/before(发生之前)原创 2012-10-06 14:33:46 · 816 阅读 · 0 评论 -
mysql笔记 三 查询语句 where having group order by
查询语句 selectWhere 条件查询Group by 分组查询Having 筛选Order by 排序Limit 限制结果数Where 小于 1!= 不等于 小于等于>= 大于等于= 等于> 大于 In 查询某个集合Between 查询某个范围 age between原创 2012-10-06 14:32:22 · 1518 阅读 · 0 评论 -
mysql笔记 二 字段类型
类型整型 tinyint 0 -- 255 -128---127 smallint mediumint int bigint 小数型 float decimal字符串类型 varchar char text日期型 datedatetime原创 2012-10-06 14:31:39 · 830 阅读 · 0 评论 -
mysql笔记 四 左连接 视图 字符集
Union的用法Union 联合 union all 不去重复作用: 把2次 或者多次的查询结果合并起来SELECT * FROM `iwebshop`.`iwebshop_goods` where sell_price >5000 union SELECT * FROM `iwebshop`.`iwebshop_goods` where sell_price 要原创 2012-10-06 14:33:16 · 3233 阅读 · 0 评论 -
mysql笔记 一 基础篇
如果勾选环境变量 就能在cmd任何目录使用mysql 了 或者 直接在mysql的目录里面使用cmd 里面 cls 就是清屏的意思在 cmd 下连接 mysqlexit 就可以退出warning :mysql 里面 数据库名不能修改\c 就可以退出当前语句concat 连接字符如果 insert 语句 没有指定默认的列 那么就是默认原创 2012-10-06 14:30:43 · 1082 阅读 · 0 评论 -
MySQL中UNION和UNION ALL的使用
在数据库中,UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。MySQL中的UNIONUNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表UNION。如:select * from gc_dfys转载 2013-07-11 09:20:17 · 734 阅读 · 0 评论 -
用distinct在MySQL中查询多条不重复记录值
在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,我只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会转载 2013-07-10 21:34:00 · 794 阅读 · 0 评论 -
mysql group by 用法解析(详细)
在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是 distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,我只有用二重循环查询来解决,而 这样对于一个数据量非常大的站来说,无转载 2013-07-15 20:40:18 · 3334 阅读 · 0 评论 -
mysql 触发器
监听数据进行操作 在当前的表上 设置一个对每行数据的监听器。监听相关事件 每当事件发生时候 会执行一段由sql完成的一段功能性代码 不可以在同一个事件上面绑定多个触发器触发器的元素事件、执行代码事件:insert delete update 事件的时机 执行之前 执行之后 After Before原创 2013-07-16 16:31:23 · 869 阅读 · 0 评论 -
MySQL 数据库 varchar 到底可以存多少个汉字,多少个英文呢?我们来搞搞清楚
一、关于UTF-8UTF-8 Unicode Transformation Format-8bit。是用以解决国际上字符的一种多字节编码。它对英文使用8位(即一个字节) ,中文使用24位(三个字节)来编码。UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。UTF-8编码的文字可以在各国支持UTF8字符集额的浏览器上显示。如果是UTF8转载 2016-05-05 10:09:35 · 50430 阅读 · 4 评论