MySQL数据查询

SQL数据查询语句是selest语句,可以进行各式各样的查询,以满足用户的查询需求。

普通查询语法格式:

  1. select * from 表名;
  1. select * from user;
  2. //select(当前查询语句)*(user表中的所有字段)
  3. //from(用于指定要查询的表明)user(代表查询user表中的数据)

注意:在我们不需要查询表示表中所有字段时,可以将‘*’替换成想要查询的字段名。

条件查询语法格式:

select * from 表名 where 条件;
//where:用于指定查询语句的条件
select * from user where gold=100;

where关键字注意:

where关键字可以使用比较运算符指定任何条件。
where条件可以是一个也可以是多个,这些条件可以使用逻辑运算符链接

MySQL比较运算符:

比较运算符 说明
= 等于,检测两个值是否相等,如果相等则返回true
<>、!= 不等于,检测两个值是否不相等,如果不相等则返回true
< 小于,检测左边的值是否小于右边的值,如果小于则返回true
<= 小于或等于,检测左边的值是否小于或等于右边的值,如果小于或等于则返回true
> 大于,检测左边的值是否大于右边的值,如果大于则返回true
>= 大于或等于,检测左边的值是否大于或等于右边的值,如果大于或等于则返回true

MySQL逻辑运算符:

逻辑运算符 说明
and 表示多个条件都必须满足
or 表示满足任意条件就可以

例如:

select * from user where username='张三' and password='123456';
//通过 select 语句,查询 user 表中 username 字段值等于 “张三” 并且
//password 字段值等于 “123456” 的记录

PDO执行select语句

query()方法

在php中可以通过PDO的query()方法来实现;
query()方法不i同于exec()方法,它通常用于select语句中,返回值是PSOStatement实例
语法格式

PSOStatement PDO::query(String sql)
<?php
header("content-type:text/html;charset=utf-8");

$url = "mysql:host=127.0.0.1;dbname=cai";
$user = "root";
$pwd = "123";

$conn = new PDO($url,$user,$pwd);
$st = $conn->query("select * from user");
//     通过 PDO 的 query() 方法,执行 select 查询语句,返回值为 PDOStatement 实例

print_r($st);

fetchAll() 方法

可以返回有一个包含结果集中所有行的二维数组

array PDOStatement::fetchAll([int $fetch_style[,mixed $fetch_argument[,array $ctor_args]]])
<?php
header("content-type:text/html;charset=utf-8");

$url = "mysql:host=127.0.0.1;dbname=cai";
$user = "root";
$pwd = "123";

$conn = new PDO($url,$user,$pwd);
$st = $conn->query("select * from user");
$rs = $st->fetchAll();
// 通过 PDOStatement 实例,调用 fetchAll() 方法,获得查询结果集中所有数据。

echo "<pre>";
print_r($rs);
echo "</pre>";

fetch()方法

array PDOStatement::fetch([int $fetch_style[,int $cursor_orientation[,int $cursor_offset]]])

fetch()方法可以从结果集中获取一条指定记录,返回值为一维数组。

<?php
header("content-type:text/html;charset=utf-8");

$url = "mysql:host=127.0.0.1;dbname=cai";
$user = "root";
$pwd = "123";

$conn = new PDO($url,$user,$pwd);
$st = $conn->query("select * from user where username='张三' and password='123456'");
$rs = $st->fetch();
//通过 PDOStatement 实例,调用 fetch() 方法,获得查询结果集中的一条记录。
echo "<pre>";
print_r($rs);
echo "</pre>";

mysqli_insert_id()

mysqli_insert_id() 函数返回最后一个查询中自动生成的 ID(通过 AUTO_INCREMENT 生成)。

例如:
将用户名存储到 $_SESSION[“userName”] ,将数据表自增产生的用户id存储到$_SESSION[“userId”] (提示:通过select语句查找用户id)

$_SESSION["userName"]=$userName;
$_SESSION["userId"]= msyql_insert_id();