1. 創(chuàng)建CDbCommand命令對象
$sql = "select * from users where id=1"; $connection=Yii::app()->db; $command=$connection->createCommand($sql);
2. SQL語句的執(zhí)行
CDbCommand對象有兩個(gè)(種)方法來執(zhí)行SQL語句。
2.1 execute()方法
用于數(shù)據(jù)更新(非查詢)操作(INSERT, UPDATE 和 DELETE),返回的是操作受影響的記錄行數(shù)。
$rowCount=$command->execute();
2.2 query()和queryXXX()方法
用于查詢,對應(yīng)于SELECT語句。
2.2.1 query()方法
$dataReader=$command->query(); 返回CDbDataReader對象,注意這代表結(jié)果集而不是記錄,可以通過以下方法來獲?。ū闅v)記錄: // CDbDataReader::read()可以一次獲取一行數(shù)據(jù),到末尾時(shí)返回false while(($row=$dataReader->read())!==false) // CDbDataReader實(shí)現(xiàn)了迭代器接口因此可以使用foreach遍歷 foreach($dataReader as $row) // 一次性返回所有的記錄(數(shù)組) $rows=$dataReader->readAll();
2.2.2 衍生的queryXXX()方法
#返回所有結(jié)果記錄數(shù)組 $rows=$command->queryAll(); #返回第一行記錄 $row=$command->queryRow(); // query and return the first row of result #返回所有記錄的第一列 $column=$command->queryColumn(); // query and return the first column of result #返回第一行記錄的第一列 $value=$command->queryScalar(); // query and return the first field in the first row
PHP中文網(wǎng),有大量免費(fèi)的Yii入門教程,歡迎大家學(xué)習(xí)!
Atas ialah kandungan terperinci yii 可以執(zhí)行sql嗎. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apabila merancang pangkalan data relasi, empat prinsip utama harus diikuti. Pertama, gunakan kekangan utama utama dan asing untuk memastikan integriti data dan ketepatan persatuan; Kedua, melakukan reka bentuk piawai yang munasabah, biasanya mencapai bentuk normal ketiga (3NF), menghapuskan redundansi dan memastikan konsistensi data; Ketiga, menubuhkan indeks yang sesuai untuk pertanyaan umum untuk meningkatkan prestasi pertanyaan tetapi elakkan lebih banyak indeks; Akhirnya, menggunakan spesifikasi penamaan yang konsisten dan gaya struktur untuk meningkatkan kebolehbacaan dan kebolehkerjaan. Menguasai prinsip -prinsip ini dapat membantu membina struktur pangkalan data yang jelas, cekap dan mantap.

Klausa Where SQL digunakan untuk menapis baris data yang memenuhi kriteria dengan tepat. 1. menggunakan pengendali perbandingan (seperti =,>, 30; Isnotnull untuk menilai nilai null untuk memastikan hasil pertanyaan adalah tepat.

Perubahan nama jadual biasanya dilaksanakan dalam SQL menggunakan perintah renametable atau altertable. 1.MYSQL, MariaDB dan pangkalan data lain Gunakan renametableold_table_nametonew_table_name; sintaks, menyokong operasi batch; 2. SQLServer memerlukan prosedur yang disimpan SP_RENAME, dan sintaks adalah execsp_rename'old_table_name ',' new_table_name '; 3.PostgreSql Menggunakan altertableold_table_namerenametonew_table_name

Tarikh format dalam SQL, anda perlu memilih fungsi yang sepadan mengikut jenis pangkalan data. Mysql menggunakan date_format () dengan%y,%m dan format lain, seperti selectDate_Format (sekarang (), '%y-%m-%d'); SQLServer menggunakan Convert () atau format (), bekas adalah selectConvert (varchar, getDate (), 112), dan yang terakhir adalah selectFormat (getDate (), 'yyyy-mm-dd'); PostgreSql menggunakan to_char (), seperti selectTo_char (sekarang (), 'y

Baca replika diperlukan kerana kebanyakan aplikasi membaca lebih lanjut dan menulis kurang, dan perpustakaan induk mudah menjadi hambatan; Tetapan biasa termasuk replikasi master-hamba MySQL, replikasi aliran PostgreSQL, kumpulan SQLServer's Alwayson, dan contoh Readreplica RDS; Permintaan membaca boleh dinilai melalui lapisan permohonan, dan rangka kerja middleware atau ORM dialihkan ke replika; Masalah yang mudah diabaikan termasuk kelewatan replikasi, konfigurasi kolam sambungan yang tidak betul, pemeriksaan kesihatan yang hilang, dan pengurusan kebenaran yang tidak mencukupi.

Tulis pertanyaan SQL tersuai di YII dan boleh dilaksanakan melalui Yii :: $ App-> db. Langkah -langkah adalah seperti berikut: 1. Buat arahan pertanyaan menggunakan createCommand (); 2. Parameter mengikat melalui bindValue () atau bindParam () untuk mencegah suntikan SQL; 3. Call QueryAll (), queryOne () dan kaedah lain untuk melaksanakan pertanyaan; 4. Untuk memasukkan dan mengemaskini operasi, anda boleh mengikat Call Insert () dan mengemas kini () kaedah; 5. Adalah disyorkan untuk menulis SQL secara langsung dan mengikat parameter; 6. Jika hasilnya perlu ditukar menjadi model, anda boleh memberi instantiate dan menetapkan sifat; 7. Gunakan QueryBuilder untuk membina pertanyaan selamat terlebih dahulu, dan balasan, dan balasan.

Dalam YII, widget digunakan untuk melaksanakan multiplexing komponen dengan merangkumi logik paparan kompleks. 1. Gunakan kaedah widget () untuk memanggil widget terbina dalam, seperti LinkPager untuk penomboran, dan ActiveForm untuk mencipta bentuk mengikat model; 2. Widget biasa termasuk GridView untuk memaparkan data jadual, terperinci untuk memaparkan butiran model, dan menu menu menu navigasi; 3. Widget tersuai boleh dibuat dengan mewarisi yii \ base \ widget, melaksanakan kaedah larian () dan menentukan atribut untuk meningkatkan kebolehgunaan semula, seperti yang ditunjukkan dalam contoh Hellowidget. Menguasai kaedah teras ini dapat meningkatkan kecekapan pembangunan.

Perlawanan adalah mekanisme yang digunakan untuk pramuat data dalam ujian YII. 1. Buat kelas perlawanan untuk mewarisi aktif dan tentukan model; 2. Tetapkan perintah ketergantungan melalui $ bergantung; 3. Tentukan fail data dalam data/direktori; 4. Mengisytiharkan penggunaan dalam kelas ujian melalui kaedah lekapan (); 5. Yii secara automatik memuat dan membersihkan data selepas ujian. Sebagai contoh, UserFixture akan memuatkan data pengguna dalam fail ujian/lekapan/data/user.php. Semasa ujian, anda boleh mendapatkan data ALICE melalui $ this-> pengguna ['user1'] untuk pengesahan pernyataan. Yii menawarkan pelbagai fi
