mysql
wang_shuyu
不积跬步,无以至千里!
展开
-
mysql函数GROUP_CONCAT
GROUP_CONCAT()是MySQL数据库提供的一个函数,通常跟GROUP BY一起用,具体可参考MySQL官方文挡:http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat。语法:GROUP_CONCAT([DISTINCT] expr [,expr ...] [ORDER翻译 2016-11-07 14:48:51 · 281 阅读 · 0 评论 -
MySQL高效编程
第1部分 MySQL基础篇1、对于企业而言,选择MySQL数据库的两大原因:1)MySQL是开源关系型数据库产品,使用普及率高;2)性能出色,运行速度块。MySQL有免费和收费两种类型的产品。2、mysql登录:cd 打开mysql的bin目录,执行“mysql -u root -p”回车,然后要求输入密码Enter password,正确输入密码后,回车,即可登录成功!翻译 2016-11-25 13:32:48 · 1071 阅读 · 0 评论 -
优化 SQL 查询
1、 首先要搞明白什么叫执行计划?执行计划是数据库根据SQL语句和相关表的统计信息作出的一个查询方案,这个方案是由查询优化器自动分析产生的,比如一条SQL语句如果用来从一个 10万条记录的表中查1条记录,那查询优化器会选择“索引查找”方式,如果该表进行了归档,当前只剩下5000条记录了,那查询优化器就会改变方案,采用 “全表扫描”方式。可见,执行计划并不是固原创 2016-12-15 21:09:27 · 8357 阅读 · 0 评论 -
MySQL 大表优化方案
当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量: 字段 ·原创 2016-12-25 14:27:23 · 315 阅读 · 0 评论 -
mysql的查询、子查询及连接查询
一、mysql查询的五种子句 where(条件查询)、having(筛选)、group by(分组)、order by(排序)、limit(限制结果数) 1、where常用运算符: 比较运算符 > , ),>= , in(v1,翻译 2016-12-28 20:04:47 · 297 阅读 · 0 评论 -
MySQL查询语句大全
1:使用SHOW语句找出在服务器上当前存在什么数据库:mysql> SHOW DATABASES;2:2、创建一个数据库MYSQLDATAmysql> CREATE DATABASE MYSQLDATA;3:选择你所创建的数据库mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)4:查看现在的翻译 2016-12-28 20:15:49 · 681 阅读 · 0 评论 -
MySQL函数大全及用法示例
1、字符串函数ascii(str) 返回字符串str的第一个字符的ascii值(str是空串时返回0) mysql> select ascii('2'); -> 50 mysql> select ascii(2); -> 50 mysql> select ascii('dete'); -> 100 ord(str)翻译 2016-12-28 20:20:26 · 302 阅读 · 0 评论 -
MySQL之数据库模型设计-1 第一范式、第二范式、第三范式理解
下面来介绍数据库模型设计之第一范式、第二范式、第三范式数据库范式一般满足第三范式足矣(1)第一范式(无重复的列) 定义:数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。如果实体中的某个属性有多个值时,必须拆分为不同的属性 通俗理解:一个字段只存储一项信息 For Example:班级:高三年1班,应改为2个字段,一个翻译 2017-01-08 18:23:39 · 456 阅读 · 0 评论 -
MySQL优化sql语句查询常用的30种方法
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中使用!=或3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中翻译 2017-04-25 09:55:55 · 7973 阅读 · 0 评论 -
MySQL性能优化要点解析
以下就是跟大家分享的19个MySQL性能优化主要要点,一起学习学习。1、为查询优化你的查询大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。这里最主要的问题是,对于程序员来说,这个事情是很容翻译 2017-10-31 11:08:46 · 8091 阅读 · 0 评论 -
Mysql 字段拼接
Mysql的查询结果行字段拼接,可以用下面两个函数实现:1. 直接相加[sql] view plain copymysql> select(a,b,)as c from test ; +---------------------+ | concat('1','2') | +---------------------+ | 12 | +-----------原创 2017-11-09 13:59:13 · 10507 阅读 · 0 评论 -
Java使用c3p0建立MySQL数据库连接池
序言 数据库连接的设计上有三种思路,第一是对于每一个用户都创建一个连接,等到该用户访问完就将数据库连接释放。第二种是设置一个静态连接变量,所有用户都使用该连接。第三种就是使用数据库连接池。在系统初始化的时候,将数据库连接作为对象存储在内存中,当用户需要访问数据库时,并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中原创 2016-12-11 20:47:43 · 12967 阅读 · 0 评论 -
Java建立数据库连接池
对于一个简单的数据库引用,用于对数据库的访问不是很频繁。这时就可以简单的在需要访问数据库是,就创建一个连接,用完后就关闭它,这样做也不会带来什么明显的性能上的开销。但是对于一个复杂的数据库引用,情况就完全不同了。频繁的建立、关闭连接,会极大的减低系统的性能,因为对于连接的使用成了系统性能的瓶颈。 对于共享资源,有一个很著名的设计模式:资源池。该模式正是为了解决资源频繁分配、释放所造成的问原创 2016-12-11 18:31:25 · 4013 阅读 · 1 评论 -
单机数据库优化
数据库优化有很多可以讲,按照支撑的数据量来分可以分为两个阶段:单机数据库和分库分表,前者一般可以支撑500W或者10G以内的数据,超过这个值则需要考虑分库分表。另外,一般大企业面试往往会从单机数据库问起,一步一步问到分库分表,中间会穿插很多数据库优化的问题。本文试图描述单机数据库优化的一些实践,数据库基于mysql,如有不合理的地方,欢迎指正。1、表结构优化 在开始做一个应用的时候,数据库原创 2016-12-11 14:14:11 · 707 阅读 · 0 评论 -
sql之left join、right join、inner join的区别
eft join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只返回两个表中联结字段相等的行举例如下: --------------------------------------------表A记录如下:aID aNum1转载 2016-11-08 14:21:41 · 206 阅读 · 0 评论 -
MySQL substring:字符串截取
MySQL 字符串截取函数:left(), right(), substring(), substring_index()。还有 mid(), substr()。其中,mid(), substr() 等价于 substring() 函数,substring() 的功能非常强大和灵活。1. 字符串截取:left(str, length)mysql> select left('exam翻译 2016-11-08 14:57:52 · 417 阅读 · 0 评论 -
jdbc动态建表、插入记录、查询等功能(mysql)
最近遇到一个项目,需要使用jdbc判断数据库中table是否存在,并实现动态的创建,添加记录和相关的查询,自己经过学习,实现了这个功能,并可以导入为jar包,动态的使用。一:实现数据库的连接(通过配置文件实现)package com.delta.smarthome.utils;import java.io.FileInputStream;import java.io.Inp原创 2016-11-10 13:06:32 · 3799 阅读 · 3 评论 -
MySQL索引背后的数据结构及算法原理
本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。文章主要内容分为三个部分。第翻译 2016-11-11 13:00:13 · 1529 阅读 · 0 评论 -
MySQL存储过程
储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。MySQL 存储过程是从 MySQL 5.0 开始增加的新功能。大大提高数据库的处理速度,同时也可以提高数据库编程的灵活性。过程:封装起来的若干条语句,调用时这些封装体执行。把此过程存储到数据库中即存储过程.翻译 2016-11-11 13:02:34 · 319 阅读 · 0 评论 -
MySQL陷阱
Mysql安装简单,速度较快,功能丰富。另外它还是开源运动的标杆,它的伟大成就向我们展示了一个成功的公司是可以建立在开源代码之上的。然而用过mysql的人都曾对着显示器挥舞过拳头。但你不可能发明一种每秒能保存成千上万行互联网数据,并且一点错误都没有的技术吧。为了在这个夏天躁起来,我们列举了8个抱怨开源关系型数据库的理由。下面列举的理由中不仅限于 MySQL,原创 2016-11-12 10:01:43 · 184 阅读 · 0 评论 -
MySQL的三大引擎:InnoDB、MyISAM和Memory
MySQL的三大引擎:InnoDB、MyISAM和MemoryInnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定。基本 的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快, 但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。翻译 2016-11-12 18:07:33 · 431 阅读 · 0 评论 -
MySql存储(逻辑判断/条件控制/循环控制)
同编写程序类似,存储过程中也有对应的条件判断,功能类似于if、switch。在MySql里面对应的是IF和CASE1、IF判断IF判断的格式是这样的:[sql] view plaincopyIF expression THEN commands [ELSEIF expression THEN commands]翻译 2016-11-13 13:27:09 · 5665 阅读 · 0 评论 -
mysql函数大全
对于针对字符串位置的操作,第一个位置被标记为1。 ASCII(str) 返回字符串str的最左面字符的ASCII代码值。如果str是空字符串,返回0。如果str是NULL,返回NULL。 mysql> select ASCII('2'); -> 50mysql> select ASCII(2); -> 50mysql> select ASCII('dx');翻译 2016-11-02 15:04:43 · 978 阅读 · 0 评论 -
数据库相关中间件
这里主要介绍互联网行业内有关数据库的相关中间件。数据库相关平台主要解决以下三个方面的问题:为海量前台数据提供高性能、大容量、高可用性的访问为数据变更的消费提供准实时的保障高效的异地数据同步应用层通过分表分库中间件访问数据库,包括读操作(Select)和写操作(update, insert和delete等,DDL, DCL)原创 2016-11-17 20:52:56 · 4999 阅读 · 0 评论 -
Mysql查询当前数据库有哪些事务、都锁定哪些资源
SELECT trx_id AS `事务ID`, trx_state AS `事务状态`, trx_requested_lock_id AS `事务需要等待的资源`, trx_wait_started AS `事务开始等待时间`, trx_tables_in_use AS `事务使用表`, trx_tables_locked AS `...原创 2018-11-01 14:14:47 · 11860 阅读 · 0 评论