mysql函数

MySQL快速回顾:高级查询操作

牧云@^-^@ 提交于 2020-01-15 11:32:55
8.1 排序数据 检索出的数据并不是以纯粹的随机顺序显示的。如果不排序,数据一般将以它在底层表中出现的顺序显示。这可以是数据最初添加到表中的顺序。但是,如果数据后来进行过更新或删除,则此顺序将会受到MySQL重用回收存储空间的影响。因此,如果不明确控制的话,不能依赖该排序顺序。 关系数据库设计理论认为,如果不明确规定排序顺序,则不应该假定检索出的数据的顺序有意义。 子句的解释: 一个子句通常由一个关键字和所提供的数据组成 。SQL语句由子句构成,有些子句是必需的,而有些是可选的。 为了明确地排序用SELECT语句检索出的数据,可使用ORDER BY子句。ORDER BY子句取一个或多个列的名字,据此对输出进行排序。排序顺序有两种:升序(ASC关键字)和降序(DESC关键字), 格式: # 升序(默认不写就是升序) SELECT field1,field2,... FROM <table_name> ORDER BY field1,field2,...; SELECT field1,field2,... FROM <table_name> ORDER BY field1,field2,... ; # 降序 SELECT field1,field2,... FROM <table_name> ORDER BY field1,field2,... DESC; # 对field1降序

MySQL工具汇总

99封情书 提交于 2020-01-15 04:22:40
本博客已经迁移至: http://cenalulu.github.io/ 本篇博文已经迁移,阅读全文请点击: http://cenalulu.github.io/mysql/mysql-tools-list/ 本文汇总了和MySQL运维开发相关的所有工具,并会持续更新 1. 工具套件集 percona-toolkit: http://www.percona.com/software/percona-toolkit oak-toolkit: http://code.openark.org/forge/openark-kit ps-helper(performance schema 工具函数集): https://github.com/MarkLeith/dbahelper 2. MySQL 实时状态分析 innotop: https://code.google.com/p/innotop/ orzdba: http://code.taobao.org/p/orzdba/src/trunk/orzdba mytop: http://jeremy.zawodny.com/mysql/mytop/ systemtap工具示例集: https://sourceware.org/systemtap/examples/ 3. mysql客户端&开发工具 Adminer:http://www

MySQL工具汇总

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-15 04:21:07
本文汇总了和MySQL运维开发相关的所有工具,并会持续更新 1. 工具套件集 percona-toolkit: http://www.percona.com/software/percona-toolkit oak-toolkit: http://code.openark.org/forge/openark-kit ps-helper(performance schema 工具函数集): https://github.com/MarkLeith/dbahelper 2. MySQL 实时状态分析 innotop: https://code.google.com/p/innotop/ orzdba: http://code.taobao.org/p/orzdba/src/trunk/orzdba mytop: http://jeremy.zawodny.com/mysql/mytop/ 3. mysql客户端&开发工具 Adminer:http://www.adminer.org/ MyQuery:http://sourceforge.net/projects/myquery/ Hopper(存储过程调试工具):http://www.upscene.com/products.hopper.index.php 4. MySQL性能监控 mysql-statsd: https:/

mysql函数LOCATE、POSITION和INSTR

