一、数据库的链接方式

<?php
namespace app\index\controller;
use think\Db;

class Demo
{
//1、全局配置 config/database.php配置
public function dbTest()
{
return Db::table('pzq_article')
->where('id','29')
->value('title');
}

//2、动态配置 think\db\Query.php中有一个方法connect()
public function dbTest2()
{
return Db::connect([
'type'=>'mysql',
'hostname'=>'localhost',
'database'=>'top789',
'username'=>'root',
'password'=>'root',
])
->table('pzq_article')
->where('id','76')
->value('title');
}

//3、DSN连接
public function dbTest3()
{
$dsn = 'mysql://root:root@localhost:3306/top789#utf8';
return Db::connect($dsn)
->table('pzq_article')
->where('id','88')
->value('title');
}

//4、单条查旬
public function dbTest4()
{
$res = Db::table('pzq_article')
->field(['title'=>'标题','id'=>'编号'])//可添加别名
->where('id','=',20)//如果是等号,=可以省略
->find();//如果是主键查询,可省略上面where,这行写->find(20);
dump(is_null($res)?'没有查到':$res);
}
//5、多条查旬
public function dbTest5()
{
$res = Db::table('pzq_article')
->field(['id','cat_id','title'])
->where([
['id','>',20],
['cat_id','=',2],
])//一个条件,直接用表达式->where('id','>',20)。多个条件用数组
->order('id desc')->limit(3)->select();

if(empty($res)){
return '没有查到';
}else{
dump($res);
}

}

//6、数据添加
public function dbTest6()
{
$data = [
'name'=>'Sam2',
'age'=>'29',
'posttime'=>time()
];
$dataall=[
['name'=>'Sam3','age'=>'29','posttime'=>time()],
['name'=>'Sam4','age'=>'30','posttime'=>time()],
];
//(1)单条插入
//return Db::table('test')->data($data)->insert();
//(2)插入同时返回新增主键id
//return Db::table('test')->insertGetId($data);
//(3)插入多条数据
return Db::table('test')->data($dataall)->insertAll();
}
//更新数据
public function dbTest7()
{
// return Db::table('test')
// ->where('id','=',4)
// ->update(['name'=>'SamC','age'=>'31']);
//如果where条件是主键,还可以如下使用
return Db::table('test')
->update(['name'=>'SamCheng','age'=>'30','id'=>4]);
}
//删除操作
public function dbTest8()
{
//return Db::table('test')->delete(6);
//或者
return Db::table('test')->where('id',5)->delete();
}
//mysql原生语句 查询
public function dbTest9()
{
$sql = "select name,age from test where id>2";
dump(Db::query($sql));
}
//mysql 增、删、改 用Db::execute($sql)
public function dbTest10()
{
//$sql = "update test set name='samC' where id=4";
//$sql = "insert test set name='Yan',age='30'";
$sql = "delete from test where id=4";
return Db::execute($sql);
}

}

