友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
第三电子书 返回本书目录 加入书签 我的书架 我的书签 TXT全本下载 『收藏到我的浏览器』

php程序设计简明教程(DOC格式)-第14部分

快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!


                                   PHP 讲义    第  69  页  共  90  页  


…………………………………………………………Page 70……………………………………………………………

TEXT 或BLOB),所有大于3 个字符的CHAR 列被改变为VARCHAR 列。这在任何方面都不影响列的使用;在 

MySQL 中,VARCHAR  只是存储字符的一个不同方法。MySQL 实施这种改变,是因为它节省空间并且使表操 

作更快捷。  

TINYTEXT    



一个TEXT 列,最大长度为255(2^8…1)个字符。    

TEXT    



一个TEXT 列,最大长度为65535(2^16…1)个字符。  



列类型          需要的存储量   



               字节,                    

CHAR(M)  M          1  9  

 (2 )算术运算  

+  加法  

mysql》 select 3+5;  

                …》 8  

以此类推:  

 减法  

*  乘法  

/  除法  

被零除产生一个NULL 结果:  

mysql》 select 102/(1…1);  

                …》 NULL  

 (3)逻辑运算  

所有的逻辑函数返回1  (TRUE )或0  (FALSE)。  NULL 被认为是假值。  

NOT   (!  )逻辑非  



                                    PHP 讲义    第  70  页  共  90  页  


…………………………………………………………Page 71……………………………………………………………

OR     (||)逻辑或    

AND    (&&)逻辑与  

 (4 )比较运算符  

比较操作得出值1  (TRUE )、0  (FALSE)或NULL 等结果。这些函数工作运用在数字和字符串上。  

=  等于  

不等于  

!=  不等于  

=  大于或等于  

》  大于  

mysql》 select 2 》 2;  

                …》 0  

IS NULL  是否为空  

IS NOT NULL  是否不为空  

mysql》 select 1 IS NULL; 0 IS NULL; NULL IS NULL:  

                …》 0 0 1  

expr BETWEEN min AND max    



如果expr 对大于或等于min 且expr 是小于或等于max,BETWEEN 返回1,否则它返回0。    

mysql》 select 1 BETWEEN 2 AND 3;  

                …》 0  

mysql》 select 2 BETWEEN 2 AND '3';  

                …》 1  

expr IN (value;。。。)    

如果expr 是在IN 表中的任何值,返回1,否则返回0。如果所有的值是常数,那么所有的值根据expr 类型被计 

算和排序,然后项目的搜索是用二进制的搜索完成。这意味着如果IN 值表全部由常数组成,IN 是很快的。如果 

expr 是一个大小写敏感的字符串表达式,字符串比较以大小写敏感方式执行。    

mysql》 select 2 IN (0;3;5;'wefwf');  

                …》 0  

mysql》 select 'wefwf' IN (0;3;5;'wefwf');  

                …》 1    

expr NOT IN (value;。。。)    

与NOT (expr IN (value;。。。))相同。    

  

ISNULL(expr)    

如果expr 是NULL,ISNULL()返回1,否则它返回0。    

mysql》 select ISNULL(1+1);  

                …》 0  

mysql》 select ISNULL(1/0);  

                …》 1  

  

注意,使用=的NULL 的值比较总为假!    

  

 (5)字符串比较函数  

通常,如果在字符串比较中的任何表达式是区分大小写的,比较以大小写敏感的方式执行。    

expr LIKE pat tern'ESCAPE 'escape…char''    

将expr 与模式字符串pattern 进行模式匹配。返回 1  (TRUE )或0  (FALSE)。用LIKE,你可以在模式中使用 

下列2 个①%    匹配任何数目的字符,甚至零个字符    



                                               PHP 讲义    第  71  页  共  90  页  


…………………………………………………………Page 72……………………………………………………………

②_    精确匹配一个字符    

mysql》 select 'David!' LIKE 'David_';  

                …》 1  

mysql》 select 'David!' LIKE '%D%v%';  

                …》 1  

  

为了测试一个通配符的文字实例,用转义字符的加在字符前面。如果你不指定ESCAPE 字符,假定为“ ”:    

  

%    匹配%字符    

_    匹配_字符    

  

mysql》 select 'David!' LIKE 'David_';  

                …》 0  

mysql》 select 'David_' LIKE 'David_';  

                …》 1  

  

为了指定一个不同的转义字符,使用ESCAPE 子句:    

mysql》 select 'David_' LIKE 'David|_' ESCAPE '|';  

                …》 1  

  

LIKE 允许用在数字的表达式上!(这是MySQL 对ANSI SQL LIKE 的一个扩充。)    

  

mysql》 select 10 LIKE '1%';  

                …》 1  

  

expr NOT LIKE pattern 'ESCAPE 'escape…char''    

与NOT (expr LIKE pattern'ESCAPE 'escape…char'')相同。    

  (6 )控制流函数  

IF(expr1;expr2;expr3)    

如果expr1 是TRUE(expr10 且expr1NULL),那么IF()返回expr2,否则它返回expr3 。IF()返回一个数字 

或字符串值,取决于它被使用的上下文。    

mysql》 select IF(1》2;2;3);  

                …》 3  

