1. 程式人生 > >[轉]YII2 常用資料庫操作

[轉]YII2 常用資料庫操作

//1.簡單查詢  
$admin=Admin::model()->findAll($condition,$params);  
$admin=Admin::model()->findAll("username=:name",array(":name"=>$username));  
$user=(new Query())->select(['user_id','name'])->from('test.my_user')->all();   
$infoArr= NewsList::model()->findAll("status = '1' ORDER BY id DESC limit 10 ");  
   
//2. findAllByPk(該方法是根據主鍵查詢一個集合,可以使用多個主鍵)  
$admin=Admin::model()->findAllByPk($postIDs,$condition,$params);  
$admin=Admin::model()->findAllByPk($id,"name like :name and age=:age",array(':name'=>$name,'age'=>$age));  
$admin=Admin::model()->findAllByPk(array(1,2));  
   
//3.findAllByAttributes (該方法是根據條件查詢一個集合,可以是多個條件,把條件放到數組裡面)  
$admin=Admin::model()->findAllByAttributes($attributes,$condition,$params);  
$admin=Admin::model()->findAllByAttributes(array('username'=>'admin'));  
   
//4.findAllBySql (該方法是根據SQL語句查詢一個數組)  
$admin=Admin::model()->findAllBySql($sql,$params);  
$admin=Admin::model()->findAllBySql("select * from admin where username like :name",array(':name'=>'%ad%'));  
User::find()->all();    此方法返回所有資料;  
User::findOne($id);   此方法返回 主鍵 id=1  的一條資料(舉個例子);   
User::find()->where(['name' => '小夥兒'])->one();   此方法返回 ['name' => '小夥兒'] 的一條資料;  
User::find()->where(['name' => '小夥兒'])->all();   此方法返回 ['name' => '小夥兒'] 的所有資料;  
User::find()->orderBy('id DESC')->all();   此方法是排序查詢;  
User::findBySql('SELECT * FROM user')->all();  此方法是用 sql  語句查詢 user 表裡面的所有資料;  
User::findBySql('SELECT * FROM user')->one();  此方法是用 sql  語句查詢 user 表裡面的一條資料;  
User::find()->andWhere(['sex' => '男', 'age' => '24'])->count('id');   統計符合條件的總條數;  
User::find()->one();    此方法返回一條資料;  
User::find()->all();    此方法返回所有資料;  
User::find()->count();    此方法返回記錄的數量;  
User::find()->average();    此方法返回指定列的平均值;  
User::find()->min();    此方法返回指定列的最小值 ;  
User::find()->max();    此方法返回指定列的最大值 ;  
User::find()->scalar();    此方法返回值的第一行第一列的查詢結果;  
User::find()->column();    此方法返回查詢結果中的第一列的值;  
User::find()->exists();    此方法返回一個值指示是否包含查詢結果的資料行;  
User::find()->batch(10);  每次取 10 條資料   
User::find()->each(10);  每次取 10 條資料, 迭代查詢  
二、查詢物件的方法  
//根據主鍵查詢出一個物件,如:findByPk(1);  
$admin=Admin::model()->findByPk($postID,$condition,$params);  
$admin=Admin::model()->findByPk(1);  
   
//根據一個條件查詢出一組資料,可能是多個,但是他只返回第一行資料  
$row=Admin::model()->find($condition,$params);  
$row=Admin::model()->find('username=:name',array(':name'=>'admin'));  
   
//該方法是根據條件查詢一組資料,可以是多個條件,把條件放到數組裡面,查詢的也是第一條資料  
$admin=Admin::model()->findByAttributes($attributes,$condition,$params);  
$admin=Admin::model()->findByAttributes(array('username'=>'admin'));  
   
//該方法是根據SQL語句查詢一組資料,他查詢的也是第一條資料  
$admin=Admin::model()->findBySql($sql,$params);  
$admin=Admin::model()->findBySql("select * from admin where username=:name",array(':name'=>'admin'));  
   
//拼一個獲得SQL的方法,在根據find查詢出一個物件   
$criteria=newCDbCriteria;   
$criteria->select='username';// only select the 'title' column   
$criteria->condition='username=:username';    //請注意,這是一個查詢的條件,且只有一個查詢條件.多條件用addCondition  
$criteria->params=array(":username=>'admin'");  
$criteria->order ="id DESC";  
$criteria->limit ="3";  
$post=Post::model()->find($criteria);// $params isnot needed   
   
