PHP学习:从基础到数据库操作-内联、子查询讲解

需积分: 50 1 下载量 89 浏览量 更新于2024-08-18 收藏 770KB PPT 举报
"PHP5的学习资料,涵盖了从基础到高级的各种PHP知识,包括PHP的历史、安装配置、数值类型、控制语句、面向对象、数据库操作、Cookie和Session、文件目录操作、网络应用、正则表达式、图像处理、XML以及综合实例。其中特别提到了SQL的select语句和子查询的使用方法,如字段别名、计算字段、各种类型的表连接。" 在深入探讨PHP5之前,我们先来理解一下`select`语句在SQL中的作用。`select`语句是用于从数据库中检索数据的关键命令,它允许我们指定要从哪个表中选取哪些字段,以及如何根据特定条件进行筛选。基本的`select`语句结构如下: ```sql select *|字段列表 from 表列表 [where 条件] [group by 字段 [asc|desc]] [having 条件] [order by 字段 [asc | desc]] [limit [开始记录序号,]操作记录数] ``` 1. `*`代表选择所有字段,或者你可以指定需要的特定字段列表,例如`select id, name from table`。 2. `from`后面跟着要查询的表名,可以是单个表或多个表的连接。 3. `where`子句用来设置筛选条件,例如`where age > 18`,只返回年龄大于18的记录。 4. `group by`用于对结果集进行分组,`asc`或`desc`定义排序顺序,如`group by gender order by age desc`,按性别分组并按年龄降序排列。 5. `having`是`group by`后的筛选,适用于对分组后的数据进行条件过滤,例如`having count(*) > 1`,找出出现次数大于1的分组。 6. `order by`用于结果集的排序,与`group by`类似,可以指定字段和排序方式。 7. `limit`用于限制返回的记录数,如`limit 0, 10`表示从第一条记录开始取10条。 在PHP中,通常会使用PDO或mysqli扩展来执行SQL查询。例如: ```php // 使用PDO $dbh = new PDO('mysql:host=localhost;dbname=testdb;charset=utf8', $user, $pass); $stmt = $dbh->prepare("SELECT * FROM table WHERE condition"); $stmt->execute(); $results = $stmt->fetchAll(); // 使用mysqli $conn = mysqli_connect('localhost', $user, $pass, 'testdb'); $result = mysqli_query($conn, "SELECT * FROM table WHERE condition"); while ($row = mysqli_fetch_assoc($result)) { // 处理每行数据 } ``` 此外,文件还提到了SQL中的子查询,子查询是嵌套在另一个查询中的查询,它可以作为外部查询的一部分,提供临时的结果集。例如,找出比平均工资高的员工: ```sql SELECT * FROM employees WHERE salary > (SELECT AVG(salary) FROM employees) ``` 在PHP5中,子查询可以结合`SELECT`语句一起使用,以获取更复杂的数据分析结果。 PHP的历史始于1994年,由Rasmus Lerdorf创建,起初用于个人简历网站。随着时间的推移,PHP逐渐发展,特别是在PHP3.0和PHP4.0发布后,它成为了一种广泛使用的开源脚本语言,尤其在Web开发领域。PHP5引入了更多面向对象的特性,提高了性能,使得它在处理大型Web应用程序时更加得心应手。 通过学习这个PHP5的资料,你将全面了解PHP的基础和高级概念,包括面向对象编程、数据库交互、Web应用开发等,从而能够熟练地运用PHP进行Web开发。