马丁传奇

导航

随笔分类 -  MySQL

SQL语句inner join / left join / right join使用
摘要:A INNER JOIN B 内边接 获取AB两个表中字段匹配关系的记录。A LEFT JOIN B 左连接 以左表A为主,先查询出左表A,按照ON后的关联条件匹配右表B,右表B中没有匹配到的用NULL填充。A RIGHT JOIN B 右连接 以右表B为主,先查询出右表B,按照ON后的关联条件匹配 阅读全文

posted @ 2020-04-26 20:43 马丁传奇 阅读(704) 评论(0) 推荐(0) 编辑

MySQL各类型字段可定义最大宽度
摘要:今天浏览mysql的官网文档,无意中看到如图划线部分一句话,引起了我的兴趣,所以决定做实验官方所言。 条例1.创建数据表时,所有字段定义时"宽度之和"不得超过65535字节; 条例2.理论上的char(255)、varchar(65532)、varbinary(65532)字段最大值定义,实际情形是 阅读全文

posted @ 2019-11-28 14:37 马丁传奇 阅读(2489) 评论(0) 推荐(0) 编辑

MySQL Innodb的两种表空间方式
摘要:要说表空间,MySQL的表空间管理远远说不上完善。换句话说,事实上MySQL根本没有真正意义上的表空间管理。MySQL的Innodb包含两种表空间文件模式,默认的共享表空间和每个表分离的独立表空间。只要在my.cnf里面增加innodb_file_per_table=1就可以从共享表空间切换到独立表空间。当然对于已经存在的表,则需要执行alter table MY_TABLE engine=innodb命令迁移数据。共享表空间方式由于是默认的方式,就暂且理解为MySQL官方推荐的方式。相对而言所有的数据都在一个(或几个)文件中,比较利于管理,而且在操作的时候只需要open这一个(或几个)文件即 阅读全文

posted @ 2013-12-10 13:03 马丁传奇 阅读(569) 评论(0) 推荐(1) 编辑

MySQL表分区技术
摘要:MySQL表分区技术MySQL有4种分区类型: 1.RANGE 分区 - 连续区间的分区 - 基于属于一个给定连续区间的列值,把多行分配给分区; 2.LIST 分区 - 离散区间的分区 - 类似于按RANGE分区,区别在于LIST分区是基于列值匹配一个离散值集合中的某个值来进行选择; 3.HASH 分区 - 平均分区 - 基于用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列值进行计算,这个函数可以包含MySQL中有效的、产生非负整数值的任何表达式; 4.KEY 分区 - Key分区 - 类似于按HASH分区,区别在于KE... 阅读全文

posted @ 2013-12-10 12:48 马丁传奇 阅读(1140) 评论(0) 推荐(0) 编辑

MySQL CMake参数说明手册
摘要:MySQL自5.5版本以后,就开始使用CMake编译工具了,因此,你在安装源文件中找不到configure文件是正常的。很多人下到了新版的MySQL,因为找不到configure文件,不知道该怎么继续下去。有没有一篇可供参考的文章呢?其实在http://forge.mysql.com网站上有一篇文章,专门介绍了如何用CMake工具进行新版MySQL的编译安装。原文地址为:http://forge.mysql.com/wiki/Autotools_to_CMake_Transition_Guide。1、介绍2、命令调用语法3、安装参数选项4、存储引擎选项5、库文件加载选项6、其他选项介绍本页将介 阅读全文

posted @ 2013-12-03 13:49 马丁传奇 阅读(5228) 评论(0) 推荐(0) 编辑

MySQL 5.5 主从复制
摘要:MySQL 5.5 主从复制的原理、过程分为同步复制和异步复制,实际复制架构中大部分为异步复制。复制的基本过程如下:1)、Slave上面的IO进程连接上Master,并请求从指定日志文件的指定位置(或者从最开始的日志)之后的日志内容;2)、Master接收到来自Slave的IO进程的请求后,通过负责复制的IO进程根据请求信息读取指定日志指定位置之后的日志信息,返回给Slave的IO进程。返回信息中除了日志所包含的信息之外,还包括本次返回的信息已经到Master端的bin-log文件的名称以及bin-log的pos位置;3)、Slave的IO进程接收到信息后,将接收到的日志内容依次添加到Slav 阅读全文