自古美人都是妖i 提交于 2020-01-14 23:51:11
大家在Mysql中判断某个字段是否包含某个字符串时,都会用这样的语法: SELECT ` column ` FROM ` table ` where ` condition ` like ` % keyword % ’ 事实上,可以使用 locate 和 instr 这两个函数来代替 SELECT ` column ` from ` table ` where locate ( ‘keyword’ , ` condition ` ) > 0 或是 locate 的別名 position SELECT ` column ` from ` table ` where position ( ‘keyword’ IN ` condition ` ) 或是 SELECT ` column ` from ` table ` where instr ( ` condition ` , ‘keyword’ ) > 0 locate、position 和 instr 的差別只是参数的位置不同,同时locate 多一个请始位置的参数外,两者是一样的。 速度上这三个比用 like 稍快了一點。 另附三个函数的说明: INSTR(str,substr) 返回字符串 str 中子字符串的第一个出现位置。这和LOCATE()的双参数形式相同,只是参数的顺序被颠倒。 mysql > SELECT INSTR (

mysql数据库总结

眉间皱痕 提交于 2020-01-14 18:41:18
1 、 MySQL 数据库的特点: 持久化存储 读写速度极高 保证数据的有效性 对程序支持性非常好,容易扩展。 MySQL 是一个关系型数据库,核心元素是 数据行(记录) 数据列(字段) 数据表(数据行的集合) 数据库(数据表的集合) RDBMS 主要有两种类型的数据库: 关系型数据库、非关系型数据库 2 、 SQL SQL 是结构化查询语言,是一种用来操作 RDBMS 的数据库语言,不区分大小写。 SQL 语句主要分为: DQL :数据查询语言,用于对数据进行查询。 DML :数据操作语言,对数据进行增加、修改、删除 TPL :事务处理语言,对事务进行处理 DCL :数据控制语言,进行授权与权限回收 DDL :数据定义语言,进行数据库、表的管理 CCL :指针控制语言,通过控制指针完成表的操作 3 、 MySQL MySQL 是一个关系型数据库管理系统。 数据类型 使用数据类型的原则是:够用就行,尽量使用取值范围小的,而不用大的,这样可以更多的节省存储空间。 常用数据型有: 整数: int 、 bit 小数: decimal 字符串: varchar 、 charr 日期时间: date , time , datetime 枚举类型 enum decimal 表示浮点数,如 decimal(5,2) 表示共存 5 位数,小数占 2 位 char 表示固定长度的字符串,如 char

MySQL JdbcTemplate 模糊查询

若如初见. 提交于 2020-01-14 15:23:50
使用JdbcTemplate 模糊查询SQL拼写时应该使用 CONCAT()函数来拼接% 模糊查询 错误的SQL语句写法 SELECT area_id FROM sys_area WHERE area_code LIKE ?% 正确的SQL语句写法 SELECT area_id FROM sys_area WHERE area_code LIKE CONCAT(?,'%') 在这普及一下 CONCAT()函数的用法 功能: 将多个字符串连接成一个字符串。 语法: concat(str1, str2,...) 返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null。 来源: CSDN 作者: 草莓奶昔的甜 链接: https://blog.csdn.net/mws666/article/details/103972063

MySQL存储过程和存储函数

試著忘記壹切 提交于 2020-01-14 09:00:16
关于存储过程学习自 :http://blog.sina.com.cn/s/blog_52d20fbf0100ofd5.html mysql存储过程详解 1. 存储过程简介 我们常用的操作数据库语言 SQL 语句在执行的时候需要要先编译,然后执行,而 存储过程( Stored Procedure )是一组为了完成特定功能的 SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它 。 一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有 SQL 语句和一些特殊的控制结构组成。当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做是对编程中面向对象方法的模拟。它允许控制数据的访问方式。 存储过程通常有以下优点: (1). 存储过程增强了 SQL 语言的功能和灵活性。存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。 (2). 存储过程允许标准组件是编程。存储过程被创建后,可以在程序中被多次调用,而不必重新编写该存储过程的 SQL 语句。而且数据库专业人员可以随时对存储过程进行修改,对应用程序源代码毫无影响。 (3). 存储过程能实现较快的执行速度。如果某一操作包含大量的 Transaction-SQL 代码或分别被多次执行

MySQL 存储过程

老子叫甜甜 提交于 2020-01-14 01:54:36
我们常用的操作数据库语言SQL语 句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一 组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参 数)来调用执行它。 一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一些特殊的控制结构组成。当希望在不同的应用程序或平 台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做是对编程中面向对象方法的模拟。它允许控制数据的访问方式。 存储过程通常有以下优点: (1).存储过程增强了SQL语 言的功能和灵活性。存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。 (2).存储过程允许标准组件是编程。存储过程被创建后,可以在程序中被多次调用,而不必重新编写该存储过程 的SQL语句。而且数据库专业人员可以随时对存储过程进行修改,对应用程序源代码毫无影响。 (3).存储过程能实现较快的执行速度。如果某一操作包含大量的Transaction-SQL代码或分别被多次执行,那么存储过程要比批处理的执行速度快很多。因为存储过程是预编译的。在首次 运行一个存储过程时查询,优化器对其进行分析优化,并且给出最终被存储在系统表中的执行计划。而批处理的Transaction

mySql常用sql语句

十年热恋 提交于 2020-01-13 16:28:32
/* utf-8编码可能2个字节、3个字节、4个字节的字符,但是MySQL的utf8编码只支持3字节的数据,而移动端的表情数据是4个字节的字符。如果直接往采用utf-8编码的数据库中插入表情数据则会报错 可以对4字节的字符进行编码存储( 存之前先用base64格式化例 base64_encode($teststr) ),然后取出来的时候,再进行解码( base64_decode ($teststr) )。但是这样做会使得任何使用该字符的地方都要进行编码与解码。 utf8mb4编码是utf8编码的超集,兼容utf8,并且能存储4字节的表情字符。 采用utf8mb4编码的好处是:存储与获取数据的时候,不用再考虑表情字符的编码与解码问题。 utf8mb4的最低mysql版本支持版本为5.5.3+,若不是,请升级到较新版本。 */ -- 更改数据库编码,测试数据库为 testdb ALTER DATABASE `testdb` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; -- 更改表编码 ALTER TABLE `table1` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; -- 更改表中字段 oldfieldname,将原字段名 oldfieldname

mysql 数据类型和sql语句

 ̄綄美尐妖づ 提交于 2020-01-13 09:37:47
sql:被称为结构化查询语言 其内部被分为: DML语句:数据操作语言,用于增(insert),删(delete),查(select),改(update) DDL语句:数据定义语言,用于实现数据存储,create,drop,alter DCL语句:数据控制语言,一般用于权限控制。grant,revoke,commit, rollback mysql发行版分为商业版(enterprise 收费),社区版(community 是免费版本) 官网: www.mysql.com mysql 是c/s 架构的,有客户端还有服务器端 mysql提供的软件有三种软件包格式:1.软件包管理器独有的格式,如rpm包,2.通用2进制软件,无需安装直接解压配置即可使用。 3.源程序 官网提供了不同操作系统需要的软件包。Linux的可以下载 Linux Generic 这是通用二进制格式的,我们需要下载使用glibc编译的包。通用2进制 Linux - Generic (glibc 2.5) (x86, 32-bit), Compressed TAR Archive 红帽软件包管理器本身就提供了mysql 使用命令 yum list all |grep mysql 查看 其中mysql.i686 表示mysql客户端 mysql-server.i686 表示mysql服务器端数据库 mysql-bench