一、常用的CUR

最常用的就是: `CURD` 增删改查   它代表创建(Create)、更新(Update)、读取(Read)和删除(Delete)操作。

新增操作语法

* SQL规范: `INSERT INTO `数据表` (`字段1`,`字段2`...) VALUES ('值1','值2'...)`

* 优点: 通用规范, 移植性好, 可同时插入多条记录

* 缺点: 字段与值的顺序必须一一对应, 容易出现拼写错误

* MySQL扩展: `INSERT INTO `数据表` SET `字段1`='值1', `字段2`='值2'... `

* 优点: 语法简洁优雅, 执行效率是传统语法的3倍以上

* 缺点: 只适用于`MySQL`数据库, 移植性差,并且不支持同时插入多条记录

> Tips: 语句中的 `INTO` 可以省略, 主键可忽略赋值,如果赋值必须是为`NULL`

* 举例: `INSERT `category` (`email`,`password`) VALUES ('admin@php.cn','123');`

以上三种方式,都使用过,均可使用。

删除操作语法

* `DELETE FROM `数据表`  WHERE  删除条件`

* 与更新一样, 不能省略删除条件

更新操作语法

* `UPDATE `数据表` SET `字段1`='值1', `字段2`='值2'... WHERE  更新条件`

* 不要无条件更新

> `INSERT / UPDATE / DELETE`: 都是写操作, 会影响到当前数据表中的记录内容,返回受影响的记录数量

查询操作语法

* `SELECT `字段列表` FROM `数据表名` WHERE 查询条件`

* 结果集控制: `ORDER BY`排序, `GROUP BY`分组, `LIMIT`限制数量...

* 举例: `SELECT * FROM `user` WHERE `id` > 10 LIMIT 5`

* 查询语句是最灵活,也是最常用的功能, 日常80%以上操作与查询相关

* 查询不会影响到表中数据, 返回结果集

二、PDO中操作数据表的基本步骤

PHP数据对象(PDO),扩展为PHP访问数据库定义了一个轻量级的一致借口

PDO提供了一个数据访问抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数来查询和获取数据

PDO操作步骤分三步:

第一步:连接数据库 :        $pdo = new PDO($dsn,$user,$pass)

第二步:执行SQL语句:      INSERT/DELETE/UPDATE/SELECT

第三步:关闭连接【可选】:  $pdo = null; //unset($pdo); 等价

三、实例演示insert/update/delete/select用法

操作前,先配置数据库

database.php<?php

return [

'type' => 'mysql',

'host' => 'localhost',

'dbname' => 'php',

'username' =>'root',

'password' => 'root'

];

connect.php<?php

//引入连接数据文件

$db = require 'database.php';

//配置数据源DSN信息

$dsn = "{$db['type']}:host={$db['host']};dbname={$db['dbname']}";

//连接数据库

try{

$pdo = new PDO($dsn,$db['username'],$db['password']);

//    echo "success";

}catch(PDOException $e){

die('loser'.$e->getMessage());

}

操作案例如下:

delete.php代码<?php

// 删除记录 功能:删除cate_id等于8的记录

//1.连接数据库

require __DIR__.'/inc/connect.php';

//2.创建预处理对象

$stmt = $pdo->prepare('DELETE FROM `category` WHERE `cate_id`=:cate_id');

//3.执行SQL语句,cate_id等于8的记录

$stmt->execute(['cate_id'=>8]);

echo '成功删除'.$stmt->rowCount().'条记录';

4.关闭连接

$pdo = null;

本地运行截图:

update.php<?php

// 更新记录 功能:将cate_id 等于6的name值改为xjj,alias值改为小姐姐

//基本语法

//* `UPDATE `数据表` SET `字段1`='值1', `字段2`='值2'... WHERE  更新条件`

//* 不要无条件更新

//1.连接数据库

require __DIR__.'/inc/connect.php';

//2.创建预处理对象

$stmt = $pdo->prepare('UPDATE `category` SET `name`= :name,`alias`= :alias WHERE `cate_id`=:cate_id');

//3.执行SQL语句,更新cate_id 等于6的name值改为xjj,alias值改为小姐姐

$stmt->execute(['name' => 'xjj','alias' => '小姐姐','cate_id'=>6]);

echo '成功更新'.$stmt->rowCount().'条记录';

4.关闭连接

$pdo = null;//unset($pdo);等价

本地运行截图:

insert.php<?php

//新增记录 功能:增加一条记录,name为yhhp,alias为用户好评

//1.连接数据库

require __DIR__.'/inc/connect.php';

//2.创建预处理对象

$stmt = $pdo->prepare('INSERT INTO `category` SET `name`= :name,`alias`= :alias');

//3.执行SQL语句

$stmt->execute(['name' => 'yhhp','alias' => '用户好评']);

echo '成功添加'.$stmt->rowCount().'条记录,该记录的主键id是:'.$pdo->lastInsertId();

4.关闭连接

$pdo = null;//unset($pdo);等价

本地运行截图:

select.php<?php

//查询操作  功能:查询cate_id等于2的所有数据

//查询操作基本语法

//* `SELECT `字段列表` FROM `数据表名` WHERE 查询条件`

//* 结果集控制: `ORDER BY`排序, `GROUP BY`分组, `LIMIT`限制数量...

//* 举例: `SELECT * FROM `user` WHERE `id` > 10 LIMIT 5`

//* 查询语句是最灵活,也是最常用的功能, 日常80%以上操作与查询相关

//* 查询不会影响到表中数据, 返回结果集

//1.连接数据库

require __DIR__.'/inc/connect.php';

//2.创建预处理对象

$stmt = $pdo->prepare('SELECT * FROM `movies`  WHERE `cate_id`=:cate_id');

