当前位置:网站首页>(3) Thinkphp6 database
(3) Thinkphp6 database
2022-08-02 03:54:00 【stealth rookie】
目录
要使用Db类必须使用门面方式(think\facade\Db)调用
Unified entry for database operations:Db::
数据库管理软件:phpMyAdmin(Web database management),Navicat for MySql(WindowsSoftware database management)
以下使用的是phpMyAdmin
一.创建数据库
1.管理员表
CREATE TABLE `shop_admin`(
`uid` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`account` varchar(50) NOT NULL COMMENT '账户',
`password`char(32) NOT NULL COMMENT '密码',
`name` varchar(50)NOT NULL COMMENT '姓名',
`status` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT '状态 1开启 2关闭',
`add_time` int(10) unsigned NOT NULL COMMENT '添加时间',
PRIMARY KEY (`uid`)
)ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='后台管理员';
----------------------------------------------------------------------------------
INSERT INTO `shop_admin` VALUES(1,'admin','e10adc3949ba59abbe56e057f20f883e','小鱼',1,1605163389);
2.商品分类表
DROP TABLE IF EXISTS `shop_cat`;
CREATE TABLE `shop_cat`(
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
`name` varchar(50) NOT NULL COMMENT'分类名',
`status` tinyint(1) unsigned NOT NULL DEFAULT '1'COMMENT'状态1开启2关闭',
PRIMARY KEY(`id`)
)ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COMMENT='分类表';
INSERT INTO `shop_cat` VALUES(1,'女装',1);
INSERT INTO `shop_cat` VALUES(2,'男装',1);
INSERT INTO `shop_cat` VALUES(3,'童装',1);
INSERT INTO `shop_cat` VALUES(4,'女鞋',1);
INSERT INTO `shop_cat` VALUES(5,'男鞋',1);
INSERT INTO `shop_cat` VALUE(6,'母婴',1);
3.商品表
CREATE TABLE `shop_goods`(
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT'商品ID',
`cat` int(10) unsigned NOT NULL DEFAULT '1'COMMENT'分类ID',
`title` varchar(200) NOT NULL COMMENT'商品标题',
`price` double(10,2) unsigned NOT NULL COMMENT'价格',
`discount` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '折扣',
`stock` int(10) unsigned NOT NULL DEFAULT '1'COMMENT '库存',
`status` tinyint(1) unsigned NOT NULL DEFAULT '1' COMMENT'状态 1开启 2关闭 3删除',
`add_time` int(10) unsigned NOT NULL COMMENT'添加时间',
PRIMARY KEY(`id`)
)ENGINE=MyISAM AUTO_INCREMENT=20 DEFAULT CHARSET=utf8mb4 COMMENT='商品表';
INSERT INTO`shop_goods` VALUES(1,1,'lolitaskirt original coat cape lolita skirt winter',999.99,0,1100,1,1605163489);
INSERT INTO`shop_goods` VALUES(2,1,'Sakura LoveLolitaOriginal mini skirt',499.00,0,100,1,1605163589);
4.菜单表
CREATE TABLE `shop_menu`(
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
`title` varchar(50) NOT NULL COMMENT'菜单名',
`fid` int(10) NOT NULL COMMENT'父ID',
`status` tinyint(1) unsigned NOT NULL DEFAULT '1'COMMENT'状态 1开启2关闭',
PRIMARY KEY(`id`)
)ENGINE=MyISAM AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COMMENT='左侧菜单表';
INSERT INTO`shop_menu` VALUES(1,'商品管理',0,1);
INSERT INTO`shop_menu` VALUES(2,'商品列表',1,1);
INSERT INTO`shop_menu` VALUES(3,'商品分类',1,1);
INSERT INTO`shop_menu` VALUES(4,'用户管理',0,1);
INSERT INTO `shop_menu` VALUES(5,'用户列表',4,1);
INSERT INTO`shop_menu` VALUES(6,'购物车',4,1);
INSERT INTO`shop_menu` VALUES(7,'用户地址',4,1);
INSERT INTO`shop_menu` VALUES(8,'订单管理',4,1);
INSERT INTO`shop_menu` VALUES(9,'后台管理',0,1);
INSERT INTO`shop_menu` VALUES(10,'管理员列表',9,1);
INSERT INTO`shop_menu` VALUES(11,'个人中心',9,1);
INSERT INTO`shop_menu` VALUES (12,'左侧菜单',9, 1);
二.连接数据库
如果应用需要使用数据库,必须配置数据库连接信息,There are many ways to define the configuration file of the database.
Under the global or application configuration directorydetabase.php中(Hereafter collectively referred to as the database configuration file)Configure the following database parameters
三.执行原生Mysql
四.框架内-查询操作
1.单条数据查询 find
find 方法查询结果不存在,返回null,否则返回结果数组
public function index(){
$find =Db::table('shop_goods')->find(2);
print_r($find);
}
2.多条数据查询 select
select The method query result is a two-dimensional array,如果结果不存在,返回空数组
public function index(){
$select =Db::table('shop_goods')->select();
print_r($select);
}
3.查询某个字段的值value
value 方法查询结果不存在,返回null
public function index(){
$value =Db::table('shop_goods')->value('title');
print_r($value);
}
4.查询某一列的值column
column 方法查询结果不存在,返回空数组
public function index(){
$value =Db::table('shop_goods')->column('title','id');
dump($value)
}
--------------------------------------------------------------
public function index(){
$column =Db::table('shop_goods')->column('title');
print_r($column);
$column =Db::table('shop_goods')->column('title','id');
print_r($column);
}
五.添加
1.添加一条数据insert
insert 方法添加数据成功返回添加成功的条数,Usually returns1
public function index(){
$data=['cat'=>'1','title'=>'T恤','price'=>'90.00','add_time'=>'1605163489']
$insert=Db::table(shop_goods)->insert($data);
print_r($insert);
}
2.添加一条数据insertGetId
insertGetId 方法添加数据成功返回添加数据的自增主键
public function index(){
$data=['cat'=>'1','title'=>'123T恤','price'=>'90.00','add_time'=>'1605163489']
$insert=Db::table(shop_goods)->insertGetId($data);
print_r($insert);
}
3.添加多条数据insertAll
insertAll 方法添加数据成功返回添加成功的条数
public function index(){
$data=[
['cat'=>'2','title'=>'T恤','price'=>'90.00','add_time'=>'1605163489']'
['cat'=>'1','title'=>'T恤','price'=>'190.00','add_time'=>'1605163489']'
['cat'=>'2','title'=>'T恤','price'=>'239.00','add_time'=>'1605163489']
$insert=Db::table(shop_goods)->insertAll($data);
print_r($insert);
}
六.修改
1.修改数据update
updateThe method returns the number of pieces of image data,没修改任何数据返回0
public function index(){
$data=['price'=>'68'];
$update=Db::table('shop_goods')->where('id',8)->update($data);
print_r($update);
}
2.自增inc
inc The method increments the value of a field
public function index(){
$inc=Db::table('shop_goods')->where('id',5)->inc('stock')->update();
print_r($inc);
//字段的值增加5
$inc=Db::table('shop_goods')->where('id',6)->inc('stock',5)->update();
print_r($inc);
}
3.自减dec
dec The method decrements the value of a field
public function index(){
$dec=Db::table('shop_goods')->where('id',7)->dec('stock')->update();
print_r($dec);
//The value of the field is subtracted5
$dec=Db::table('shop_goods')->where('id',8)->dec('stock',5)->update();
print_r($dec);
}
七.删除
1.删除数据delete
delete 方法返回影响数据的条数,没有删除返回0
public function index(){
//根据条件删除数据
$delete=Db::table('shop_goods')->where('id',1)->delete();
print_r($delete);
//删除主键为2的数据
$delete=Db::table('shop_goods')->delete(2);
print_r($delete);
//删除整表数据
$delete=Db::table('shop_goods')->delete(true);
print_r($delete);
}
2.软删除useSoftDelete
业务数据不建议真实删除数据,TP系统提供了软删除机制
public function index(){
#软删除
$delete=Db::table('shop_goods')->useSoftDelete('status',3)->delete();
print_r($delete);
}
边栏推荐
- 每日五道面试题总结 22/7/26
- uniapp | 使用npm update更新后编译报错问题
- Small program van-cell line wrapping can be left-aligned
- [mikehaertl/php-shellcommand]一个用于调用外部命令操作的库
- 数组的高级操作
- The Error in the render: "TypeError: always read the properties of null '0' (reading)" Error solution
- Customer Rating Control
- Various ways of AES encryption
- [symfony/mailer]一个优雅易用的发送邮件类库
- Advanced gradient of skeleton effect, suitable for waiting for pictures
猜你喜欢
随机推荐
QR code generation API interface, which can be directly connected as an A tag
meime module
PHP8.2中字符串变量解析的新用法
Advanced gradient of skeleton effect, suitable for waiting for pictures
Guangzhou Huawei Interview Summary
你的本地创建的项目库还在手动创建远端代码仓库再推送吗,该用它了
The Error in the render: "TypeError: always read the properties of null '0' (reading)" Error solution
PHP基金会三月新闻公告发布
解决 Zlibrary 卡死/找不到域名/达到限额问题,Zlibrary最新地址
js 原型和原型链
Relative and absolute paths
URL URL
(3)Thinkphp6数据库
多线程(实现多线程、线程同步、生产者消费者)
ES6迭代器解释举例
一分种一起来了解Vite的基础
JS对象, 函数和作用域
如何计算地球上两点的距离(附公式推导)
1.6一些今日学习
逍遥多开模拟器ADB驱动连接