你在这里

mysql技术

mysql的float类型是单精度浮点类型导致数据误差

单精度浮点数用4字节(32bit)表示浮点数
采用IEEE754标准的计算机浮点数,在内部是用二进制表示的
如:7.22用32位二进制是表示不下的。
所以就不精确了。
mysql中float数据类型的问题总结  
 
对于单精度浮点数Float:  当数据范围在±131072(65536×2)以内的时候,float数据精度是正确的,但是超出这个范围的数据就不稳定,没有发现有相关的参数设置建议:将float改成double或者decimal,两者的差别是double是浮点计算,decimal是定点计算,会得到更精确的数据。分析如下:
一、浮点数的概念及误差问题

mysql中:单表distinct、多表group by查询去除重复记录

单表的唯一查询用:distinct
多表的唯一查询用:group by
在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重复记录的所有值。其原因是distinct只能返回它的目标字段,而无法返回其它字段,用distinct不能解决的话,我只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的。
下面先来看看例子:
表的结构如下:
id name
1 a
2 b
3 c
4 c
5 b
基本的表的结构大概这样,这只是一个简单的例子,实际的多表查询等等情况会复杂得多。
比如我想用一条语句查询得到name不重复的所有数据,那就必须使用distinct去掉多余的重复记录。
select distinct name from table
得到的结果是:
name
a
b
c
好像达到效果了,可是,我想要得到的是id值呢?改一下查询语句吧:

mysql group by 用法解析(详细)

group by 用法解析
group by语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表。
SELECT子句中的列名必须为分组列或列函数。列函数对于GROUP BY子句定义的每个组各返回一个结果。
某个员工信息表结构和数据如下:
  id  name  dept  salary  edlevel  hiredate 
      1 张三 开发部 2000 3 2009-10-11
      2 李四 开发部 2500 3 2009-10-01
      3 王五 设计部 2600 5 2010-10-02
      4 王六 设计部 2300 4 2010-10-03
      5 马七 设计部 2100 4 2010-10-06
      6 赵八 销售部 3000 5 2010-10-05
      7 钱九 销售部 3100 7 2010-10-07
      8 孙十 销售部 3500 7 2010-10-06 
例如,我想列出每个部门最高薪水的结果,sql语句如下:

建立mysql可远程连接root权限用户

以下语句具有和ROOT用户一样的权限。大家在拿站时应该碰到过。root用户的mysql,只可以本地连,对外拒绝连接。以下方法可以帮助你解决这个问题了,下面的语句功能是,建立一个用户为itpro 密码123 权限为和root一样。允许任意主机连接。这样你可以方便进行在本地远程操作数据库了。
CREATE USER 'itpro'@'%' IDENTIFIED BY '123';
GRANT ALL PRIVILEGES ON *.* TO 'itpro'@'%' IDENTIFIED BY '123'WITH GRANT OPTION
MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0
MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
搞完事记得删除脚印哟。
DROP USER 'itpro'@'%';
DROP DATABASE IF EXISTS `itpro` ;
 

mysql多表联合查询操作,3个表以上操作的sql语句

mysql多表联合查询操作,3个表以上操作的sql语句的相关操作如下

 
 

深入研究Mysql字符集设置以及排序方式

作者:laruence(http://www.laruence.com/)
· 本文地址: http://www.laruence.com/2008/01/05/12.html
· 转载请注明出处
根据Chaos Wang的PPT整理而成, 在此再次感谢Chaos Wang的此次TechTalk
基本概念
• 字符(Character)是指人类语言中最小的表义符号。例如'A'、'B'等;
• 给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符,这一数值就是字符的编码(Encoding)。例如,我们给字符'A'赋予数值0,给字符'B'赋予数值1,则0就是字符'A'的编码;

drupal数据库参考-mysql数据库主从实现过程

drupal数据库如果压力过大,可以参考实现数据库主从。
数据库主从指的是有两台数据库服务器,一台数据库服务器作为主服务器用于插入,删除,更新等变更性
操作。一台数据库服务器作为从服务器用于查询等非变更性操作。
数据库主从服务器的实现需要以下步骤
第一:需要配置两台mysql服务器实现同步,也就是做到两台数据库服务器里的数据是完全一致的。
这个配置方法请参考http://dev.mysql.com/doc/refman/5.0/en/replication.html
上面的连接是mysql5.0的配置方法,其他版本的mysql,请参照版本的手册来配置。
第二:在写php程序的时候,将两台数据库服务器都连接上。当需要插入,删除,更新等变更性操作的时
候,连接主服务器。当只需要查询的时候,就连接从服务器。
经过以上步骤,就可以实现数据库主从了。
其实,数据库主从的实现对数据的速度影响不是很大,如果能实现一主多从,那么数据库的速度会有非常
大的提高。

将mysql表结构完全导入powerdesigner教程

导入工作分成几步,工作很简单,步骤如下:
第一步:将要导入的库的所有表的表结构(不要表数据,只要表结构)导出成一个.sql文件。
第二步:在powerdesinger里找到 File >> Reverse Engineer >> Database ,然后出来一个
页面。如下图

图一,选择“share the DBMS definition”然后点击确定。注意,数据库也要选择和自己的数据库对应的,我的数据库是mysql5.0的,所有我也选择了mysql5.0。
确定以后出现如下图二
 

图二,选“Using script files”,点左侧的添加按钮,讲test.sql文件添加,然后选择确定。这样,mysql数据表结构就完全导入了powerdesigner里。

订阅RSS - mysql技术术语