ThinkPHP5.1的数据库链接和增删改查的更多相关文章

  1. Android(java)学习笔记245:ContentProvider使用(银行数据库创建和增删改查的案例)

    1. Android的四大组件: (1)Activity  用户交互的UI界面 (2)Service  后台运行的服务 (3)BroadcastReceiver 广播接收者 (4)ContentPro ...

  2. ORM 实现数据库表的增删改查

    这次通过反射技术来实现一下数据库表的增删改查对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping) 注:引用时约束了以下几点: 数据 ...

  3. Flutter数据库Sqflite之增删改查

    Flutter数据库Sqflite之增删改查   简介 sqflite是Flutter的SQLite插件,支持iOS和Android,目前官方版本是sqflite1.1.3 sqflite插件地址:h ...

  4. Vc数据库编程基础MySql数据库的表增删改查数据

    Vc数据库编程基础MySql数据库的表增删改查数据 一丶表操作命令 1.查看表中所有数据 select * from 表名 2.为表中所有的字段添加数据 insert into 表名( 字段1,字段2 ...

  5. Android(java)学习笔记189:ContentProvider使用(银行数据库创建和增删改查的案例)

    1. Android的四大组件: (1)Activity  用户交互的UI界面 (2)Service  后台运行的服务 (3)BroadcastReceiver 广播接收者 (4)ContentPro ...

  6. Python进阶----数据库的基础,关系型数据库与非关系型数据库(No SQL:not only sql),mysql数据库语言基础(增删改查,权限设定)

    day37 一丶Python进阶----数据库的基础,mysql数据库语言基础(增删改查,权限设定) 什么是数据库:    简称:DataBase ---->DB    数据库即存放数据的仓库, ...

  7. 十四:SpringBoot-配置MongoDB数据库,实现增删改查逻辑

    SpringBoot-配置MongoDB数据库,实现增删改查逻辑 1.MongoDB数据库 1.1 MongoDB简介 1.2 MongoDB特点 2.SpringBoot整合MongoDB 2.1 ...

  8. 使用MVC5+Entity Framework6的Code First模式创建数据库并实现增删改查功能

    此处采用VS2017+SqlServer数据库 一.创建项目并引用dll: 1.创建一个MVC项目 2.采用Nuget安装EF6.1.3 二.创建Model 在models文件夹中,建立相应的mode ...

  9. DjangoMTV模型之model层——ORM操作数据库(基本增删改查)

    Django的数据库相关操作 对象关系映射(英语:(Object Relational Mapping,简称ORM),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换.从效果上说 ...

随机推荐

  1. expect工具实现脚本的自动交互

    1 安装expect工具 expect是建立在tcl基础上的一个自动化交互套件, 在一些需要交互输入指令的场景下, 可通过脚本设置自动进行交互通信. 其交互流程是: spawn启动指定进程 -> ...

  2. scala 中的匹配模式

    unapply 仅作匹配,不作其它输出.返回 Boolean 值 object UpperCase { def unapply(s: String): Boolean = s.toUpperCase ...

  3. python的整数相除

    在python2中: 10/4=2 在python3中: 10/4=2.5 10//4=2

  4. Codeforces Round #605 (Div. 3) A. Three Friends(贪心)

    链接: https://codeforces.com/contest/1272/problem/A 题意: outputstandard output Three friends are going ...

  5. selenium原理解析

    相信很多测试小伙伴儿都听过或者使用过web自动化selenium,那您有没有研究过selenium的原理呢?为什么要使用webdriver.exe,webdriver.exe是干啥用的?seleniu ...

  6. 洛谷 P3958 奶酪 题解

    思路: 先看哪两个点能互通,再广搜寻找下一步,如果到达高度h就输出Yes,如果所有路径都找过都不能到达高度h就输出No. #include<bits/stdc++.h> using nam ...

  7. WinDbg常用命令系列---断点操作b*

    ba (Break on Access) ba命令设置处理器断点(通常称为数据断点,不太准确).此断点在访问指定内存时触发. 用户模式下 [~Thread] ba[ID] Access Size [O ...

  8. C博客作业03——函数

    0.展示PTA总分 截图展示: 1.本章学习总结 1.1学习内容总结 (a)函数的定义 1)函数是一个完成特定工作的独立程序模块,包括库函数和自定义函数两种,scanf(),printf()等为库函数 ...

  9. ranger 使用外置的solr

    一.solrcloud部署 1.下载部署 1).下载二进制包 #wget http://mirrors.tuna.tsinghua.edu.cn/apache/lucene/solr/8.3.0/so ...

  10. 【Beta】软件使用说明——致社长

    目录 社团公众号关联上"北航社团帮"小程序 为什么要关联上"北航社团帮"小程序: 如何进行关联: 小程序中的社长相关功能 如何认证成为社长 如何管理社员.增删管 ...