//多條件查詢的語句  
$criteria= new CDbCriteria;       
$criteria->addCondition("id=1");//查詢條件,即where id = 1   
$criteria->addInCondition('id',array(1,2,3,4,5));//代表where id IN (1,2,3,4,5,);   
$criteria->addNotInCondition('id',array(1,2,3,4,5));//與上面正好相法,是NOT IN   
$criteria->addCondition('id=1','OR');//這是OR條件,多個條件的時候,該條件是OR而非AND   
$criteria->addSearchCondition('name','分類');//搜尋條件,其實代表了。。where name like '%分類%'   
$criteria->addBetweenCondition('id', 1, 4);//between 1 and 4  
$criteria->compare('id', 1);   //這個方法比較特殊,他會根據你的引數自動處理成addCondition或者addInCondition.  
$criteria->compare('id',array(1,2,3));   //即如果第二個引數是陣列就會呼叫addInCondition   
   
   
$criteria->select ='id,parentid,name';//代表了要查詢的欄位,預設select='*';   
$criteria->join ='xxx'; //連線表   
$criteria->with ='xxx'; //呼叫relations    
$criteria->limit = 10;   //取1條資料,如果小於0,則不作處理   
$criteria->offset = 1;  //兩條合併起來,則表示 limit 10 offset 1,或者代表了。limit 1,10   
$criteria->order ='xxx DESC,XXX ASC' ;//排序條件   
$criteria->group ='group 條件';   
$criteria->having ='having 條件 ';   
$criteria->distinct = FALSE;//是否唯一查詢  
三、查詢個數,判斷查詢是否有結果  
//該方法是根據一個條件查詢一個集合有多少條記錄,返回一個int型數字  
$n=Post::model()->count($condition,$params);  
$n=Post::model()->count("username=:name",array(":name"=>$username));  
   
//該方法是根據SQL語句查詢一個集合有多少條記錄,返回一個int型數字  
$n=Post::model()->countBySql($sql,$params);  
$n=Post::model()->countBySql("select * from admin where username=:name",array(':name'=>'admin'));  
   
//該方法是根據一個條件查詢查詢得到的陣列有沒有資料,如果有資料返回一個true,否則沒有找到  
$exists=Post::model()->exists($condition,$params);  
$exists=Post::model()->exists("name=:name",array(":name"=>$username));  
四、新增  
$admin= new Admin;         
$admin->username =$username;  
$admin->password =$password;  
if($admin->save() > 0){echo "新增成功"; }else{echo "新增失敗"; }  
五、修改  
Post::model()->updateAll($attributes,$condition,$params);  
$count=Admin::model()->updateAll(array('username'=>'11111','password'=>'11111'),'password=:pass',array(':pass'=>'1111a1'));  
if($count> 0){ echo "修改成功"; }else{echo "修改失敗"; }  
   
$rt= PostList::model()->updateAll(array('status'=>'1'),'staff_id=:staff AND host_id=:host',array(':staff'=>$staff_id,':host'=>$host_id));  
   
//$pk主鍵,可以是一個也可以是一個集合,$attributes是要修改的欄位的集合,$condition條件,$params傳入的值  
Post::model()->updateByPk($pk,$attributes,$condition,$params);  
$count=Admin::model()->updateByPk(1,array('username'=>'admin','password'=>'admin'));  
$count=Admin::model()->updateByPk(array(1,2),array('username'=>'admin','password'=>'admin'),'username=:name',array(':name'=>'admin'));  
if($count>0){echo "修改成功"; }else{echo "修改失敗"; }  
   
Post::model()->updateCounters($counters,$condition,$params);  
$count=Admin::model()->updateCounters(array('status'=>1),'username=:name',array(':name'=>'admin'));  
if($count> 0){ echo "修改成功"; }else{echo "修改失敗"; }  
//array('status'=>1)代表資料庫中的admin表根據條件username='admin',查詢出的所有結果status欄位都自加1  
六、刪除  
//deleteAll  
Post::model()->deleteAll($condition,$params);  
$count= Admin::model()->deleteAll('username=:name and password=:pass',array(':name'=>'admin',':pass'=>'admin'));  
$count= Admin::model()->deleteAll('id in("1,2,3")');//刪除id為這些的資料  
if($count>0){echo"刪除成功"; }else{echo "刪除失敗"; }  
   
//deleteByPk  
Post::model()->deleteByPk($pk,$condition,$params);  
$count= Admin::model()->deleteByPk(1);  
$count=Admin::model()->deleteByPk(array(1,2),'username=:name',array(':name'=>'admin'));  
if($count>0){echo "刪除成功"; }else{echo "刪除失敗"; }  

相關推薦

[]YII2 常用資料庫操作

//1.簡單查詢 $admin=Admin::model()->findAll($condition,$params); $admin=Admin::model()->findAll("username=:name",array(":name"=>$username));

ThinkPhp 常用資料庫操作

