MariaDB - Pilih Query
Pada bab ini, kita akan belajar bagaimana memilih data dari tabel.
Pernyataan SELECT mengambil baris yang dipilih. Mereka dapat menyertakan pernyataan UNION, klausa pemesanan, klausa LIMIT, klausa WHERE, klausa GROUP BY ... HAVING, dan subkueri.
Tinjau sintaks umum berikut -
SELECT field, field2,... FROM table_name, table_name2,... WHERE...
Pernyataan SELECT menyediakan beberapa opsi untuk menentukan tabel yang digunakan -
database_name.table_name
table_name.column_name
database_name.table_name.column_name
Semua pernyataan pemilihan harus berisi satu atau lebih select expressions. Pilih ekspresi terdiri dari salah satu opsi berikut -
Nama kolom.
Ekspresi yang menggunakan operator dan fungsi.
Spesifikasi "nama_tabel. *" Untuk memilih semua kolom dalam tabel yang diberikan.
Karakter "*" untuk memilih semua kolom dari semua tabel yang ditentukan dalam klausa FROM.
Prompt perintah atau skrip PHP dapat digunakan dalam menjalankan pernyataan pilih.
Prompt Perintah
Pada prompt perintah, jalankan pernyataan sebagai berikut -
root@host# mysql -u root -p password;
Enter password:*******
mysql> use PRODUCTS;
Database changed
mysql> SELECT * from products_tbl
+-------------+---------------+
| ID_number | Nomenclature |
+-------------+---------------+
| 12345 | Orbitron 4000 |
+-------------+---------------+
PHP Pilih Script
Gunakan pernyataan SELECT yang sama dalam fungsi PHP untuk melakukan operasi. Anda akan menggunakanmysql_query()berfungsi sekali lagi. Tinjau contoh yang diberikan di bawah ini -
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn ) {
die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT product_id, product_name,product_manufacturer, ship_date FROM products_tbl';
mysql_select_db('PRODUCTS');
$retval = mysql_query( $sql, $conn );
if(! $retval ) {
die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
echo "Product ID :{$row['product_id']} <br> ".
"Name: {$row['product_name']} <br> ".
"Manufacturer: {$row['product_manufacturer']} <br> ".
"Ship Date : {$row['ship_date']} <br>".
"--------------------------------<br>";
}
echo "Fetched data successfully\n";
mysql_close($conn);
?>
Pada pengambilan data yang berhasil, Anda akan melihat output berikut -
Product ID: 12345
Nomenclature: Orbitron 4000
Manufacturer: XYZ Corp
Ship Date: 01/01/17
----------------------------------------------
Product ID: 12346
Nomenclature: Orbitron 3000
Manufacturer: XYZ Corp
Ship Date: 01/02/17
----------------------------------------------
mysql> Fetched data successfully
Praktik terbaik menyarankan untuk melepaskan memori kursor setelah setiap pernyataan SELECT. PHP menyediakanmysql_free_result()berfungsi untuk tujuan ini. Tinjau penggunaannya seperti yang ditunjukkan di bawah ini -
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn ) {
die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT product_id, product_name, product_manufacturer, ship_date FROM products_tbl';
mysql_select_db('PRODUCTS');
$retval = mysql_query( $sql, $conn );
if(! $retval ) {
die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_NUM)) {
echo "Product ID :{$row[0]} <br> ".
"Name: {$row[1]} <br> ".
"Manufacturer: {$row[2]} <br> ".
"Ship Date : {$row[3]} <br> ".
"--------------------------------<br>";
}
mysql_free_result($retval);
echo "Fetched data successfully\n";
mysql_close($conn);
?>