友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
php程序设计简明教程(DOC格式)-第11部分
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!
返回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);
…》 '567891'
LTRIM(str)
返回删除了其前置空格的字符串str 。
mysql》 select LTRIM(' barbar');
…》 'barbar'
RTRIM(str)
返回删除了其尾部空格的字符串str 。
mysql》 select RTRIM('barbar ');
…》 'barbar'
TRIM(str)
返回去处了首尾空格的字符串str 。
mysql》 select TRIM(' bar ');
…》 'bar'
SPACE(N)
返回由N 个空格字符组成的一个字符串。
mysql》 select SPACE(6);
…》 ' '
REPEAT(str;count)
返回由重复countTimes 次的字符串str 组成的一个字符串。如果count select REPEAT('MySQL'; 3);
…》 'MySQLMySQLMySQL'
LCASE(str)
LOWER(str)
返回字符串str,根据当前字符集映射(缺省是ISO…8859…1 Latin1)把所有的字符改变成小写。
mysql》 select LCASE('ABCDEFG');
…》 'abcdefg'
UCASE(str)
UPPER(str)
返回字符串str,根据当前字符集映射(缺省是ISO…8859…1 Latin1)把所有的字符改变成大写。
mysql》 select UCASE(' abcdefg ');
…》 ' ABCDEFG '
PHP 讲义 第 75 页 共 90 页
…………………………………………………………Page 76……………………………………………………………
LOAD_FILE(file_name)
读入文件并且作为一个字符串返回文件内容。文件必须在服务器上,你必须指定到文件的完整路径名,而且你必
须有file 权限。文件必须所有内容都是可读的并且小于 max_allowed_packet。如果文件不存在或由于上面原因
之一不能被读出,函数返回NULL。
mysql》 UPDATE table_name
SET blob_column=LOAD_FILE(〃/tmp/picture〃)
WHERE id=1;
(9)日期和时间函数
NOW()
SYSDATE()
CURRENT_TIMESTAMP
以'YYYY…MM…DD HH:MM:SS'或YYYYMMDDHHMMSS 格式返回当前的日期和时间,取决于函数是在一个字符
串还是在数字的上下文被使用。
mysql》 select NOW();
…》 '1997…12…15 23:50:26'
mysql》 select NOW() + 0;
…》 19971215235026
CURDATE()
CURRENT_DATE
以'YYYY…MM…DD'或YYYYMMDD 格式返回今天日期值,取决于函数是在一个字符串还是数字上下文被使用。
mysql》 select CURDATE();
…》 '1997…12…15'
mysql》 select CURDATE() + 0;
…》 19971215
CURTIME()
CURRENT_TIME
以'HH:MM:SS'或HHMMSS 格式返回当前时间值,取决于函数是在一个字符串还是在数字的上下文被使用。
mysql》 select CURTIME();
…》 '23:50:26'
mysql》 select CURTIME() + 0;
…》 235026
…》 10
(10)分组计算函数
这些函数,常常是与GROUP BY 子句一起使用的函数,作用是对聚合在组内的行,进行计算。
如果在不包含GROUP BY 子句的一个语句中使用聚合函数,它等价于聚合所有行。
COUNT(expr)
返回由一个SELECT 语句检索出来的行的非NULL 值的数目。
mysql》 select student。student_name;COUNT(*)
from student;course
where student。student_id=course。student_id
GROUP BY student_name;
COUNT(*)在它返回的检索出来的行数目上有些不同,不管他们是否包含NULL 值。如果SELECT 从一个表检索,
或没有检索出其他列并且没有WHERE 子句,COUNT(*)被优化以便快速地返回。例如:
mysql》 select COUNT(*) from student;
COUNT(DISTINCT expr;'expr。。。')
返回一个无重复值的数目。
mysql》 select COUNT(DISTINCT results) from student;
PHP 讲义 第 76 页 共 90 页
…………………………………………………………Page 77……………………………………………………………
在MySQL 中,你可以通过给出一个表达式列表以得到不同的表达式组合的数目。
AVG(expr)
返回expr 的平均值。
mysql》 select student_name; AVG(test_score)
from student
GROUP BY student_name;
MIN(expr)
MAX(expr)
返回expr 的最小或最大值。MIN()和MAX()可以有一个字符串参数;在这种的情况下,他们返回最小或最大的字
符串值。
mysql》 select student_name; MIN(test_score); MAX(test_score)
from student
GROUP BY student_name;
SUM(expr)
返回expr 的和。注意,如果返回的集合没有行,它返回NULL !
第三节 实验四 MySQL 实验
1。MySQL 基本命令练习
(1)准备数据
在MS…DOS 或命令提示符下,进入MySQL 安装目录bin
键入命令mysql 回车,连接成功后键入以下简单命令,在test 数据库中建立测试表abc,并插入示例数据。
具体步骤和相应命令如下:
①use test; (回车)'说明:打开名为test 的数据库'
Database changed (MySQL 服务器返回的结果)
②create table abc(a varchar(10);b varchar(10);c varchar(10)); (回车)'说明:在test 数据库中建立测试表abc'
Query OK; 0 rows affected (0。05 sec) (MySQL 服务器返回的结果)
③desc abc; (回车)'说明:显示表abc 的结构'
(下面为MySQL 服务器返回的结果)
+…………………+…………………………………+………………+……………+………………………+………………………+………………………+
| Field | Type | Null | Key | Default | Extra |
+…………………+…………………………………+………………+……………+………………………+…………………+………………………………+
| a | varchar(10) | YES | | NULL | |
| b | varchar(10) | YES | | NULL | |
| c | varchar(10) | YES | | NULL | |
+…………………+…………………………………+………………+……………+………………………+………………………+…………………………+
3 rows in set (0。06 sec)
④select * from abc; (回车)'说明:查询表abc 中的数据'
Empty set (0。11 sec) '说明:表abc 中无数据'
⑤insert into abc values('a1';'b1';'c1'); (回车)'说明:在表abc 中插入第一行数据'
Query OK; 1 row affected (0。05 sec)
⑥insert into abc values('a2';'b2';'c2'); (回车)'说明:在表abc 中插入第二行数据'
Query OK; 1 row affected (0。05 sec)
⑦insert into abc values('a3';'b3';'c3'); (回车)'说明:在表abc 中插入第三行数据'
Query OK; 1 row affected (0。05 sec)
select * from abc;
PHP 讲义 第 77 页 共 90 页
…………………………………………………………Page 78……………………………………………………………
(下面为MySQL 服务器返回的结果表明,已经成功地在abc 表中插入了三行数据)
+………………+………………+………………+
| a | b | c |
+………………+………………+………………+
| a1 | b1 | c1 |
| a2 | b2 | c2 |
| a3 | b3 | c3 |
+………………+………………+………………+
3 rows in set (0。00 sec)
(2 )准备示例程序abc。php,存放在发布文档目录d:www 下,其内容为:
a 列数据b 列数据c 列数据
程序重点说明
本程序中的while 循环部分:
测试步骤
在浏览器地址栏输入:http://你的机器 IP 地址/mysqltest。php ,回车;显示如下图所示,则使用 PHP 从 MySQL
数据库中成功取出了数据,表明PHP 与MySQL 能够协同工作了。
2。使用phpMyAdmin
安装好phpMyAdmin (若没安装;具体安装方法见第二节)
通过phpMyAdmin :
删除数据库test
建立上面的数据库test
在数据库test 中建立上面所述结构的表abc
在表abc 中插入上面所述的数据
运行上面的PHP 程序,查看结果
PHP 讲义 第 79 页 共 90 页
…………………………………………………………Page 80……………………………………………………………
第五章 Web 软件开发
本章以一个新闻发布系统的实现为实例,介绍使用PHP,进行Web 软件开发的一般过程和方法。
本章内容也是前四章内容的综合运用。
第一节 系统分析和系统设计
1。用户需求
经过对用户的调查,并与用户协商,一致确定最终的需求,表述如下:
系统名称:ABC 新闻发布系统
系统功能:
(1)前台功能——最终客户,用于浏览新闻。
1)浏览最新新闻标题:显示10 条最新新闻的标题;只列出允许发布到前台的新闻标题。
发布:允许让最终客户在前台看到。
2 )浏览更多新闻标题:每页显示25 条新闻标题,总数超过25 条新闻时,分页显示
3 )浏览新闻全文:单击 1)、2 )中新闻标题后可查看到新闻的具体内容:标题,作者,发布时间(年月日时分
秒),内容
(2 )后台管理——新闻管理人员,用于管理新闻
1)人员管理:
人员——使用本后台进行新闻管理的人。
人员信息——帐号,密码,姓名,联系方式,权限
其中,权限:登录系统,增加人员,修改人员,添加新稿,修改稿件,审核稿件,业务查询。
功能:
①人员验证:
任何人员进入后台管理系统,必须经过验证,验证的凭据是帐号和密码,必须与系统中的用户名与密码一致。
②人员信息的增加
③人员信息的修改
2 )稿件管理:
编辑稿件:
稿件录入:录入新闻稿件信息。新增稿件录完成,提交至服务器,等待审核通过后发布。
稿件修改:对未发布或暂存的新闻稿件,可修改。修改稿提交前,必须再次检查是否已经被发布,若已发布,
则服务器拒绝接受提交。
稿件删除:对未发布的稿件,如暂存稿件,可进行删除操作。
审核稿件:对提交待发的新闻稿件,决定发布还是退回。
说明:稿件的状态,有:提交待发,暂存,发布,退回4 种。
3 )业务记录
8 种业务操作:登录系统,增加人员,修改人员,添加新稿,修改稿件,审核稿件,业务查询,退出后台,这均
要自动记录到系统中去,记录的信息包括:
姓名,操作机器,操作时间,业务操作,操作稿件
4 )业务查询
根据用户输入的查询信息,查询出符合条件的业务记录。
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!