一、 写出常用的CURD语句的基本语法
一、CURD的基本语法
-----CURD操作,即增删改查
1、新增数据 INSERT
语法:INSERT INTO '表名' ('字段1', '字段2' ...) VALUES ('值1', '值2' ...)
* 优点:通用规范,移植性好,可同时插入多条数据
* 缺点:字段与值的顺序必须一一对应,容易出现拼写错误
MySQL扩展:
INSERT INTO '表名' SET '字段1' = '值1', '字段2' = '值2' ...
* 优点:语法简洁,执行效率是传统语法的3倍以上
* 缺点:只适用于‘MySQL’数据库,移植性差,并且不支持同时插入多条记录
**注意**:语句中的'INTO'可以省略,主键可忽略赋值,如果赋值必须是为‘NULL’
* 列如:INSERT 'category' ('email', 'password') VALUES ('molang@php.cn', '55555');
2、更新数据 UPDATE
语法:UPDATE '表名' SET '字段1' = '值1', '字段2' = '值2' .... WHERE 更新条件
** 不要吴条件更新--where
3、删除数据 DELETE
语法:DELETE FROM '表名' WHERE 删除条件
** 不好省略删除条件-- where
4、查询操作 SELECT
语法:SELECT '字段列表' FROM '表名' WHERE 查询条件
结果集控制:ORDER BY--排序,GROUP BY --分组,LIMIT --限制数据
列如:SELECT * FROM 'user' WHERE id > 5 limit 8
查询语句是最灵活、也是最常用的功能
查询不会影响到表中的数据,返回结果集
二、PDO中操作数据表的基本步骤, 并实例演示insert/update/delete/select
1、公共部分:连接数据库
文件: database.php
<?php return[ 'type' => 'mysql', 'host' => '127.0.0.1', 'dbname' => 'php', 'username' => 'root', 'password' => '' ];
文件: connect.php
<?php
// 连接数据库:PDO
$db = require 'database.php';
// $dsn = '数据库的类型:host=数据库主机名; dbname=默认数据库名称';
$dsn = "{$db['type']}:host={$db['host']};dbname={$db['dbname']}";
$username = $db['username'];
$password = $db['password'];
// Exception异常处理
try{
$pdo = new PDO($dsn,$username,$password);
// var_dump($pdo);
}catch (PDOException $e){
// getMessage() 获取异常消息内容
die('连接失败:'.$e->getMessage());
}
/*
* try{}catch(){}经常用于捕获程序代码内主动抛出的异常错误,而没有主动抛出或者抛出后不捕获、处理的话,会导致程序出现异常。
* Try - 使用异常的函数应该位于 "try" 代码块内。如果没有触发异常,则代码将照常继续执行。但是如果异常被触发,会抛出一个异常。
* Catch - "catch" 代码块会捕获异常,并创建一个包含异常信息的对象。
*/2、insert 新增数据操作:
--------方法一
<?php
// 1、连接数据库
require __DIR__ .'/inc/connect.php';
// 2、创建sql语句的模板
$sql = 'INSERT INTO `category` SET `name` = :name,`alias` = :alias';
// 3、创建sql语句对象:预处理对象
$stmt = $pdo->prepare($sql); // PDO::prepare — 准备要执行的语句,并返回语句对象
//var_dump($stmt); // PDOStatement
// 4、给sql语句模板中的变量绑定值
$name = 'js';
$alias = '***介绍';
// PDOStatement::bindParam — 绑定一个参数到指定的变量名
$stmt->bindParam(':name',$name,PDO::PARAM_STR);
$stmt->bindParam(':alias',$alias,PDO::PARAM_STR);
// 5、执行sql语句
// PDOStatement::execute — 执行一条预处理语句
if($stmt->execute()){
// $stmt->rowCount():返回新增的记录数量
if($stmt->rowCount() > 0){
echo '成功添加' . $stmt->rowCount() . '条数据,主键是:' . $pdo->lastInsertId();
}else{
die('<pre>' . print_r($stmt->errorInfo(),true));
}
}
// 6、关闭连接:可选
$pdo = null; 显示结果:

insert 新增数据操作:
--------方法二
<?php
// 1、连接数据库
require __DIR__ . '/inc/connect.php';
// 2、创建sql语句对象:预处理对象
$stmt = $pdo->prepare('INSERT INTO `category` set `name`= :name,`alias`= :alias');
// 3、执行sql语句
$stmt->execute(['name'=>'about', 'alias'=>'关于我们']);
echo '成功添加' . $stmt->rowCount() .'条记录,主键是:' . $pdo->lastInsertId();
// 4、关闭连接:可选
$pdo = null;显示结果:

3、update 更新数据操作
<?php
// 1、连接数据库
require __DIR__ . '/inc/connect.php';
// 2、创建sql语句
$stmt = $pdo->prepare('UPDATE `category` SET `name`= :name, `alias`= :alias where `id`= :id');
// 3、执行sql语句
$stmt->execute(['name'=>'xy', 'alias'=>'信用资质', 'id'=>5]);
echo '成功的更新' . $stmt->rowCount() . '条记录';
// 4、关闭连接:可选
$pdo = null; 显示结果:

4、删除操作:
<?php
// 删除操作
// 1、连接数据库
require __DIR__ . '/inc/connect.php';
// 2、创建sql语句
$stmt = $pdo->prepare('DELETE FROM `category` where `id`= :id');
// 3、执行sql语句
$stmt->execute(['id'=>6]);
echo '删除了' . $stmt->rowCount() .'条记录';
// 4、关闭连接:可选
$pdo =null; 显示结果:

5、查询操作:方法一
<?php
// 1、连接数据库
require __DIR__ . '/inc/connect.php';
// 2、创建sql语句
$stmt = $pdo->prepare('SELECT * FROM `category` where `id`= :id');
// 3、执行sql语句
$stmt->execute(['id'=>3]);
//var_dump($stmt);
// 遍历输出
/*
while ($stmt->fetch(PDO::FETCH_ASSOC)){
echo '<pre>' . print_r($stmt,true);
}
*/
//echo '<pre>' . print_r($stmt->fetchAll(PDO::FETCH_ASSOC,true));
$cates = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach($cates as $cate){
echo '<pre>' . print_r($cate,true);
}
// 4、关闭连接:可选
$pdo = null; 显示结果:

查询操作:方法一
<?php
// 查询:将结果集中的字段列表与变量绑定
// 1、连接数据库
require __DIR__ . '/inc/connect.php';
// 2、创建sql语句
$stmt = $pdo->prepare('SELECT * FROM `category` where `id`>=:id');
// 3、执行sql语句
$stmt->execute(['id'=>5]); // 获取结果集
$stmt->bindColumn('name',$name);
$stmt->bindColumn('alias',$alias);
// 遍历输出
while($stmt->fetch(PDO::FETCH_ASSOC)){
echo '简称:' . $name . '<br>别名:' . mb_substr($alias,0,3) .'<hr>';
}
// 4、关闭连接:可选
$pdo = null; 显示结果:

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号