posted @ 2013-12-02 17:31 马丁传奇 阅读(2224) 评论(0) 推荐(1) 编辑

MySQL的binlog日志
摘要:binlog 基本认识 MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。 一般来说开启二进制日志大概会有1%的性能损耗(参见MySQL官方中文手册 5.1.24版)。二进制有两个最重要的使用场景: 其一:MySQL Replication在Master端开启binlog,Mster把它的二进制日志传递给slaves来达到master-slave数据一致的目的。 其二:自然就是数据恢复了,通过使用mysqlbinlo... 阅读全文

posted @ 2013-12-02 17:22 马丁传奇 阅读(157864) 评论(15) 推荐(47) 编辑

mysqldump备份恢复
摘要:数据库的备份恢复是DBA的必修课,本文首先讲解mysqldump完整备份恢复的操作方法,演示数据库完整备份的基本过程。然后再模拟数据库遭遇灾难性破坏,配合bin-log日志实验数据库灾难性恢复的步骤。一、mysqldump备份数据mysqldump常用选项解析: -u --user 用户名 -p --password 密码 -h --host=name 指定从远程主机备份(若不指定就是本机) -l --lock-tables 指定读锁定(完成之后自动解锁) -F --flush-logs 指定立刻刷新系统log... 阅读全文

posted @ 2013-12-02 17:14 马丁传奇 阅读(1019) 评论(0) 推荐(0) 编辑

MySQL用户授权
摘要:一、授权语法格式 grant 权限列表 on 数据库名.表名 to '用户名'@'客户端主机' [identified by '密码']; 单词: privileges [ˈprivilidʒz] 权限 单词: identified [aɪ'dentɪfaɪd] 认出( identify的过去式和过去分词 ),身份验证 @ 权限列表: all 所有权限(不包括授权权限) select,update 查询,更新权限 select(name,address) 只查询name,address字... 阅读全文

posted @ 2013-12-02 17:03 马丁传奇 阅读(709) 评论(0) 推荐(0) 编辑

SQL中的替换函数replace()使用
摘要:语法REPLACE ( string_expression , string_pattern , string_replacement )参数string_expression 要搜索的字符串表达式。string_expression 可以是字符或二进制数据类型。string_pattern 是要查找的子字符串。string_pattern 可以是字符或二进制数据类型。string_pattern 不能是空字符串 ('')。string_replacement 替换字符串。string_replacement 可以是字符或二进制数据类型。返回类型如果其中的一个输入参数数据类型为 阅读全文

posted @ 2013-09-04 15:59 马丁传奇 阅读(121709) 评论(1) 推荐(3) 编辑

select case when if 的一些用法
摘要:概述:sql语句中的case语句与高级语言中的switch语句,是标准sql的语法,适用于一个条件判断有多种值的情况下分别执行不同的操作。首先,让我们看一下CASE的语法。在一般的SELECT中,其语法格式如下:CASE WHEN THEN WHEN THEN ... WHEN THEN ELSE END★ 第一部分# 创建一个用户表CREATE TABLE `user` (`id` int(10) unsigned NOT NULL auto_increment, `sex` tinyint(1) default 1 COMMENT '性别:0女;1男;2保密',`age` 阅读全文

posted @ 2013-07-28 02:03 马丁传奇 阅读(102505) 评论(5) 推荐(8) 编辑

MySQL中文全文检索demoSQL
摘要:一、概述 MySQL全文检索是利用查询关键字和查询列内容之间的相关度进行检索,可以利用全文索引来提高匹配的速度。二、语法 MATCH (col1,col2,...) AGAINST (expr [search_modifier]) search_modifier: { IN BOOLEAN MODE | WITH QUERY EXPANSION } 例如:SELECT * FROM tab_name WHERE MATCH ('列名1,列名2...列名n') AGAINST('词1 词2 词3 ... 词m'); 即:MATCH 相当于要匹配的列,而 AGAIN 阅读全文

posted @ 2013-07-27 21:44 马丁传奇 阅读(5282) 评论(0) 推荐(3) 编辑