当前位置:网站首页>(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);
}边栏推荐
猜你喜欢
随机推荐
What are the PHP framework?
[symfony/mailer]一个优雅易用的发送邮件类库
4.PHP数组与数组排序
13.JS输出内容和语法
js基础知识
一分种一起来了解Vite的基础
Customer Rating Control
Advanced Operations on Arrays
PHP入门(自学笔记)
百度定位js API
--fs module--
ES6介绍+定义变量+不同情况下箭头函数的this指向
正则笔记(2)- 正则表达式位置匹配攻略
微信小程序怎么批量生成带参数的小程序码?
[phpunit/php-timer]一个用于代码执行时间的计时器
数组的高级操作
URL module
三元判断再三元判断
js eventLoop 事件循环机制
AES加密的各种蛋疼方式方式








![[league/climate]一个功能健全的命令行功能操作库](/img/ce/39114b1c74af649223db97e5b0e29c.png)
