博客列表 >thinkPHP 数据库操作

thinkPHP 数据库操作

吴长清
吴长清原创
2022年08月29日 11:02:27657浏览

使用composer安装thinkPHP

  • 进入工作目录 输入指令
    composer create-project topthink/think tpStudy

  • 安装成功

  • 网站站点配置 必须指定public目录

数据库操作

  • 创建sql表
  1. DROP TABLE IF EXISTS `user`;
  2. CREATE TABLE `user` (
  3. `id` int(11) NOT NULL AUTO_INCREMENT,
  4. `name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '姓名',
  5. `password` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '密码',
  6. `sex` int(1) NOT NULL DEFAULT 1 COMMENT '性别:默认1男 0女',
  7. `phone` bigint(11) NOT NULL COMMENT '手机',
  8. `email` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '邮箱',
  9. `address` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '地址',
  10. `status` int(1) NOT NULL DEFAULT 0 COMMENT '状态:伪删除 默认0未删除 1已删除',
  11. `add_time` int(12) NOT NULL COMMENT '注册时间',
  12. `last_time` int(12) NULL DEFAULT NULL COMMENT '最后登录时间',
  13. PRIMARY KEY (`id`) USING BTREE
  14. ) ENGINE = MyISAM AUTO_INCREMENT = 7 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
  15. SET FOREIGN_KEY_CHECKS = 1;

1.添加数据

  1. // 1.添加数据
  2. // 1.1 添加一条数据 insert()
  3. $data = [
  4. 'name' => '米粒',
  5. 'password' => md5(123456),
  6. 'sex' => 0, 'phone' => 18822229999,
  7. 'email' => 'mili@php.cn',
  8. 'address' => '贵州省贵阳市乌当区',
  9. 'add_time' => time()
  10. ];
  11. $res = Db::table('user')->insert($data);
  12. print_r($res);
  13. // 1.2 添加多条数据 insertAll()
  14. $data = [
  15. [
  16. 'name' => '暖树',
  17. 'password' => md5(123456),
  18. 'sex' => 0, 'phone' => 18833339999,
  19. 'email' => 'nuanshu@php.cn',
  20. 'address' => '贵州省贵阳市花溪区',
  21. 'add_time' => time()
  22. ],
  23. [
  24. 'name' => '景清',
  25. 'password' => md5(123456),
  26. 'sex' => 1, 'phone' => 18833339999,
  27. 'email' => 'jingqing@php.cn',
  28. 'address' => '贵州省贵阳市乌当区',
  29. 'add_time' => time()
  30. ],
  31. [
  32. 'name' => '左右',
  33. 'password' => md5(123456),
  34. 'sex' => 1, 'phone' => 18844449999,
  35. 'email' => 'zuoyou@php.cn',
  36. 'address' => '贵州省贵阳市南明区',
  37. 'add_time' => time()
  38. ],
  39. [
  40. 'name' => '于心',
  41. 'password' => md5(123456),
  42. 'sex' => 0, 'phone' => 18855559999,
  43. 'email' => 'yuxin@php.cn',
  44. 'address' => '贵州省贵阳市南明区',
  45. 'add_time' => time()
  46. ],
  47. ];
  48. $res = Db::table('user')->insertAll($data);
  49. print_r($res);

2.更新数据

  1. // 2.更新数据
  2. $data = ['name' => '于心不忍', 'password' => md5(654321)];
  3. $res = Db::table('user')->where('id', 3)->update($data);
  4. print_r($res);

3.删除数据

  1. // 3.删除数据
  2. // 3.1 根据主键删除一条数据
  3. Db::table('user')->delete(1);
  4. // 3.2 根据主键删除多条数据
  5. Db::table('user')->delete([1, 2, 3]);
  6. // 3.3 条件删除
  7. Db::table('user')->where('id', 1)->delete();
  8. // 3.4 删除id>2的所有数据
  9. Db::table('user')->where('id', '>', 2)->delete();

4.查询数据

  1. // 4.查询数据
  2. // 4.1 查询单条数据 >find()
  3. $res = Db::table('user')->where('id', 1)->find();
  4. print_r($res);
  5. // 4.2 查询多条数据 select 查询的结果集是一个对象 根据使用情况可以使用toArray()转为数组对其操作
  6. $res = Db::table('user')->where('status', 0)->select()->toArray();
  7. print_r($res);
  8. // 4.3 查询某个字段的值 value()
  9. $res = Db::table('user')->where('id', 2)->value('name');
  10. print_r($res);
  11. // 4.4 查询某一列的值 column():第一个参数作为关联数组的值 第二个参数作为关联数组的键
  12. $res = Db::table('user')->column('name', 'id');
  13. print_r($res);

5.原生sql

  1. // 5.支持原生sql语句
  2. $res = Db::query("select * from user LIMIT 2");
  3. print_r($res);
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议