Blogger Information
Blog 13
fans 0
comment 2
visits 9475
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
7.24、CURD的基本操作及PDO操作数据表的基本步骤
55555的博客
Original
958 people have browsed it

一、 写出常用的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.jpg


        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;

       显示结果:

    insert2.jpg


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;

        显示结果:

update.jpg


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;

        显示结果:

    delete.jpg


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;

            显示结果:

    select.jpg


查询操作:方法一

<?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;

            显示结果:

    select2.jpg

Correction status:qualified

Teacher's comments:总结的内容来自课件,关键是要记住..多做练习
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post