Mysql
小博
人生的道路上,两旁也许有很多迷人的风光,只会偶尔停下来欣赏一番,他们只是点缀,不是目的,为了远方的目标,唯有背上行囊,继续上路。
展开
-
MySQL字符串函数:字符串截取
MySQL 字符串截取函数:left(), right(), substring(), substring_index()。还有 mid(), substr()。其中,mid(), substr() 等价于 substring() 函数,substring() 的功能非常强大和灵活。1. 字符串截取:left(str, length) mysql> select left('sqlst转载 2012-02-21 18:17:44 · 292 阅读 · 0 评论 -
mysql 批量update
我们都知道在MySQL中批量insert的速度会比一条条insert快很多。类似的,update也应该是如此,但因为update的值往往因为条件的不同而不同,只能分开做。但是在下面的情况下,批量的update是可以做到的。1. 查询的条件中有主键或唯一键2. 查询的条件是等于,而不是范围。这实际上包含了1的情况在1的情况下,可以使用replace 或者 insert int转载 2012-03-09 11:13:57 · 4785 阅读 · 0 评论 -
MySQL查询优化技术讲座
索引是提高查询速度的最重要的工具。当然还有其它的一些技术可供使用,但是一般来说引起最大性能差异的都是索引的正确使用。在MySQL邮件列表中,人们经常询问那些让查询运行得更快的方法。在大多数情况下,我们应该怀疑数据表上有没有索引,并且通常在添加索引之后立即解决了问题。当然,并不总是这样简单就可以解决问题的,因为优化技术本来就并非总是简单的。然而,如果没有使用索引,在很多情况下,你试图使用其它的方法来转载 2012-03-20 13:39:12 · 1050 阅读 · 0 评论 -
MySQL数据库浅谈MyISAM存储引擎
介 绍 mysql中用的最多存储引擎就是innodb和myisam.做为Mysql的默认存储引擎,myisam值得我们学习一下,以下是我对《高性能MYSQL》书中提到的myisam的理解,请大家多多指教。 特 点 > 不支持事务 证明如下: 》 表记录:t2表的engine是myisam. 》 操作 注意:如果你在数据库进行事务操作,但是事务无转载 2012-04-06 14:33:40 · 446 阅读 · 0 评论 -
MySQL decimal 类型
一般赋予浮点列的值被四舍五入到这个列所指定的十进制数。如果在一个FLOAT(8, 1)的列中存储1. 2 3 4 5 6,则结果为1. 2。如果将相同的值存入FLOAT(8, 4) 的列中,则结果为1. 2 3 4 6。这表示应该定义具有足够位数的浮点列以便得到尽可能精确的值。如果想精确到千分之一,那就不要定义使该类型仅有两位小数。 浮点值的这种处理在MySQL3.23 中有例外,FLOAT转载 2012-03-21 14:10:15 · 640 阅读 · 0 评论 -
SQL分组查询
一.分组查询1.使用group by进行分组查询在使用group by关键字时,在select列表中可以指定的项目是有限制的,select语句中仅许以下几项:〉被分组的列〉为每个分组返回一个值得表达式,例如用一个列名作为参数的聚合函数group by的使用在这只写几个例子吧:例:select courseID,avg(score) as 课程平均成绩from sco转载 2012-04-12 11:35:15 · 468 阅读 · 0 评论 -
MySQL的LAST_INSERT_ID用法
LAST_INSERT_ID() 自动返回最后一个INSERT或 UPDATE 查询中 AUTO_INCREMENT列设置的第一个表发生的值。MySQL的LAST_INSERT_ID的注意事项:第一、查询和插入所使用的Connection对象必须是同一个才可以,否则返回值是不可预料的。mysql> SELECT LAST_INSERT_ID(); ->转载 2012-08-23 14:25:59 · 602 阅读 · 0 评论 -
mysql数据库修改数据库编码,字段编码与表编码
1.修改数据库的编码 将数据库(test)的编码方式修改为utf8,如: ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; 2.修改表的编码 将表(test)的编码方式修改为utf8,如: ALTER TABLE `test` DEFAULT CHARACTER SET ut转载 2012-10-30 10:07:29 · 472 阅读 · 0 评论 -
Mysql用户密码设置修改和权限分配
我的mysql安装在c:\mysql一、更改密码 第一种方式: 1、更改之前root没有密码的情况 c:\mysql\bin>mysqladmin -u root password "your password" 2、更改之前root有密码的情况,假如为123456 c:\mysql\bin>mysqladmin -u root -p123456 pass转载 2013-10-28 20:21:20 · 656 阅读 · 0 评论 -
解析MySQL中mysqldump工具的基本用法
本篇文章是对MySQL中mysqldump工具的基本用法进行了详细的分析介绍,需要的朋友参考下。 导出要用到MySQL的mysqldump工具,基本用法是: shell> mysqldump [OPTIONS] database [tables] 如果你不给定任何表,整个数据库将被导出。 通过执行mysqldump -转载 2014-03-26 19:09:24 · 707 阅读 · 0 评论 -
MySQL海量数据优化
经常见到有人对MySQL处理海量数据(几百万,几千万的数据就不要往海量上面扯了)的能力持怀疑的态度,根据我的经验,MySQL处理单表亿级数据没有任何问题。数据库最重要的是安全稳定,速度其次。在做任何优化之前,你都必须做好最坏的打算,一定要有备份和应急方案!要有一个稳定安全的数据库,你必须:至少要有一个热备UPS做合适的RAID。RAID0+1,RAID5转载 2012-03-09 11:05:22 · 475 阅读 · 0 评论 -
MySQL:InnoDB和MyISAM的差别
InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定。下面是已知的两者之间的差别,仅供参考。innodbInnoDB 给 MySQL 提供了具有事务(commit)、回滚(rollback)和崩溃修复能力(crash recovery capabilities)的事务安全(transaction-safe (ACID compliant))型表。Inn转载 2012-03-09 11:42:11 · 367 阅读 · 0 评论 -
mysql 数据库海量数据查询与优化
许多程序员认为查询优化是DBMS(数据库教程管理系统)的任务,与程序员所编写的SQL语句关系不大,这是错误的。一个好的查询计划往往可以使程序性能提高数十倍。查询计划是用户所提交的SQL语句的集合,查询规划是经过优化处理之后所产生的语句集合。DBMS处理查询计划的过程是这样的:在做完查询语句的词法、语法检查之后,将语句提交给DBMS的查询优化器,优化器做完代数优化和存取路径的优化之后,由预编译模块对转载 2012-03-09 11:49:14 · 722 阅读 · 0 评论 -
把查询得到的数据插入到新的临时表中
declare @ta table(cid0 int,fid0 int)insert into @ta(cid0,fid0)(select fid,COUNT(fid) as co from tt where fid>0 group by fid)group by的应用。。insert into 表1(字段a,字段b,字段c) (select 字段aa,字段b转载 2012-02-22 17:27:13 · 2462 阅读 · 0 评论 -
MySql中SUBSTRING_INDEX函数
SUBSTRING_INDEX(str,delim,count) 返回字符串 str 中在第 count 个出现的分隔符 delim 之前的子串。如果 count 是一个正数,返回从最后的(从左边开始计数)分隔符到左边所有字符。如果 count 是负数,返回从最后的(从右边开始计数)分隔符到右边所有字符。 mysql>SELECT SUBSTRING_INDEX('www.baidu.com',转载 2012-02-16 17:10:58 · 1701 阅读 · 0 评论 -
MySQL事务隔离级别详解
作者:xm_kingURL:http://xm-king.javaeye.com/blog/770721SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。Read Uncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务转载 2012-02-27 11:00:36 · 383 阅读 · 0 评论 -
mysql TRUNCATE命令和DELETE的区别
相同点:两者都可以清空记录不同点:truncate table 表名,delete from 表名 [where ...] 前者清空表后,可以使ID从1开始自增,后者ID在原来的基础上自增原创 2012-02-29 09:41:52 · 462 阅读 · 0 评论 -
mysql插入date类型的值 .
mysql插入date型值的两种方法 1)从页面接收时用String,在DAO中直接用PreparedStatement.setString(); 2)同一,接收时用String,然后在格式化: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); java.util.Date card_indate = null;转载 2012-02-28 20:58:01 · 2941 阅读 · 0 评论 -
MySQL查询及删除重复记录的方法
查询及删除重复记录的方法(一)1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)2、删除表中多余的重复记录,重转载 2012-03-09 11:14:42 · 386 阅读 · 0 评论 -
轻松掌握MySQL数据库锁机制的相关原理
MySQL 5.1支持对MyISAM和MEMORY表进行表级锁定,对BDB表进行页级锁定,对InnoDB 表进行行级锁定。在许多情况下,可以根据培训猜测应用程序使用哪类锁定类型最好,但一般很难说出某个给出的锁类型就比另一个好。一切取决于应用程序,应用程序的不同部分可能需要不同的锁类型。为了确定是否想要使用行级锁定的存储引擎,应看看应用程序做什么并且混合使用什么样的选择和更新语句。例如,大多数Web转载 2012-03-09 11:15:41 · 404 阅读 · 0 评论 -
mysql 的最大连接
系统不能连接数据库,关键要看两个数据: 1、数据库系统允许的最大可连接数max_connections。这个参数是可以设置的。如果不设置,默认是100。最大是16384。 2、数据库当前的连接线程数threads_connected。这是动态变化的。 查看max_connections、max_connections的办法见后。 如果 threads_connected ==转载 2012-03-09 11:17:24 · 529 阅读 · 0 评论 -
一个MYSQL多值查询的存储过程
DELIMITER $$DROP PROCEDURE IF EXISTS `ipy`.`sp_pers_srch`$$CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_pers_srch`(IN comp_id int(15),IN var_emplid varchar(15), IN var_first_name varchar(转载 2012-03-09 11:18:15 · 2061 阅读 · 0 评论 -
使用mysql 统计函数 结果为null时返回值改为0
SELECT COALESCE(SUM(total),0) FROM test_table原创 2015-11-18 10:09:52 · 22322 阅读 · 0 评论