Mysql
文章平均质量分 62
lqc851011
这个作者很懒,什么都没留下…
展开
-
MySQL中InnoDB和MyISAM的差别
InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定。下面是已知的两者之间的差别,仅供参考。 innodb InnoDB 给 MySQL 提供了具有事务(commit)、回滚(rollback)和崩溃修复能力(crash recovery capabilities)的事务安全(transaction-safe (ACID compliant))转载 2010-02-06 15:34:00 · 352 阅读 · 0 评论 -
mysql中length函数和char_length的区别
length: 是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符 char_length:不管汉字还是数字或者是字母都算是一个字符转载 2010-05-18 15:20:00 · 5733 阅读 · 1 评论 -
mysql中触发器的应用
这几天学习了触发器的用法,觉得触发器很好用啊。触发器的基本语法:CREATE TRIGGER {BEFORE | AFTER}{ INSERT | UPDATE | DELETE }ON FOR EACH ROW规则:1.触发器必须有名字,最多64个字符,可能后面会附有分隔符.它和MySQL中其他对象的命名方式基本相象2.我们不能给同一张表的同一个事件安排两原创 2010-05-18 14:46:00 · 598 阅读 · 0 评论 -
优化MySQL数据库性能的几个好方法
1、选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务了。同转载 2010-05-18 15:38:00 · 514 阅读 · 0 评论 -
Zend FrameWok中调用mysql的存储过程
在Zend FrameWork中调用mysql的存储过程方法如下:$db = Zend_Db::factory($sql_DbType,$sql_Config);$connection=$db->getConnection();Zend_Registry::set("db",$db);Zend_Registry::set("connect",$connection); 调用存储过程原创 2010-05-23 15:42:00 · 1620 阅读 · 0 评论 -
mysql 导入导出数据库以及函数、存储过程
<br />mysql常用导出数据命令:<br /><br />1.mysql导出整个数据库<br /><br /> mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql <br /><br /> mysqldump -hlocalhost -uroot hqgr> hqgr.sql (如果root用户没用密码可以不写-p,当然导出的sql文件你可以制定一个路径,未指定则存放在mysql原创 2010-09-08 10:30:00 · 555 阅读 · 0 评论 -
MySQL 备份和恢复
<br />本文讨论 MySQL 的备份和恢复机制,以及如何维护数据表,包括最主要的两种表类型:MyISAM 和 Innodb,文中设计的 MySQL 版本为 5.0.22。<br />目前 MySQL 支持的免费备份工具有:mysqldump、mysqlhotcopy,还可以用 SQL 语法进行备份:BACKUP TABLE 或者 SELECT INTO OUTFILE,又或者备份二进制日志(binlog),还可以是直接拷贝数据文件和相关的配置文件。MyISAM 表是保存成文件的形式,因此相对比较容易备份转载 2010-09-08 10:53:00 · 537 阅读 · 0 评论 -
Mysql Incorrect integer value(1366)错误解决方法
<br /> java.sql.SQLException: Incorrect integer value: '' for column 'id' at row 1 收藏 <br />insert into log values('','admin','31','physics')<br />这样写就会报错:<br />Incorrect integer value: '' for column 'id' at row 1<br />这种应该是版本问题,尤其是虚拟主机。<br />把''改成null不会出转载 2010-09-25 11:00:00 · 25493 阅读 · 2 评论 -
MySQL 中文模糊查询不正确问题解决方案 .
我在开发过程中发现 MySQL 进行数据查询时存在一些问题. 如模糊查询一个字段,该字段中包含"了"字, SQL 语句如下: select * from table_name where field_name like '%了%'; 显示的记录中除了包含"了"字的记录,连"见浪"竞然也被查了出来. 再如:我查询一个字段等于 "chouY", SQL 语句如转载 2012-02-27 12:42:45 · 2149 阅读 · 0 评论 -
mysql中的where和having子句的区别
having的用法having字句可以让我们筛选成组后的各种数据,where字句在聚合前先筛选记录,也就是说作用在group by和having字句前。而 having子句在聚合后对组记录进行筛选。SQL实例:一、显示每个地区的总人口数和总面积.SELECT region, SUM(population), SUM(area) FROM bbc GROUP BY regio转载 2013-03-24 16:42:21 · 966 阅读 · 0 评论 -
MySQL常用内置函数
1: ASCII(str) 返回字符串str的第一个字符的ASCII值(str是空串时返回0) mysql> select ASCII(2); -> 50 mysql> select ASCII(2); -> 50 mysql> select ASCII(dete); -> 1002:ORD(str) 如果字符串str句首是单字节返回与ASCII()函数返回的相同值。 如果转载 2010-05-18 15:17:00 · 1478 阅读 · 0 评论 -
15.2.6.6. 使用Per-Table表空间
15.2.6.6. 使用Per-Table表空间你可以存储每个InnoDB表和它的索引在它自己的文件在中,这个特征被称为“多表空间” ,因为实际上每个表有它自己的表空间。 对那些想把特定表格移到分离物理磁盘的用户,或者那些希望快速恢复单个表的备份而无须打断其余InnoDB表的使用的用户,使用多表空间会是有益的。你可以往my.cnf的[mysqld]节添加下面行来转载 2010-02-08 11:24:00 · 752 阅读 · 0 评论 -
MyISAM存储引擎
MyISAM是默认存储引擎。它基于更老的ISAM代码,但有很多有用的扩展。(注意MySQL 5.1不支持ISAM)。 每个MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。.frm文件存储表定义。数据文件的扩展名为.MYD (MYData)。索引文件的扩展名是.MYI (MYIndex)。 要明确表示你想要用一个MyISAM表格,请用ENGINE表选项原创 2010-02-06 16:30:00 · 530 阅读 · 0 评论 -
15.2.5. 创建InnoDB表空间
15.2.5. 创建InnoDB表空间15.2.5.1. 处理InnoDB初始化问题假设你已经安装了MySQL,并且已经编辑了选项文件,使得它包含必要的InnoDB配置参数。在启动MySQL之前,你应该验证你为InnoDB数据文件和日志文件指定的目录是否存在,并且MySQL有访问这些目录的权限。InnoDB不能创建目录,只能创建文件。也检查你有足够的空间转载 2010-02-08 10:39:00 · 1359 阅读 · 0 评论 -
15.2.6.1. 如何在InnoDB中用不同的API来使用事务
15.2.6.1. 如何在InnoDB中用不同的API来使用事务默认地,每个连接到MySQL服务器的客户端开始之时是允许自动提交模式的,这个模式自动提交你运行的每个SQL语句。要使用多语句事务,你可以用SQL语句SET AUTOCOMMIT = 0禁止自动提交,并且用COMMIT和ROLLBACK来提交或回滚你的事务。 如果你想要autocommit保持打开状态,可转载 2010-02-08 10:43:00 · 716 阅读 · 0 评论 -
15.2.6.2. 转换MyISAM表到InnoDB
15.2.6.2. 转换MyISAM表到InnoDB要点:你不应该在mysql数据库(比如,user或者host)里把MySQL系统表转换为InnoDB类型。系统表总是MyISAM型。 如果你想要所有(非系统)表都被创建成InnoDB表,你可以简单地把default-table-type=innodb行添加到my.cnf或my.ini文件的[mysqld]节里。转载 2010-02-08 10:50:00 · 766 阅读 · 0 评论 -
15.2.6.4.外键约束
15.2.6.4.外键约束InnoDB也支持外键约束。InnoDB中对外键约束定义的语法看起来如下:[CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, ...) REFERENCES tbl_name (index_col_name, ...) [ON DELETE {RESTRICT转载 2010-02-08 11:05:00 · 528 阅读 · 0 评论 -
15.2.6.5. InnoDB和MySQL复制
15.2.6.5. InnoDB和MySQL复制MySQL复制就像对MyISAM表一样,也对InnoDB表起作用。以某种方式使用复制也是可能的,在这种方式中从服务器上表的类型不同于主服务器上原始表的类型。例如,你可以复制修改到主服务器上一个InnoDB表,到从服务器上一个MyISAM表里。 要为一个主服务器建立一个新服务器,你不得不复制InnoDB表空间和日志文转载 2010-02-08 11:21:00 · 613 阅读 · 0 评论 -
15.2.3. InnoDB配置
15.2.3. InnoDB配置InnoDB存储引擎是默认地被允许的。如果你不想用InnoDB表,你可以添加skip-innodb选项到MySQL选项文件。被InnoDB存储引擎管理的两个重要的基于磁盘的资源是InnoDB表空间数据文件和它的日志文件。如果你指定无InnoDB配置选项,MySQL将在MySQL数据目录下创建一个名为ibdata1的10MB大小原创 2010-02-08 10:32:00 · 1128 阅读 · 0 评论 -
15.2.7. 添加和删除InnoDB数据和日志文件
15.2.7. 添加和删除InnoDB数据和日志文件这一节描述在InnoDB表空间耗尽空间之时,或者你想要改变日志文件大小之时,你可以做的一些事情。 最简单的,增加InnoDB表空间大小的方法是从开始配置它为自动扩展的。为表空间定义里的最后一个数据文件指定autoextend属性。然后在文件耗尽空间之时,InnoDB以8MB为增量自动增加该文件的大小。增加的大小转载 2010-02-08 11:26:00 · 671 阅读 · 0 评论 -
MySQL中UNION和UNION ALL的使用
在数据库中,UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。MySQL中的UNIONUNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表UNION。如:select * from gc_dfys union转载 2013-03-24 16:51:15 · 739 阅读 · 0 评论