mysql》 select IF(1 'yes'  

mysql》 select IF(strcmp('test';'test1');'yes';'no');  

                …》 'no'  

expr1 作为整数值被计算,它意味着如果你正在测试浮点或字符串值,应该使用一个比较操作来做。    

mysql》 select IF(0。1;1;0);  

                …》 0  

mysql》 select IF(0。10;1;0);  

                …》 1  

在上面的第一种情况中,IF(0。1)返回0,因为0。1 被变换到整数值;  导致测试IF(0)。这可能不是你期望的。在第 

二种情况中,比较测试原来的浮点值看它是否是非零,比较的结果被用作一个整数。    

CASE value WHEN 'pare…value' THEN result 'WHEN 'pare…value' THEN result 。。。' 'ELSE result'  

END    

CASE WHEN 'condition' THEN result 'WHEN 'condition' THEN result 。。。' 'ELSE result' END    

第一个版本返回 result,其中value=pare…value。第二个版本中如果第一个条件为真,返回result。如果没 



                                                       PHP 讲义    第  72  页  共  90  页  


…………………………………………………………Page 73……………………………………………………………

有匹配的result 值,那么结果在ELSE 后的result 被返回。如果没有ELSE 部分,那么NULL 被返回。    

mysql》 SELECT CASE 1 WHEN 1 THEN 〃one〃 WHEN 2 THEN 〃two〃 ELSE 〃more〃 END;  

              …》 〃one〃  

mysql》 SELECT CASE WHEN 1》0 THEN 〃true〃 ELSE 〃false〃 END;  

              …》 〃true〃  

mysql》 SELECT CASE BINARY 〃B〃 when 〃a〃 then 1 when 〃b〃 then 2 END;  

              …》 NULL  

  (7)数学函数  

所有的数学函数在一个出错的情况下返回NULL。    

ABS(X)    



返回X 的绝对值。    

SIGN(X)    



返回参数的符号,为…1、0 或1,取决于X 是否是负数、零或正数。    

MOD(N;M)    

%    



模  (类似C 中的%操作符)。返回N 被M 除的余数。    

mysql》 select MOD(29;9);  

                …》 2  

FLOOR(X)    



对X 向下取整。    

mysql》 select FLOOR(1。23);  

                …》 1  

mysql》 select FLOOR(…1。23);  

                …》 …2  

CEILING(X)    

对X 向上取整。    

mysql》 select CEILING(1。23);  

                …》 2  

mysql》 select CEILING(…1。23);  

                …》 …1  

ROUND(X)    

返回参数X 的四舍五入的一个整数。    

mysql》 select ROUND(…1。23);  

                …》 …1  

mysql》 select ROUND(…1。58);  

                …》 …2  

mysql》 select ROUND(1。58);  

                …》 2  

ROUND(X;D)    

返回参数X 的四舍五入的有D 位小数的一个数字。如果D 为0,结果将没有小数点或小数部分。    

mysql》 select ROUND(1。298; 1);  

                …》 1。3  

mysql》 select ROUND(1。298; 0);  

                …》 1  

RAND()    

RAND(N)    



返回在范围0 到1。0 内的随机浮点值。如果一个整数参数N 被指定,它被用作种子值。    

mysql》 select RAND();  



                                                  PHP 讲义    第  73  页  共  90  页  


…………………………………………………………Page 74……………………………………………………………

                …》 0。5925  

mysql》 select RAND(20);  

                …》 0。1811  

mysql》 select RAND(20);  

                …》 0。1811  

mysql》 select RAND();  

                …》 0。2079  

mysql》 select RAND();  

                …》 0。7888  

你不能在一个ORDER BY 子句用RAND()值使用列,因为ORDER BY 将重复计算列多次。然而在MySQL3。23 

中,你可以做:  SELECT * FROM table_name ORDER BY RAND() ,这是有利于得到一个来自SELECT * FROM  

table1;table2 WHERE a=b AND c select LEAST(2;0);  

                …》 0  

mysql》 select LEAST(34。0;3。0;5。0;767。0);  

                …》 3。0  

mysql》 select LEAST(〃B〃;〃A〃;〃C〃);  

                …》 〃A〃  

在MySQL 3。22。5 以前的版本,你可以使用MIN()而不是LEAST。    

GREATEST(X;Y;。。。)    

返回最大(最大值)的参数。参数使用与LEAST 一样的规则进行比较。    

mysql》 select GREATEST(2;0);  

                …》 2  

mysql》 select GREATEST(34。0;3。0;5。0;767。0);  

                …》 767。0  

mysql》 select GREATEST(〃B〃;〃A〃;〃C〃);  

                …》 〃C〃  

在MySQL 在  3。22。5  以前的版本;  你能使用MAX()而不是GREATEST。      

 (8 )字符串函数  

对于针对字符串位置的操作,第一个位置被标记为1。    

MySQL 根据上下文自动变换数字为字符串,并且反过来也如此:    

mysql》 SELECT 1+〃1〃;  

                …》 2  

CONCAT(str1;str2;。。。)    

返回来自于参数连结的字符串。如果任何参数是NULL,返回NULL。可以有超过2 个的参数。一个数字参数被 

变换为等价的字符串形式。    

mysql》 select CONCAT('My'; 'S'; 'QL');  

                …》 'MySQL'  

mysql》 select CONCAT('My'; NULL; 'QL');  

                …》 NULL  

mysql》 select CONCAT(14。3);  



                                               PHP 讲义    第  74  页  共  90  页  


…………………………………………………………Page 75……………………………………………………………

                …》 '14。3'  

mysql》 SELECT CONCAT(2;' test');  

                …》 '2 test'  

  

LEFT(str;len)    



返回字符串str 的最左面len 个字符。  

mysql》 select LEFT('foobarbar'; 5);  

                …》 'fooba'  

RIGHT(str;len)    



返回字符串str 的最右面len 个字符。    

mysql》 select RIGHT('foobarbar'; 4);  

                …》 'rbar'  

SUBSTRING(str;pos;len)    

MID(str;pos;len)    

从字符串str 返回一个len 个字符的子串,从位置pos 开始。  

mysql》 select SUBSTRING('123456789123456';5;6);  

   
返回目录 上一页 下一页 回到顶部 0 0
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!