查询数据是后端日常工作之一,如何查询到数据?查询的方法有多种呢?今天我们讨论一下,假设我们数据库中有一个库叫userinfo,库里有两张表,分别是:user和dep,用于保存员工信息和公司部门信息,具体的结构如下:
user表 | ||
---|---|---|
字段名 | 类型(长度) | 备注 |
id | int | 序号,关键字,自动增长ID |
name | varchar(50) | 姓名 |
sex | tinyint | 1:男 2:女 |
depId | int | 部门序号 |
dep表 | ||
---|---|---|
字段名 | 类型(长度) | 备注 |
id | int | 序号 |
depName | varchar(20) | 部门名称 |
depJob | varchar(50) | 工作职责 |
[SQL结构化查询语言](https://baike.baidu.com/item/%E7%BB%93%E6%9E%84%E5%8C%96%E6%9F%A5%E8%AF%A2%E8%AF%AD%E8%A8%80/10450182?fr=aladdin),在关系数据库中应用最为广泛,所以在PHP操作数据库时,也是采用SQL结构化查询语句去完成的,那么同学们如何学习好这个语言呢?下面提供W3CSCHOOL网上[教程](http://www.w3school.com.cn/sql/index.asp)给大家学习,下面也会有相应的练习。
查询语句
【语法】
SELECT 查询结果 FROM 数据表名 WHERE 条件【例子1】查询所有员工信息
SELECT * FROMuser
WHERE 1注1:WHERE 1 __代表没有条件 注2:* __代表所有
【例子2】查询当前女员工信息
SELECT FROMuser
WHERE sex = ‘2’
【例子3】查询具体姓名的员工信息
SELECT FROMuser
WHERE name = ‘张三’
【例子4】查询员工张三的性别
SELECT sex FROMuser
WHERE name = ‘张三’
【例子5】查询员工姓名,其中名字包括有“三”这个字
SELECT * FROMuser
WHEREname
LIKE “%三”‘%’ 任意1个或多个字符
【例子6】查询员工姓名,名字只有两个字,并且包括有“三”这个字
SELECT * FROMuser
WHEREname
LIKE “_三”‘_’ 仅能代表一个字符
实现在PHP文件中操作MySQL数据那么要如何操作呢?这个时候我们要使用mysqli函数给我们提供的队列query方法进行操作,具体实现如下代码所示:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>公司人员管理</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<!-- 连接数据配置文件 php引入文件函数 include / require -->
<!-- include 有报错,有警告,但程序不会被停止 -->
<!-- require 有报错,有警告,但程序会被停止 -->
<?php require("db.php"); ?>
<div id="wrap">
<header>
<h3>公司人员管理</h3>
</header>
<div id="main">
<!-- 员工列表 -->
<?php
// 使用一个变量保存SQL操作语句
$sql = "select * from user";
// 让谁去执行上面的SQL $conn 这个数据操作替身
// 结果保存在 $result 变量
$result = $conn->query($sql);
// 检测当前查询结果
// var_dump($result);
if($result->num_rows == 0) {
echo '数据是空的';
} else {
echo '当有'.$result->num_rows.'行数据';
}
?>
<div id="user">
<h4>员工列表</h4>
<div class="row"></div>
</div>
<div id="dep">
<h4>部门列表</h4>
<div class="row"></div>
</div>
</div>
</div>
</body>
</html>