//3.执行SQL语句

$stmt->execute(['cate_id'=>2]);

//遍历

//查询方法1,追条方式获取

//while()

//PDO::FETCH_ASSOC:获取模式,功能:只获关联部分数据,没有取索引部分数据

while ($movie =$stmt->fetch(PDO::FETCH_ASSOC) )

{

echo '

'.print_r($movie,true);

}

//查询方法2,多条方式获取,耗内存

//foreach()

//$movies = $stmt->fetchAll(PDO::FETCH_ASSOC);

//foreach ($movies as $movie){

//    echo '

'.print_r($movie,true);

//}

4.关闭连接

//$pdo = null;//unset($pdo);等价

本地运行截图:

总结

* 最常用的就是: `CURD` 增删改查

* `SQL`语句编写规范

* 关键字全部大写: `SELECT / INSERT / DELETE / UPDATE ...`

* 表名与字段名使用反引号定界符: 表名`user`, 字段名`email`

* 具体值,有类型与长度等属性

php 中curd表达啥,CURD语句的基本语法和PDO中操作数据表的基本步骤实例演示增删改查命令 2019年07月24日 23时10分...相关推荐

  1. php 计算每年春节日期,动态显示2019年农历春节倒计时—2019年1月21日23时45分

    动态显示2019年农历春节倒计时-2019年1月21日23时45分 2019年02月21日 20:15:24阅读数:489 实例 实例 html> 春节倒计时 .HotDate{width: 1 ...

  2. php元素浮动会产生哪些影响,元素浮动的影响与三列布局的实现原理——2019年9月4日22时30分...

    一.元素浮动造成父元素高度折叠同一个块元素中,子级元素浮动,会造成附骥元素的高度折叠,包裹不住子级元素. 网页实际效果展示 消除子元素浮动的影响实例 html> 清除浮动的影响 .box1 { ...

  3. xx年xx月xx日xx时xx分xx秒——if版本

    if版本,貌似差不多,但是比switch要简洁点---都要那么多次的判断--- /* * * 编写一个函数,要求输入年月日时分秒,输出该年月日时分秒的下一秒. * 注意考虑润年. * 如输入2004年 ...

  4. xx年xx月xx日xx时xx分xx秒——版本1

    /* * * 编写一个函数,要求输入年月日时分秒,输出该年月日时分秒的下一秒. * 注意考虑润年. * 如输入2004年12月31日23时59分58秒,则输出2004年12月31日59时59分59秒. ...

  5. python 判断该地址 文件创建时间2020年10月14日14时25分32秒 文件最后一次访问时间 文件最后一次修改时间

    #1.判断该地址 #1.文件名 #2.文件路径 #3.文件扩展名 #4.文件创建时间2020年10月14日14时25分32秒 #5.文件最后一次访问时间 #6.文件最后一次修改时间 #7.文件的大小( ...

  6. 解决python时间戳最大为3001年1月1日15时59分59秒的问题

    自己写个python函数解决python时间戳最大为3001年1月1日15时59分59秒的问题 今天碰到一个情况,在oracle查数,某个数的值是个时间值,而且是9999年12月31日,然后pytho ...

  7. js计算两个时间相差的年、月、日、时、分、秒。

    /* 时间格式:2016-8-31 10:35:00 或 2016/8/31 10:35:00 */ var dateObj=dayCha('2016-8-17','2019-6-30') //执行方 ...

  8. 守护永恒服务器维护,2月24日5点-10点游戏停服维护公告

    亲爱的冒险者, 我们将于2月24日5点-10点进行一次停服维护,此次维护将更新部分游戏内容并修复一些问题.维护期间无法进入游戏,敬请谅解. 维护结束后,我们将向全体冒险者发放5个「冒险家硬币」.3个「 ...

  9. Python 日期时间格式化输出,带年、月、日、时、分、秒

    使用time模块,输出格式化日期时间字符串: import time date_str = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) p ...

最新文章

  1. 关于C语言中的预处理器的简单笔记
  2. mysql 主从单库单表同步 binlog-do-db replicate-do-db
  3. 项目G2SVG.text转换
  4. dedecms在linux主机下的一个奇怪错误
  5. win7下装ubuntu14.04双系统
  6. HTML学习笔记:设置文本字体
  7. 基于JAVA+SpringMVC+Mybatis+MYSQL的民宿客栈系统
  8. Spring依赖注入的理解
  9. Linux虚拟机中vim编辑器常用命令介绍(二)
  10. 年末总结 | 音视频开发进阶 2021 干货合集
  11. 淘晶驰串口屏常见问题及解决方法
  12. pandas安装报错
  13. 百度网盘客户端终于解除限速啦
  14. 【渝粤题库】广东开放大学 JavaScript 形成性考核
  15. 关于网易2018实习生招聘的“道路布灯”问题
  16. 磁盘检测SMART工具
  17. 硬件设计—数字电路常用设计准则
  18. 乐优商城笔记-商城系统功能编写
  19. 125KHz唤醒功能2.4GHz单发射芯片-Si24R2H
  20. Unity 之刚体,碰撞体,触碰器

热门文章

  1. H3C 2126 限速后的问题
  2. (二)spring cloud微服务分布式云架构-整合企业架构的技术点
  3. Spring Boot入门(11)实现文件下载功能
  4. Eclipse+Maven创建webapp项目
  5. Mysql 内部结构 / Replication | 层次结构
  6. 【Unity】2.11 了解游戏有哪些分类对你开阔思路有好处
  7. 当鼠标移动到图片上会显示 不同的背景
  8. 打开逻辑STANDBY写入功能
  9. access手工注入笔记
  10. SQL结构化查询语言中的LIKE语句