原生sql語句 use think\Db; Db::query('select * from think_user where id=?',[8]); Db::execute('insert into think_user (id, name) values (?, ?)',[8,'th

常用資料庫操作(DML、序列等)

一、序列 1.1序列作用: 在Oracle資料庫中,序列的用途是生成表的主鍵值,可以在插入語句中引用,也可以通過查詢檢查當前值,或使序列增至下一個值 1.2建立序列: CREATE SEQUENCE SEQ_EMP --序列最大最小值 MINVALUE 1 MAXVALUE 999

JDBC打造資料庫操作萬能工具類JDBCUtil,加入了高效的資料庫連線池,利用了引數繫結有效防止SQL注入

SELECT * FROM emp_test 成功查詢到了14行資料 第1行:{DEPT_TEST_ID=10, EMP_ID=1001, SALARY=10000, HIRE_DATE=2010-01-12, BONUS=2000, MANAGER=1005, JOB=Manager, NAME=張無忌}

yii2 框架資料庫常用操作

1.先配置好資料庫位置在common/config/main-local.php更改如下:<?phpreturn [    'class' => 'yii\db\Connection',    'dsn' => 'mysql:host=localhost;d

[][SVN]常用操作

服務器 es2017 常用操作 blog 擴展 alt 三方 查找 最新 1. Commit 提交當前代碼到 SVN 服務器。 2. 引用第三方類庫時,不要從安裝位置引用,而是在解決方案下,添加一個 lib 的目錄,把需要的程序集復制到這裏,然後從 lib 目錄引用。 3

MongoDB資料庫操作常用語法

一、建立資料庫 建立: use DATABASE_NAME(資料庫名稱) 如果資料庫不存在,則建立資料庫,否則切換到指定資料庫。 顯示所有資料庫: show dbs 剛建立的資料庫,並不在資料庫的列表中, 要顯示它,我們需要向其中插入一些資料。 插入資料: db.DATABASE_NAM

Yii2 常用操作總結

時區配置 #common\config\main.php return [ 'timeZone' => 'Asia/Shanghai', ] a標籤 <?= Html::a('Delete', ['delete', 'id' =>$model->id]

常用的Mysql資料庫操作語句大全

學習連結:https://www.cnblogs.com/picaso/archive/2012/05/17/2505895.html 零、使用者管理: 1、新建使用者: >CREATE USER name IDENTIFIED BY ‘ssapdrow’; 2、更改

Mysql資料庫操作常用命令

【全了】Mysql資料庫操作常用命令   1、MySQL常用命令  create database name; 建立資料庫  use databasename; 選擇資料庫  drop database name 直接刪除資料庫,不提醒 

】Dom節點操作常用方法

1.訪問/獲取節點 document.getElementById(id);           //返回對擁有指定id的第一個物件進行訪問 document.getElementsByName(name);      //返回帶有指定名稱的節點集合   注意拼寫:Elements docum

Oracle常用資料庫操作

配置資料庫:  user:orcl.passward:71911.Hao全域性資料庫名:orcl。、解鎖資料庫使用者名稱,SCOTT,SYSTEM,SYS,   PWD:71911.Hao輸入sqlplus,然後提示輸入使用者名稱,直接輸入user/[email protected]就可以了,然後

在Linux上對資料庫操作常用命令

進入資料庫客戶端,作用命令mysql -u root -p 輸入密碼,預設為空 mysql資料庫使用總結 本文主要記錄一些mysql日常使用的命令,供以後查詢。 1.更改root密碼 mysqladmin -uroot password ‘yourpasswor

Yii2 資料庫操作彙總

查詢 //1.簡單查詢 $admin=Admin::model()->findAll($condition,$params); $admin=Admin::model()->findAll("username=:name",array(":name"=>$username));

MongoDB建立表步驟,Mongo常用資料庫操作命令,查詢,新增,更新,刪除_MongoDB 效能監測

->use Admin         (切換到建立使用者) ->db.TestDb          (建立資料庫) ->db.addUser(“userName”,”Pwd”)    建立使用者 ->db.auth(“userName”,

循序漸進學.Net Core Web Api開發系列【9】:常用資料庫操作

系列目錄 一、概述 本篇描述一些常用的資料庫操作,包括:條件查詢、排序、分頁、事務等基本資料庫操作。試驗的資料庫為MySQL。 二、條件查詢1、查詢所有記錄 List<Article> articles = _context.Articles.ToList<Artic

常用的PHP函式封裝,有排序和資料庫操作函式

//二分查詢 function bin_sch($array, $low, $high, $k) { if ($low &lt;= $high) { $mid = intval(($low + $high) / 2); if ($array[$mid] ==

資料庫常用基本操作

啟動資料庫 sudo service mysql start 停止資料庫 sudo service mysql stop 重啟資料庫 sudo service mysql restart 檢視所有資料

Hive命令列常用操作資料庫操作,表操作

資料庫操作 檢視所有的資料庫 hive> show databases ; 使用資料庫default hive> use default; 檢視資料庫資訊 hive > describe data

DataSource之資料庫常用配置(mybatis):一個簡單的配置

<一>,DataSource之資料庫常用配置(mybatis):一個簡單的配置 #在連線池裡的連線返回給呼叫者或連線池時,要執行的驗證 SQL 查詢 spring.datasource.validation-query=SELECT 1 #驅動的全限定類名。預設根據 URL 自動檢測