mysql
LzwGlory
坚持自己的路
展开
-
MySQL 字段类型参考
字段类型:TINYINT[(M)] [UNSIGNED] [ZEROFILL] 一个很小的整数。有符号的范围是-128到127,无符号的范围是0到255。SMALLINT[(M)] [UNSIGNED] [ZEROFILL] 一个小整数。有符号的范围是-32768到32767,无符号的范围是0到65535。MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]转载 2013-12-09 20:51:20 · 916 阅读 · 0 评论 -
MySQL 中的树形数据处理示例
创建测试表[xhtml] view plaincopyCREATE TABLE `areatest` ( `id` int(11) NOT NULL AUTO_INCREMENT, `parent_id` int(11) NOT NULL DEFAULT '0' COMMENT '父ID', `order_转载 2013-12-12 13:41:24 · 1622 阅读 · 0 评论 -
hibernate调用mysql存储过程
在mysql中创建两个存储过程,如下:1、根据id查找某条数据:1 CREATE PROCEDURE `findEmpById`(IN id INTEGER(11))2 begin3 select * from emp where empId=id;4 end;2、根据id查找某个字段,并返回1 CREATE PROCEDURE `getNa转载 2013-12-12 14:05:09 · 1243 阅读 · 0 评论 -
mysql char(4)指的是四个字符,还是4个字节
4个字符 字符串的长度: 长度的单位为字符。一个多字节字符算作一个单字符。 MySQL字符串函数: 对于一个包含五个二字节字符集, LENGTH()返回值为 10, 而CHAR_LENGTH()的返回值为5。 也就是说: 对于一个汉字和一个字母都是一个字符。遵循CHAR和VARCHAR定义规范。也与数据库本身设置的字符集有关。 mysql的char和va原创 2013-12-17 23:19:55 · 6343 阅读 · 0 评论 -
@TableGenerator
@TableGenerator 是在数据库生成一张表来管理主键生成策略import javax.persistence.TableGenerator;@TableGenerator( name = "Teacher_GEN", // TableGenerator's name table = "GENERATOR_TABLE", // 表名 pkCol转载 2013-12-18 09:18:19 · 3305 阅读 · 0 评论 -
mysql 视图
从这个图,我们可以很容易的看出视图的优点:1. 为用户集中数据,简化用户的查询和处理;有时用户需要的数据分散在多个表中,定义视图可以将它们集中在一起,方便用户查询。 2.屏蔽数据库的复杂性。用户不需要了解数据库的表结构,并且数据库表的变更也不影响用户对数据库的使用。3.简化用户权限管理。4.便于数据共享。 创建视图:CREA转载 2014-04-15 15:55:18 · 732 阅读 · 0 评论 -
MySql与Java的时间类型
MySql的时间类型有 Java中与之对应的时间类型date java.sql.DateDatetime java.sql.TimestampTimestamp原创 2013-12-09 20:26:42 · 954 阅读 · 0 评论 -
解决win7下安装Mysql卡在Start service的问题
解决win7下安装Mysql卡在Start service的问题 由于之前在电脑上安装过MySQL,所以旧的服务器依然存在电脑上,再重新安装时startservice会报错。mysql下载地址http://www.mysql.com/downloads/mysql/1、打开cmd,键入sc delete mysql,然后会提示[SC] DeleteSer转载 2014-05-15 14:00:18 · 5767 阅读 · 0 评论 -
MySQL重装start service失败的解决
在windows xp 安装mysql时出现关于mysql-5.1.45-win32.msi的问题:出现could not start the service mysql error:0 提示错误。经过研究和尝试,终于重装成功!步骤如下: 1、开始-MySQL-MySQL Server 5.1-MySQL Server Instance Config Wizard-Next-Remove I转载 2014-05-14 14:00:47 · 1355 阅读 · 0 评论 -
txt文件导入mysql
MySQL写入数据通常用insert语句,如[c-sharp] view plaincopyinsert into person values(张三,20),(李四,21),(王五,70)…; 但有时为了更快速地插入大批量数据或交换数据,需要从文本中导入数据或导出数据到文本。 一、 建立测试表,准备数据 首先建转载 2014-07-07 22:00:31 · 1072 阅读 · 0 评论 -
mysql 出现Cannot delete or update a parent row:
当在Mysql下删除有一个建有外键的表的数据时可能会报此异常,所以可以启动MySql命令行模式,运行如下的sql语句来关闭外键检测:SET FOREIGN_KEY_CHECKS = 0;执行你要的操作后把再把外键检测恢复SET FOREIGN_KEY_CHECKS = 1;其他相关的有:关闭唯一性校验set unique_checks=0;s原创 2014-06-17 09:58:27 · 5349 阅读 · 0 评论 -
mysql 取出最后一条
如果是oracle数据库 使用SQL语句:select * from 表名 where rownum 如果是mysql数据库 使用SQL语句:select * from 表名 order by 字段名 desc limit 1;原创 2014-06-17 14:35:18 · 1562 阅读 · 0 评论 -
mysql省份城市数据导入
create table `province_info` ( `provincecode` int (11), `namecn` varchar (150), `countrycode` int (11)); insert into `province_info` (`provincecode`, `namecn`, `countrycode`) values('1','北京市','15原创 2014-12-16 20:24:15 · 3697 阅读 · 1 评论 -
全国省市级联数据sql语句 mysql版
--省级 provincial create table provincial ( provincialID int, provincialName varchar(50), primary key (provincialID) )engine=INNODB default charset=gbk; insert into provinci转载 2014-12-15 20:37:52 · 2007 阅读 · 0 评论 -
hibernate3.0执行存储过程
hibernate3.0以上提供了两种方式执行存储过程。第一种 :用JDBC 方式Session session =HibernateSessionFactory.getSession(); //获取hibernate会话Connection conn = session.connection(); // 用session对象获取连接ResultSet rs =nu转载 2015-02-10 09:20:05 · 771 阅读 · 0 评论 -
MySQL性能优化的21个最佳实践 和 mysql使用索引
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过 多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。转载 2015-02-10 10:16:46 · 870 阅读 · 1 评论 -
Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLIC
在mysql5中遇到的问题:Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '='碰到个字符集问题。 ----------------------------------当前,utf8_unicode_ci校对规则仅部分转载 2015-02-09 17:20:46 · 1710 阅读 · 0 评论 -
myql存储过程生成订单号
DELIMITER $$USE `test`$$DROP PROCEDURE IF EXISTS `GENERATE_ORDERNO`$$CREATE DEFINER=`root`@`%` PROCEDURE `GENERATE_ORDERNO`(IN orderNamePre CHAR(2), IN num INT, OUT newOrderNo VARCHAR(25))BEGIN原创 2015-02-09 16:24:43 · 1199 阅读 · 0 评论 -
mysql存储过程之事物管理
mysql存储过程之事物管理 ACID:Atomic、Consistent、Isolated、Durable 存储程序提供了一个绝佳的机制来定义、封装和管理事务。 1,MySQL的事务支持 MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关: Java代码 MyISAM:不支持事务,用于只读程序提高性能转载 2015-02-11 20:20:39 · 792 阅读 · 0 评论 -
MySQL函数大全 及用法示例
字符串函数ASCII(str) 返回字符串str的第一个字符的ASCII值(str是空串时返回0) mysql> select ASCII('2'); -> 50 mysql> select ASCII(2); -> 50 mysql> select ASCII('dete'); -> 100 ORD(str) 如果字符串str句首是单字转载 2015-02-12 11:11:29 · 621 阅读 · 0 评论 -
Mysql 锁表 for update (引擎/事务)
因为之前用过oracle,知道利用select * for update 可以锁表。所以很自然就想到在mysql中能不能适应for update来锁表呢。学习参考如下 由于InnoDB预设是Row-Level Lock,所以只有「明确」的指定主键,MySQL才会执行Row lock (只锁住被选取的资料例) ,否则MySQL将会执行Table Lock (将整个资料表单给锁住)。转载 2015-02-11 20:41:28 · 868 阅读 · 0 评论 -
MySQL中SELECT ... INTO的用法
MySQL中SELECT ... INTO的用法官方文档表述:1.SELECT ... INTO var_list selects column values and stores them into variables.2.SELECT ... INTO OUTFILE writes the selected rows to a file. Column and line termi转载 2015-02-12 11:10:08 · 2427 阅读 · 0 评论 -
mysql 生成流水号 存储过程 订单编号
用存储过程生成流水号是很常用的,这里以生成订单编号的流水号作为示例。(新的一天的流水号从1开始,如:今天的订单编号是CD2013010900014,下一个订单编号将是CD2013010900015;明天的订单编号将从CD2013011000001开始)生成规则:2位前缀+年月日+5位流水号 或者 2位前缀+年月日时分+5位流水号 或者 2位前缀+年月日时分秒+5位流水号。测试订单表转载 2015-02-09 15:58:10 · 4359 阅读 · 0 评论 -
mysql5.5 uuid做主键与int做主键的性能实测
数据库:mysql5.5表类型:InnoDB数据量:100W条 第一种情况: 主键采用uuid 32位。 运行查询语句1:SELECT COUNT(id) FROM test_varchar;运行查询语句2:SELECT * FROM test_varchar WHERE vname='00004629-b052-11e1-9转载 2015-03-16 17:07:01 · 1219 阅读 · 0 评论 -
mysql索引类型normal,unique,full text
问题1: mysql索引类型normal,unique,full text的区别是什么?normal:表示普通索引unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为uniquefull textl: 表示 全文搜索的索引。 FULLTEXT 用于搜索很长一篇文章的时候,效果最好。用在比较短的文本,如果就一两行字的,普通的转载 2015-03-23 18:30:05 · 626 阅读 · 0 评论 -
MYSQL的索引类型:PRIMARY, INDEX,UNIQUE,FULLTEXT,SPAIAL 区别与使用场合
PRIMARY, INDEX, UNIQUE 这3种是一类PRIMARY 主键。 就是 唯一 且 不能为空。INDEX 索引,普通的UNIQUE 唯一索引。 不允许有重复。FULLTEXT 是全文索引,用于在一篇文章中,检索文本信息的。举个例子来说,比如你在为某商场做一个会员卡的系统。这个系统有一个会员表有下列字段:会员编号 INT会员姓名 VARCHAR(转载 2015-03-23 18:31:10 · 855 阅读 · 0 评论 -
关于MYSQL索引优化和in or替换为union all
mysql会对sql语句做优化, in 后面的条件不超过一定数量仍然会使用索引。mysql 会根据索引长度和in后面条件数量判断是否使用索引。另外,如果是in后面是子查询,则不会使用索引。一个文章库,里面有两个表:category和article。category里面有10条分类数据。article里面有 20万条。article里面有一个"articl转载 2015-03-23 18:33:58 · 1066 阅读 · 0 评论 -
mysql 实战 or、in与union all 的查询效率
OR、in和union all 查询效率到底哪个快。网上很多的声音都是说union all 快于 or、in,因为or、in会导致全表扫描,他们给出了很多的实例。但真的union all真的快于or、in?本文就是采用实际的实例来探讨到底是它们之间的效率。1:创建表,插入数据、数据量为1千万【要不效果不明显】。drop table if EXISTS BT;转载 2015-03-23 18:31:53 · 880 阅读 · 0 评论 -
MySQL存储引擎比较
MySQL常用的存储引擎为MyISAM、InnoDB、MEMORY、MERGE,其中InnoDB提供事务安全表,其他存储引擎都是非事务安全表。 MyISAM是MySQL的默认存储引擎。MyISAM不支持事务、也不支持外键,但其访问速度快,对事务完整性没有要求。 InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是比起MyISAM存储引擎,InnoDB写的处理效率差转载 2015-03-24 11:41:39 · 518 阅读 · 0 评论 -
【整理】MySQL引擎
MySQL数 据库引擎取决于MySQL在安装的时候是如何被编译的。要添加一个新的引擎,就必须重新编译MYSQL。在缺省情况下,MYSQL支持三个引擎:ISAM、MYISAM和HEAP。另外两种类型INNODB和BERKLEY(BDB),也常常可以使用。如果技术高超,还可以使用MySQL++ API自己做一个引擎。下面介绍几种数据库引擎: ISAM:ISAM是一个定义明确且历经时间考验转载 2015-03-24 11:40:29 · 537 阅读 · 0 评论 -
数据库事务
数据库事务数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID转载 2015-03-24 11:45:57 · 645 阅读 · 0 评论 -
mysql 中sql 语句查询今天、昨天、近7天、近30天、一个月内、上一月 数据
今天select * from 表名 where to_days(时间字段名) = to_days(now());昨天SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) 7天SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY)转载 2015-05-06 21:08:05 · 1152 阅读 · 0 评论 -
mysql查询今天,昨天,近7天,近30天,本月,上一月数据方法
[1].[代码] [SQL]代码 跳至 [1]?12345678910111213141516171819202122232425262728转载 2015-05-06 10:55:23 · 889 阅读 · 0 评论 -
自动备份 MySQL 数据库的工具 - MySQL Backup Tool
MySQL Backup Tool备份 MySQL 数据库是数据库管理的基本任务,虽然可以直接通过 mysqldump 进行备份,但是,要实现自动备份还是需要做许多工作。MySQL Backup Tool 为我们提供了自动化备份 MySQL 数据库的支持。特性:mySQL 备份(自动, 手动和定时)结构 /架构和存储过程 / 函数压缩为 zip 文件 (包含口令保护)黑转载 2015-05-28 13:49:04 · 1613 阅读 · 0 评论 -
Mysql 自动备份与恢复
自动备份MySql 5.0有三个方案: 备份方案一: 通过 mysqldump命令,直接生成一个完整的 .sql 文件 Step 1: 创建一个批处理(说明:root 是mysql默认用户名, aaaaaa 是mysql密码, bugtracker 是数据库名)------------mySql_backup.bat-----------------转载 2015-05-29 18:36:45 · 622 阅读 · 0 评论 -
group_concat()函数总结
group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果。比较抽象,难以理解。通俗点理解,其实是这样的:group_concat()会计算哪些行属于同一组,将属于同一组的列显示出来。要返回哪些列,由函数参数(就是字段名)决定。分组必须有个标准,就是根据group by指定的列进行分组。group_concat函数应该是在内部执行转载 2015-06-02 16:23:29 · 1031 阅读 · 0 评论 -
mysql数据库中group by和sum一起使用语句的简单介绍 .
还记得我们以前讲过的用SUM这个mysql函数来查出数据表中所有的人的总数和吧?当然那个时候是一个整体的和,如果现在我们要查询的是男生和女生的各自的总年龄怎么查呢?查询的sql语句又该怎么写呢?其实这是我们只要把人按性别来分组,然后还是用SUM函数来求和就可以了,关键是怎么分组呢,这就要用到mysql的group by语句了,它可以实现分组,下面看看sql语句吧: SELECT SUM(转载 2015-06-02 17:08:41 · 2377 阅读 · 0 评论 -
MySQL的btree索引和hash索引的区别
Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。可能很多人又有疑问了,既然 Hash 索引的效率要比 B-Tree 高很多,为什么大家不都用 Hash 索引而还要使用 B-Tree 索引呢?任何事物都是有两面性的,Ha转载 2015-07-29 14:26:43 · 587 阅读 · 0 评论 -
mysql 性能优化方案
网上有不少mysql 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与复杂,同样的设置,在不同的环境下 ,由于内存,访问量,读写频率,数据差异等等情况,可能会出现不同的结果,因此简单地根据某个给出方案来配置mysql是行不通的,最好能使用 status信息对mysql进行具体的优化。mysql> show global status; 可以列转载 2015-07-29 15:14:16 · 522 阅读 · 0 评论 -
表分区MySQL版本:5.5.11比5.1查询速度明显提高(4倍左右)
实验1 1、建表:create table `t_part_test`(`id` int NOT NULL default 0,`detail` char(32) NOT NULL default '',primary key (id))default charset=gbkPARTITION BY HASH(id) PARTITIONS 10;转载 2015-07-23 18:30:04 · 771 阅读 · 0 评论