php 中curd表达啥,CURD语句的基本语法和PDO中操作数据表的基本步骤实例演示增删改查命令 2019年07月24日 23时10分...
一、常用的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分...相关推荐
- php 计算每年春节日期,动态显示2019年农历春节倒计时—2019年1月21日23时45分
动态显示2019年农历春节倒计时-2019年1月21日23时45分 2019年02月21日 20:15:24阅读数:489 实例 实例 html> 春节倒计时 .HotDate{width: 1 ...
- php元素浮动会产生哪些影响,元素浮动的影响与三列布局的实现原理——2019年9月4日22时30分...
一.元素浮动造成父元素高度折叠同一个块元素中,子级元素浮动,会造成附骥元素的高度折叠,包裹不住子级元素. 网页实际效果展示 消除子元素浮动的影响实例 html> 清除浮动的影响 .box1 { ...
- xx年xx月xx日xx时xx分xx秒——if版本
if版本,貌似差不多,但是比switch要简洁点---都要那么多次的判断--- /* * * 编写一个函数,要求输入年月日时分秒,输出该年月日时分秒的下一秒. * 注意考虑润年. * 如输入2004年 ...
- xx年xx月xx日xx时xx分xx秒——版本1
/* * * 编写一个函数,要求输入年月日时分秒,输出该年月日时分秒的下一秒. * 注意考虑润年. * 如输入2004年12月31日23时59分58秒,则输出2004年12月31日59时59分59秒. ...
- python 判断该地址 文件创建时间2020年10月14日14时25分32秒 文件最后一次访问时间 文件最后一次修改时间
#1.判断该地址 #1.文件名 #2.文件路径 #3.文件扩展名 #4.文件创建时间2020年10月14日14时25分32秒 #5.文件最后一次访问时间 #6.文件最后一次修改时间 #7.文件的大小( ...
- 解决python时间戳最大为3001年1月1日15时59分59秒的问题
自己写个python函数解决python时间戳最大为3001年1月1日15时59分59秒的问题 今天碰到一个情况,在oracle查数,某个数的值是个时间值,而且是9999年12月31日,然后pytho ...
- js计算两个时间相差的年、月、日、时、分、秒。
/* 时间格式:2016-8-31 10:35:00 或 2016/8/31 10:35:00 */ var dateObj=dayCha('2016-8-17','2019-6-30') //执行方 ...
- 守护永恒服务器维护,2月24日5点-10点游戏停服维护公告
亲爱的冒险者, 我们将于2月24日5点-10点进行一次停服维护,此次维护将更新部分游戏内容并修复一些问题.维护期间无法进入游戏,敬请谅解. 维护结束后,我们将向全体冒险者发放5个「冒险家硬币」.3个「 ...
- Python 日期时间格式化输出,带年、月、日、时、分、秒
使用time模块,输出格式化日期时间字符串: import time date_str = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) p ...
最新文章
- 关于C语言中的预处理器的简单笔记
- mysql 主从单库单表同步 binlog-do-db replicate-do-db
- 项目G2SVG.text转换
- dedecms在linux主机下的一个奇怪错误
- win7下装ubuntu14.04双系统
- HTML学习笔记:设置文本字体
- 基于JAVA+SpringMVC+Mybatis+MYSQL的民宿客栈系统
- Spring依赖注入的理解
- Linux虚拟机中vim编辑器常用命令介绍(二)
- 年末总结 | 音视频开发进阶 2021 干货合集
- 淘晶驰串口屏常见问题及解决方法
- pandas安装报错
- 百度网盘客户端终于解除限速啦
- 【渝粤题库】广东开放大学 JavaScript 形成性考核
- 关于网易2018实习生招聘的“道路布灯”问题
- 磁盘检测SMART工具
- 硬件设计—数字电路常用设计准则
- 乐优商城笔记-商城系统功能编写
- 125KHz唤醒功能2.4GHz单发射芯片-Si24R2H
- Unity 之刚体,碰撞体,触碰器