███████╗ ██╗ ██╗███████╗ ...vvvv)))))).
██╔═══██╗██║ ██║██╔════╝ /~~ ,,,c(((((((((((((((((/
██║██╗██║██║ ██║█████╗ /~~c . .vv)))))))))))))))))))``
███████╔╝██║ ██║██╔══╝ G_G__ ,,(((KKKK//////////////'
╚═██╔═╝ ╚██████╔╝███████╗ ,Z~__ '@,gW@@AKXX~MW,gmmmz==m_.
╚═╝ ╚═════╝ ╚══════╝ iP,dW@!,A@@@@@@@@@@@@@@@A` ,W@@Ac
██████╗ ███████╗███████╗ ]b_.__zf !P~@@@@@*P~b.~+=m@@@*~ g@Ws.
██╔══██╗██╔════╝██╔════╝ ~` ,2W2m. '[ ['~~c'M7 _gW@@A`'s
██████╦╝█████╗ █████╗ v=XX)====Y- [ [ c/*@@@*~ g@@i
██╔══██╗██╔══╝ ██╔══╝ /v~ !.!. 'c7+sg@@@@@s.
██████╦╝███████╗███████╗ // 'c'c 'c7*X7~~~~
╚═════╝ ╚══════╝╚══════╝ ]/ ~=Xm_ '~=(Gm_.
Paket QᴜᴇᴇBᴇᴇ (QB) atau Query Builder adalah paket yang ringan untuk membangun kueri MySQL. Ini adalah paket PHP yang menyederhanakan konstruksi kueri SQL. Ini memberikan pendekatan berorientasi objek untuk membangun kueri SQL, membuatnya lebih mudah untuk membuat, memodifikasi, dan menjalankan pernyataan SQL dalam aplikasi PHP Anda.
Quebee dapat diinstal melalui Composer, manajer ketergantungan PHP. Jika Anda belum menginstal Composer, kunjungi situs web Composer untuk instruksi.
Jalankan perintah berikut untuk menginstal Quebee:
composer require hindbiswas/quebee Pastikan autoloader komposer termasuk dalam file PHP proyek Anda. Gunakan jalur Anda sebagai pengganti path/to/ :
require_once __DIR__ . DIRECTORY_SEPARATOR . ' path/to ' . ' /vendor/autoload.php ' ;Quebee menyediakan fitur berikut untuk bekerja dengan MySQL:
Query untuk SELECT , INSERT , UPDATE , dan DELETE kueri.Table kelas untuk CREATE TABLE bersama dengan kelas Col untuk kolom.Col memiliki banyak tipe data seperti INT , VARCHAR , DATETIME dan banyak lagi untuk membuat kolom sesuai kebutuhan Anda.Stmt untuk Pernyataan UNION , UNION ALL , CUBE , SET , dan GROUPING SETS . Ini juga termasuk kendala kunci asing, unik, kunci utama dan pengindeksan serta pengelompokan. Lihat /tests/ Direktori untuk semua cara yang mungkin menggunakan QueBee ;
Di bawah ini adalah contoh cara menggunakan setiap pembangun kueri.
Untuk membuat kueri SELECT , gunakan metode Query::select() :
use Hindbiswas QueBee Query ;
$ aliased_cols = [ ' alias1 ' => ' column1 ' , ' alias2 ' => ' column2 ' , ' column3 ' => ' column3 ' ];
$ query = Query:: select ( $ aliased_cols )-> from ( ' table ' )-> build ();
// Resulting SQL query
// SELECT column1 AS alias1, column2 AS alias2, column3 AS column3 FROM table;Atau,
use Hindbiswas QueBee Query ;
$ query = Query:: select ([ ' column1 ' , ' column2 ' ])
-> from ( ' table ' )
-> where ( ' column1 ' , ' value ' )
-> orderBy ( ' column2 ' , ' desc ' )
-> limit ( 10 )
-> build ();
// Resulting SQL query
// SELECT column1, column2 FROM table WHERE column1 = 'value' ORDER BY column2 DESC LIMIT 0, 10; | SQL | Harfiah | Simbolis |
|---|---|---|
> | gt | > |
>= | gte | >= |
< | lt | < |
<= | lte | <= |
= | eq | == atau = |
!= | ne | != atau <> |
<=> | ns | <=> |
LIKE | like | ?? |
Anda dapat menggunakan literal atau simbolis.
Untuk membuat kueri INSERT , gunakan metode Query::insert() (untuk memasukkan beberapa baris sekaligus, gunakan Query::insertMultiple() ):
use Hindbiswas QueBee Query ;
$ data = [ ' column1 ' => ' value1 ' , ' column2 ' => ' value2 ' ];
$ query = Query:: insert ( $ data )
-> into ( ' table ' )
-> build ();
// Resulting SQL query
// INSERT INTO table (column1, column2) VALUES ('value1', 'value2'); Untuk membuat kueri UPDATE , gunakan metode Query::update() :
use Hindbiswas QueBee Query ;
$ data = [ ' column1 ' => ' new_value1 ' , ' column2 ' => ' new_value2 ' ];
$ query = Query:: update ( ' table ' )
-> set ( $ data )
-> where ( ' column1 ' , ' value1 ' )
-> build ();
// Resulting SQL query
// UPDATE table SET column1 = 'new_value1', column2 = 'new_value2' WHERE column1 = 'value1'; Untuk membuat kueri DELETE , gunakan metode Query::delete() :
$ query = Query:: delete ( ' table ' )-> where ( ' column1 ' , 1 , ' gt ' )-> build () // Here `gt` is alias for `>`
// Resulting SQL query
// DELETE FROM table WHERE column1 > '1'; Untuk membuat kueri CREATE TABLE , gunakan Metode Table::create() :
use Hindbiswas QueBee Col ;
use Hindbiswas QueBee Table ;
use Hindbiswas QueBee Table Values DefaultVal ;
$ usersTable = Table:: create ( ' users ' )-> columns ([
' id ' => Col:: integer ( 11 )-> unsigned ()-> pk ()-> ai (),
' username ' => Col:: varchar ()-> unique (),
' email ' => Col:: varchar ()-> unique (),
' password ' => Col:: varchar (),
' is_superadmin ' => Col:: integer ( 2 )-> default ( ' 0 ' ),
' create_time ' => Col:: dateTime ()-> default (DefaultVal:: CURRENT_TIME ),
' update_time ' => Col:: dateTime ()-> setOnUpdate ()-> default (DefaultVal:: CURRENT_TIME ),
]);
$ query = $ usersTable -> build ();
// Resulting SQL query
// CREATE TABLE IF NOT EXISTS users (`id` INT(11) UNSIGNED NULL AUTO_INCREMENT, `username` VARCHAR(255) NOT NULL, `email` VARCHAR(255) NOT NULL, `password` VARCHAR(255) NOT NULL, `is_superadmin` INT(2) NOT NULL DEFAULT '0', `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, `update_time` DATETIME on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT users_PK PRIMARY KEY (id), CONSTRAINT username_UC UNIQUE (`username`), CONSTRAINT email_UC UNIQUE (`email`)) ENGINE = InnoDB; use Hindbiswas QueBee Col ;
use Hindbiswas QueBee Table ;
use Hindbiswas QueBee Table Values DefaultVal ;
use Hindbiswas QueBee Table Values FK ;
// $usersTable = create a table to constrain with
$ table = Table:: create ( ' tokens ' )-> columns ([
' id ' => Col:: integer ()-> unsigned ()-> pk ()-> ai (),
' selector ' => Col:: varchar (),
' hashed_validator ' => Col:: varchar (),
' user_id ' => Col:: integer ( 11 )-> unsigned (),
' expiry ' => Col:: dateTime (),
])-> foreign ( ' user_id ' )-> onDelete ( FK :: CASCADE )-> reference ( $ usersTable , ' id ' );
// Resulting SQL query
// CREATE TABLE IF NOT EXISTS tokens (`id` INT UNSIGNED NULL AUTO_INCREMENT, `selector` VARCHAR(255) NOT NULL, `hashed_validator` VARCHAR(255) NOT NULL, `user_id` INT(11) UNSIGNED NOT NULL, `expiry` DATETIME NOT NULL, CONSTRAINT tokens_PK PRIMARY KEY (id), FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE) ENGINE = InnoDB; v1.2.0Col::text()Col::varchar(225)Col::bit()Col::integer()Col::bigInt()Col::mediumInt()Col::smallInt()Col::tinyInt()Col::decimal(11, 6)Col::float(6, 2)Col::double(11, 6)Col::real(11, 6)Col::date()Col::dateTime() Berikut adalah beberapa praktik terbaik saat menggunakan Quebee :
Sanitasi Input Pengguna: Selalu sanderikankan input pengguna sebelum menggunakannya dalam kueri.
Penanganan kesalahan: Tangani pengecualian dengan tepat, terutama saat membangun kueri. Quebee dapat melempar pengecualian untuk input atau panggilan metode yang tidak valid.
Abstraksi Basis Data: Pertimbangkan untuk menggunakan lapisan abstraksi basis data bersama Quebee untuk interaksi basis data yang lebih luas.
Organisasi Kode: Atur kode Anda secara logis, memisahkan bangunan kueri dari eksekusi dan penanganan hasil.
Quebee menyederhanakan konstruksi kueri SQL dalam PHP, membuatnya lebih mudah untuk membangun interaksi basis data yang bersih, aman, dan efisien. Dengan API yang lancar, ia menyediakan cara yang ramah pengguna untuk membuat kueri SQL untuk berbagai sistem basis data.
Untuk opsi penggunaan dan penyesuaian yang lebih terperinci, lihat repositori Quebee GitHub.
Itu saja! Anda siap untuk mulai menggunakan Quebee untuk membangun kueri SQL di aplikasi PHP Anda.