Blogger Information
Blog 40
fans 0
comment 0
visits 27768
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
数据库操作:增删改查和pdo
初见
Original
992 people have browsed it

sql增删改查

  • 插入数据 INSERT INTO
  1. (1)mysql命令,可以是大写,也可以是小写。但是我们程序员,默认命令是大写,其他的字段,数据,是小写
  2. (2)表名 和 字段名,用 ``符号 包裹。 ·· ``
  3. (3)值,是字符串的话,用 '' 单引号
  1. // 第一种
  2. INSERT INTO `user` VALUES (4, '小五', 25, '2021-10-15 21:54:42', 0);
  3. // 第二种
  4. INSERT INTO `user` ( `id` ) VALUES ( 5 )
  5. // 第三种
  6. INSERT INTO `user` SET `name` = '小六'
  • 查询 SELECT
  1. // 查询是不改变数据库里的数据的, 插入、修改、删除,都是要修改数据库中的数据。
  2. // 查询可以带条件
  3. SELECT * FROM `user`
  • 修改 UPDATE
  1. // 一定要增加条件,如果不增加条件,它会把表里的数据,全部修改
  2. // WHERE 命令,就是增加条件的
  3. UPDATE `user` SET `name` = '小七' WHERE `id` = 5
  • 删除 DELETE
  1. // 删除和更新是危险性操作,如果我们不增加条件WHERE,它会把所有的数据都删了。
  2. DELETE FROM `user` WHERE `id` = 6
  • 运算符:= <> > >= < <=
  1. SELECT * FROM `user` WHERE `id` < 5
  • 逻辑运算符 AND OR XOR
  1. SELECT * FROM `user` WHERE `id` < 5 OR `id` > 20
  • not ! 逻辑非
  1. SELECT * FROM `user` WHERE `name` IS NOT NULL
  • BETWEEN 相当于 >=10 AND <= 20
  1. SELECT * FROM `user` WHERE `id` BETWEEN 10 AND 20
  2. SELECT * FROM `user` WHERE `id` NOT BETWEEN 10 AND 20
  • LIKE 模糊查询
  1. SELECT * FROM `user` WHERE `account` LIKE '%abc%'
  • 返回值
  1. // * 会把所有的返回值 都返回
  2. SELECT `name`,`phone`,`age` FROM `user` WHERE `account` LIKE '%abc%'
  • 分页 LIMIT
  1. // 数据库的条件,是从0开始的
  2. SELECT `name`,`phone`,`age` FROM `user` WHERE `account` LIKE '%o%' LIMIT 0,10
  • 排序 ORDER BY
  1. // 默认是正序 从小到大
  2. SELECT `id`,`name`,`phone`,`age` FROM `user` WHERE `account` LIKE '%o%' ORDER BY `id` LIMIT 0,10
  3. // DESC是倒序,从大到小
  4. SELECT `id`,`name`,`phone`,`age` FROM `user` WHERE `account` LIKE '%o%' ORDER BY `id` DESC LIMIT 0,10

PDO

  • php获取mysql数据
  1. // 1.连接数据库
  2. $pdo = new PDO('mysql:host=127.0.0.1;dbname=inbox','root','root');
  3. // 2.预处理sql语句
  4. $pre = $pdo -> prepare('SELECT * FROM `user`');
  5. // 3.执行sql语句
  6. $exe = $pre -> execute();
  7. // 4.返回结果集
  8. $data = $pre -> fetchAll();
  9. print_r($data);

php获取mysql数据

  • 防止连接出错
  1. try{
  2. $pdo = new PDO('mysql:host=127.0.0.1;dbname=inbox','root','root');
  3. // 链接数据库
  4. }catch(PDOException $e){
  5. // 抛出错误
  6. echo '数据库连接失败' . $e->getMessage();
  7. }
  • fetch() 查询出来是一维数据
  1. try{
  2. $pdo = new PDO('mysql:host=127.0.0.1;dbname=inbox','root','root');
  3. $pre = $pdo -> prepare('SELECT * FROM `user` WHERE `id`=1');
  4. $exe = $pre -> execute();
  5. $data = $pre -> fetch();
  6. print_r($data);
  7. }catch(PDOException $e){
  8. // 抛出错误,错误是你可以定义的
  9. echo '数据库连接失败' . $e->getMessage();
  10. }

