不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2013-05-13 13:27  分类:MySQL/NoSQL 
MySQL 数据类型中的 integer types 有点奇怪。你可能会见到诸如:int(3)、int(4)、int(8) 之类的 int 数据类型。刚接触 MySQL 的时候,我还以为 int(3) 占用的存储空间比 int(4) 要小, int(4) 占用的存储空间比 int(8) 小。

后来,参看 MySQL 手册,发现自己理解错了。

int(M): M indicates the maximum display width for integer types.


在 integer 数据类型中,M 表示最大显示宽度。

作者:php-note.com  发布于:2013-05-13 10:41  分类:MySQL/NoSQL 
1、整型
MySQL数据类型 含义(有符号)
tinyint(m) 1个字节  范围(-128~127)
smallint(m) 2个字节  范围(-32768~32767)
mediumint(m) 3个字节  范围(-8388608~8388607)
int(m) 4个字节  范围(-2147483648~2147483647)
bigint(m) 8个字节  范围(+-9.22*10的18次方)

取值范围如果加了unsigned,则最大值翻倍,如tinyint unsigned的取值范围为(0~256)。

int(m)里的m是表示SELECT查询结果集中的显示宽度,并不影响实际的取值范围,没有影响到显示的宽度,不知道这个m有什么用。

作者:php-note.com  发布于:2013-04-25 21:35  分类:MySQL/NoSQL 

从数据库里取N个字段,然后组合到一起用“,”分割显示,起初想到用CONCAT()来处理,好是麻烦,没想到在手册里居然有提到 CONCAT_WS(),非常好用。

CONCAT_WS(separator, str1, str2,...)

它是一个特殊形式的 CONCAT()。第一个参数剩余参数间的分隔符。分隔符可以是与剩余参数一样的字符串。如果分隔符是 NULL,返回值也将为 NULL。这个函数会跳过分隔符参数后的任何 NULL 和空字符串。分隔符将被加到被连接的字符串之间

作者:php-note.com  发布于:2013-03-18 14:48  分类:MySQL/NoSQL 

所以大家要注意,以后查询数据库的时候,如果字段是string类型的,条件的值必须加上 单引号,以提升查询的效率!

作者:php-note.com  发布于:2013-01-07 13:58  分类:MySQL/NoSQL 

官方对PHP连接到MySQL数据库服务器的三种主要的API简介如下:

http://php.net/manual/zh/mysqli.overview.php

PHP mysql与mysqli事务详解

在PHP中,mysqli 已经很好的封装了mysql事务的相关操作。如下示例:

作者:php-note.com  发布于:2012-12-20 15:59  分类:MySQL/NoSQL 

~~语法~~


  CREATE TRIGGER <触发器名称>  --触发器必须有名字,最多64个字符,可能后面会附有分隔符.它和MySQL中其他对象的命名方式基本相象.      { BEFORE | AFTER }  --触发器有执行的时间设置:可以设置为事件发生前或后。      { INSERT | UPDATE | DELETE }  --同样也能设定触发的事件:它们可以在执行insert、update或delete的过程中触发。      ON <表名称>  --触发器是属于某一个表的:当在这个表上执行插入、 更新或删除操作的时候就导致触发器的激活. 我们不能给同一张表的同一个事件安排两个触发器。      FOR EACH ROW  --触发器的执行间隔:FOR EACH ROW子句通知触发器 每隔一行执行一次动作,而不是对整个表执行一次。      <触发器SQL语句>  --触发器包含所要触发的SQL语句:这里的语句可以是任何合法的语句, 包括复合语句,但是这里的语句受的限制和函数的一样。    --你必须拥有相当大的权限才能创建触发器(CREATE TRIGGER),如果你已经是Root用户,那么就足够了。这跟SQL的标准有所不同。 

作者:php-note.com  发布于:2012-10-21 15:23  分类:MySQL/NoSQL 

当服务器没有运行PHP、没装phpMyAdmin的时候,远程管理MySQL就显得有必要了。

第一步:开启MySQL用户的远程访问权限

mysql -u root -p mysql # 第1个mysql是执行命令,第2个mysql是系统数据名称
作者:php-note.com  发布于:2012-06-07 21:11  分类:MySQL/NoSQL 

Warning: mysql_connect() [function.mysql-connect]: Premature end of data (mysqlnd_wireprotocol.c:554) in path/to/the/file/where/connection/script/is/written/

作者:php-note.com  发布于:2012-06-06 22:29  分类:MySQL/NoSQL 

一、用户管理:

1、新建用户:

>CREATE USER name IDENTIFIED BY 'ssapdrow';

2、更改密码:

>SET PASSWORD FOR name=PASSWORD('fdddfd');

3、权限管理

>SHOW GRANTS FOR name;    //查看name用户权限
>GRANT SELECT ON db_name.* TO name;    //给name用户db_name数据库的所有权限
>REVOKE SELECT ON db_name.* TO name;    //GRANT的反操作,去除权限;

作者:php-note.com  发布于:2012-05-24 22:04  分类:MySQL/NoSQL 

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。