fetch

  • 添加数据
  1. try{
  2. $pdo = new PDO('mysql:host=127.0.0.1;dbname=inbox','root','root');
  3. }catch(PDOException $e){
  4. // 抛出错误,错误是你可以定义的
  5. echo '数据库连接失败' . $e->getMessage();
  6. }
  7. $pre = $pdo -> prepare("INSERT INTO `user` VALUES (null, '小八', 35, '2021-10-15 21:54:42', 0)");
  8. $exe = $pre -> execute();
  9. if(!$exe){
  10. // 错误信息打印出来
  11. print_r($pre->errorInfo());
  12. }
  13. print_r($exe);

返回数据1, 数据添加成功

  • PDO绑定参数
  1. try{
  2. $pdo = new PDO('mysql:host=127.0.0.1;dbname=inbox','root','root');
  3. }catch(PDOException $e){
  4. // 抛出错误,错误是你可以定义的
  5. echo '数据库连接失败' . $e->getMessage();
  6. }
  7. //pdo只要你给个占位符,在下面的代码中,传值给站位符
  8. $sql = 'INSERT INTO `user` SET `name`=:name, `age`=:age,`ctime`=:ctime,`utime`=:utime';
  9. $pre = $pdo -> prepare($sql);
  10. //bindParam 参数绑定
  11. $pre -> bindParam ('name',$name, PDO::PARAM_STR);
  12. $pre -> bindParam ('age',$age, PDO::PARAM_INT);
  13. $pre -> bindParam ('ctime',$ctime, PDO::PARAM_STR);
  14. $pre -> bindParam ('utime',$utime, PDO::PARAM_INT);
  15. $name = '小九';
  16. $age = 31;
  17. $ctime = date('Y-m-d H:i:s',time());
  18. $utime=0;
  19. $exe = $pre -> execute();
  20. if(!$exe){
  21. // 错误信息打印出来
  22. print_r($pre->errorInfo());
  23. }else{
  24. // rowCount 获取是否成功。影响数量
  25. echo $pre -> rowCount();
  26. echo '<hr>';
  27. // lastInsertId 获取这次自增的ID,类是用连接的类$pdo
  28. echo $pdo -> lastInsertId();
  29. }

占位

  • 用?号占位
  1. try{
  2. $pdo = new PDO('mysql:host=127.0.0.1;dbname=inbox','root','root');
  3. }catch(PDOException $e){
  4. // 抛出错误,错误是你可以定义的
  5. echo '数据库连接失败' . $e->getMessage();
  6. }
  7. $sql = 'INSERT INTO `user` SET `name`=?, `age`=?,`ctime`=?,`utime`=?';
  8. $pre = $pdo -> prepare($sql);
  9. //bindParam 参数绑定
  10. $pre -> bindParam (1,$name, PDO::PARAM_STR);
  11. $pre -> bindParam (2,$age, PDO::PARAM_INT);
  12. $pre -> bindParam (3,$ctime, PDO::PARAM_STR);
  13. $pre -> bindParam (4,$utime, PDO::PARAM_INT);
  14. $name = '小十';
  15. $age = 31;
  16. $ctime = date('Y-m-d H:i:s',time());
  17. $utime=0;
  18. $exe = $pre -> execute();
  19. if(!$exe){
  20. // 错误信息打印出来
  21. print_r($pre->errorInfo());
  22. }else{
  23. // rowCount 获取是否成功。影响数量
  24. echo $pre -> rowCount();
  25. echo '<hr>';
  26. // lastInsertId 获取这次自增的ID,类是用连接的类$pdo
  27. echo $pdo -> lastInsertId();
  28. }

用?号占位

  • 明文占位
  1. try{
  2. $pdo = new PDO('mysql:host=127.0.0.1;dbname=inbox','root','root');
  3. }catch(PDOException $e){
  4. // 抛出错误,错误是你可以定义的
  5. echo '数据库连接失败' . $e->getMessage();
  6. }
  7. $sql = 'INSERT INTO `user` SET `name`=:name, `age`=:age,`ctime`=:ctime,`utime`=:utime';
  8. $pre = $pdo -> prepare($sql);
  9. $exe = $pre -> execute([
  10. ':name' => '十一郎',
  11. ':age' => 21,
  12. ':ctime' => date('Y-m-d H:i:s',time()),
  13. ':utime' => 0
  14. ]);
  15. if(!$exe){
  16. // 错误信息打印出来
  17. print_r($pre->errorInfo());
  18. }else{
  19. // rowCount 获取是否成功。影响数量
  20. echo $pre -> rowCount();
  21. echo '<hr>';
  22. // lastInsertId 获取这次自增的ID,类是用连接的类$pdo
  23. echo $pdo -> lastInsertId();
  24. }

明文

商城项目 建表

  • 用户表

用户表

  • 商品表

商品表

  • 订单表

订单表

Correcting teacher:PHPzPHPz

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