Jatuhkan kunci asing mysql jika ada

Kami dapat menghapus batasan FOREIGN KEY dari kolom tabel yang ada dengan menggunakan kata kunci DROP bersama dengan pernyataan ALTER TABLE

Sintaksis

ALTER TABLE table_name DROP FOREIGN KEY constraint_name

Di sini nama batasan adalah nama batasan kunci asing yang kami terapkan saat membuat tabel. Jika tidak ada nama kendala yang ditentukan maka MySQL akan memberikan nama kendala yang dapat diperiksa dengan pernyataan SHOW CREATE TABLE

Baca "Cara Menginstal MySQL dan Memulai" tentang cara menginstal, menyesuaikan, dan memulai dengan MySQL

Ringkasan Perintah MySQL yang Digunakan dalam Tutorial ini

Untuk sintaks terperinci, periksa manual MySQL "Sintaksis Pernyataan SQL" @ http. //dev. mysql. com/doc/refman/5. 5/en/sql-sintaks. html

Contoh untuk Pemula (Tapi BUKAN untuk boneka)

Server database MySQL berisi banyak database (atau skema). Setiap database terdiri dari satu atau lebih tabel. Tabel terdiri dari kolom (atau field) dan baris (record)

Kata kunci dan perintah SQL TIDAK peka huruf besar-kecil. Untuk kejelasan, mereka ditampilkan dalam huruf besar. Nama atau pengidentifikasi (nama database, nama tabel, nama kolom, dll. ) sensitif huruf besar-kecil di beberapa sistem, tetapi tidak di sistem lain. Oleh karena itu, yang terbaik adalah memperlakukan pengidentifikasi sebagai case-sensitive

TAMPILKAN DATABASE

Anda dapat menggunakan

mysql> SELECT name, price FROM products WHERE price < 1.0;
+-----------+-------+
| name      | price |
+-----------+-------+
| Pencil 2B |  0.48 |
| Pencil 2H |  0.49 |
+-----------+-------+
2 rows in set (0.00 sec)
   
mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
+-----------+----------+
| name      | quantity |
+-----------+----------+
| Pen Black |     2000 |
+-----------+----------+
1 row in set (0.00 sec)
_6 untuk membuat daftar semua database yang ada di server

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
........

Basis data "

mysql> SELECT name, price FROM products WHERE price < 1.0;
+-----------+-------+
| name      | price |
+-----------+-------+
| Pencil 2B |  0.48 |
| Pencil 2H |  0.49 |
+-----------+-------+
2 rows in set (0.00 sec)
   
mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
+-----------+----------+
| name      | quantity |
+-----------+----------+
| Pen Black |     2000 |
+-----------+----------+
1 row in set (0.00 sec)
_7", "
mysql> SELECT name, price FROM products WHERE price < 1.0;
+-----------+-------+
| name      | price |
+-----------+-------+
| Pencil 2B |  0.48 |
| Pencil 2H |  0.49 |
+-----------+-------+
2 rows in set (0.00 sec)
   
mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
+-----------+----------+
| name      | quantity |
+-----------+----------+
| Pen Black |     2000 |
+-----------+----------+
1 row in set (0.00 sec)
8" dan "
mysql> SELECT name, price FROM products WHERE price < 1.0;
+-----------+-------+
| name      | price |
+-----------+-------+
| Pencil 2B |  0.48 |
| Pencil 2H |  0.49 |
+-----------+-------+
2 rows in set (0.00 sec)
   
mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
+-----------+----------+
| name      | quantity |
+-----------+----------+
| Pen Black |     2000 |
+-----------+----------+
1 row in set (0.00 sec)
9" adalah basis data sistem yang digunakan secara internal oleh MySQL. Database "
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
_0" disediakan selama instalasi untuk pengujian Anda

Mari kita mulai dengan contoh sederhana - database penjualan produk. Database penjualan produk biasanya terdiri dari banyak tabel, mis. g. , produk, pelanggan, pemasok, pesanan, pembayaran, karyawan, antara lain. Sebut saja database kita "

mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
_1" (terinspirasi dari database sampel Microsoft Northwind Trader). Kita akan mulai dengan tabel pertama yang disebut "
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
_2" dengan kolom berikut (memiliki tipe data seperti yang ditunjukkan) dan baris

Basis data. angin selatan
Meja. ID produk produk
INTproductCode
Nama CHAR(3).
VARCHAR(30) kuantitas
INTharga
DECIMAL(10,2)1001PENPena Merah50001. 231002PENPen Biru80001. 251003PEN Pena Hitam20001. 251004PECPensil 2B100000. 481005PECPensil 2H80000. 49

Membuat dan Menghapus Database - BUAT DATABASE dan DROP DATABASE

Anda dapat membuat database baru menggunakan perintah SQL "

mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
3"; . Secara opsional, Anda dapat menerapkan ketentuan "
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
_5" atau "
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
6" ke perintah ini. Sebagai contoh,

mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)

PENTING. Gunakan perintah SQL

mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
7 (dan
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
8) dengan sangat hati-hati, karena entitas yang dihapus tidak dapat dipulihkan. TIDAK ADA ULANG

TAMPILKAN BUAT DATABASE

Perintah

mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
9 menggunakan beberapa default. Anda dapat mengeluarkan "
mysql> SELECT * FROM products WHERE name IN ('Pen Red', 'Pen Black');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1001 | PEN         | Pen Red   |     5000 |  1.23 |
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
+-----------+-------------+-----------+----------+-------+
0" untuk menampilkan perintah lengkap dan memeriksa nilai default ini. Kami menggunakan
mysql> SELECT * FROM products WHERE name IN ('Pen Red', 'Pen Black');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1001 | PEN         | Pen Red   |     5000 |  1.23 |
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
+-----------+-------------+-----------+----------+-------+
_1 (bukan
mysql> SELECT * FROM products WHERE name IN ('Pen Red', 'Pen Black');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1001 | PEN         | Pen Red   |     5000 |  1.23 |
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
+-----------+-------------+-----------+----------+-------+
2) untuk menampilkan hasil secara vertikal. (Coba bandingkan output yang dihasilkan oleh
mysql> SELECT * FROM products WHERE name IN ('Pen Red', 'Pen Black');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1001 | PEN         | Pen Red   |     5000 |  1.23 |
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
+-----------+-------------+-----------+----------+-------+
2 dan
mysql> SELECT * FROM products WHERE name IN ('Pen Red', 'Pen Black');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1001 | PEN         | Pen Red   |     5000 |  1.23 |
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
+-----------+-------------+-----------+----------+-------+
1. )

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
Pengidentifikasi yang Dikutip Balik (`nama`)

Nama atau pengidentifikasi yang tidak dikutip (seperti nama basis data, nama tabel, dan nama kolom) tidak boleh berisi karakter kosong dan khusus, atau macet dengan kata kunci MySQL (seperti

mysql> SELECT * FROM products WHERE name IN ('Pen Red', 'Pen Black');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1001 | PEN         | Pen Red   |     5000 |  1.23 |
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
+-----------+-------------+-----------+----------+-------+
5 dan
mysql> SELECT * FROM products WHERE name IN ('Pen Red', 'Pen Black');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1001 | PEN         | Pen Red   |     5000 |  1.23 |
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
+-----------+-------------+-----------+----------+-------+
6). Anda dapat menyertakan karakter kosong dan khusus atau menggunakan kata kunci MySQL sebagai pengenal dengan melampirkannya dengan sepasang back-quote, dalam bentuk
mysql> SELECT * FROM products WHERE name IN ('Pen Red', 'Pen Black');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1001 | PEN         | Pen Red   |     5000 |  1.23 |
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
+-----------+-------------+-----------+----------+-------+
7

Untuk ketangguhan, perintah

mysql> SELECT * FROM products WHERE name IN ('Pen Red', 'Pen Black');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1001 | PEN         | Pen Red   |     5000 |  1.23 |
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
+-----------+-------------+-----------+----------+-------+
_8 mengutip kembali semua pengidentifikasi, seperti yang diilustrasikan dalam contoh di atas

Komentar dan Komentar Versi

Komentar multi-baris MySQL dilampirkan dalam

mysql> SELECT * FROM products WHERE name IN ('Pen Red', 'Pen Black');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1001 | PEN         | Pen Red   |     5000 |  1.23 |
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
+-----------+-------------+-----------+----------+-------+
9 dan
mysql> SELECT * FROM products 
       WHERE (price BETWEEN 1.0 AND 2.0) AND (quantity BETWEEN 1000 AND 2000);
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
+-----------+-------------+-----------+----------+-------+
0;

mysql> SELECT * FROM products 
       WHERE (price BETWEEN 1.0 AND 2.0) AND (quantity BETWEEN 1000 AND 2000);
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
+-----------+-------------+-----------+----------+-------+
_3 dikenal sebagai komentar versi, yang hanya akan dijalankan jika server berada pada atau di atas nomor versi ini
mysql> SELECT * FROM products 
       WHERE (price BETWEEN 1.0 AND 2.0) AND (quantity BETWEEN 1000 AND 2000);
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
+-----------+-------------+-----------+----------+-------+
4. Untuk memeriksa versi server MySQL Anda, berikan kueri "
mysql> SELECT * FROM products 
       WHERE (price BETWEEN 1.0 AND 2.0) AND (quantity BETWEEN 1000 AND 2000);
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
+-----------+-------------+-----------+----------+-------+
5"

Mengatur Basis Data Default - GUNAKAN

Perintah "

mysql> SELECT * FROM products 
       WHERE (price BETWEEN 1.0 AND 2.0) AND (quantity BETWEEN 1000 AND 2000);
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
+-----------+-------------+-----------+----------+-------+
_6" menetapkan database tertentu sebagai database default (atau saat ini). Anda dapat mereferensikan tabel di database default menggunakan
mysql> SELECT * FROM products 
       WHERE (price BETWEEN 1.0 AND 2.0) AND (quantity BETWEEN 1000 AND 2000);
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
+-----------+-------------+-----------+----------+-------+
7 secara langsung. Tetapi Anda perlu menggunakan
mysql> SELECT * FROM products 
       WHERE (price BETWEEN 1.0 AND 2.0) AND (quantity BETWEEN 1000 AND 2000);
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
+-----------+-------------+-----------+----------+-------+
8 yang sepenuhnya memenuhi syarat untuk mereferensikan tabel BUKAN di database default

Dalam contoh kita, kita memiliki database bernama "

mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
1" dengan tabel bernama "
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
2". Jika kita mengeluarkan "
mysql> SELECT * FROM products WHERE productCode IS NULL;
Empty set (0.00 sec)
1" untuk menetapkan
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
1 sebagai database default, kita cukup memanggil tabel sebagai "
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
2". Jika tidak, kita perlu mereferensikan tabel sebagai "
mysql> SELECT * FROM products WHERE productCode IS NULL;
Empty set (0.00 sec)
4"

Untuk menampilkan database default saat ini, keluarkan perintah "

mysql> SELECT * FROM products WHERE productCode IS NULL;
Empty set (0.00 sec)
5"

Membuat dan Menghapus Tabel - CREATE TABLE dan DROP TABLE

Anda dapat membuat tabel baru di database default menggunakan perintah "

mysql> SELECT * FROM products WHERE productCode IS NULL;
Empty set (0.00 sec)
6" dan "
mysql> SELECT * FROM products WHERE productCode IS NULL;
Empty set (0.00 sec)
7". Anda juga dapat menerapkan ketentuan "
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
_5" atau "
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
6". Untuk membuat tabel, Anda perlu mendefinisikan semua kolomnya, dengan memberikan nama, tipe, dan atribut kolom

Mari buat tabel "

mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
_2" di database kita "
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
1"

Penjelasan

Kami mendefinisikan 5 kolom dalam tabel

mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
2.
SELECT .. FROM tableName
WHERE criteria
ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
3,
SELECT .. FROM tableName
WHERE criteria
ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
4,
SELECT .. FROM tableName
WHERE criteria
ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
5,
SELECT .. FROM tableName
WHERE criteria
ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
6 dan
SELECT .. FROM tableName
WHERE criteria
ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
7. Jenis-jenisnya adalah

  • SELECT .. FROM tableName
    WHERE criteria
    ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
    
    3 adalah
    SELECT .. FROM tableName
    WHERE criteria
    ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
    
    9 - bilangan bulat non-negatif
  • SELECT .. FROM tableName
    WHERE criteria
    ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
    
    4 adalah
    mysql> CREATE DATABASE southwind;
    Query OK, 1 row affected (0.03 sec)
       
    mysql> DROP DATABASE southwind;
    Query OK, 0 rows affected (0.11 sec)
       
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
    Query OK, 1 row affected (0.01 sec)
       
    mysql> DROP DATABASE IF EXISTS southwind;
    Query OK, 0 rows affected (0.00 sec)
    01 - string alfanumerik 3 karakter dengan panjang tetap
  • SELECT .. FROM tableName
    WHERE criteria
    ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
    
    5 adalah
    mysql> CREATE DATABASE southwind;
    Query OK, 1 row affected (0.03 sec)
       
    mysql> DROP DATABASE southwind;
    Query OK, 0 rows affected (0.11 sec)
       
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
    Query OK, 1 row affected (0.01 sec)
       
    mysql> DROP DATABASE IF EXISTS southwind;
    Query OK, 0 rows affected (0.00 sec)
    03 - string dengan panjang variabel hingga 30 karakter
    Kami menggunakan string dengan panjang tetap untuk
    SELECT .. FROM tableName
    WHERE criteria
    ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
    
    _4, karena kami berasumsi bahwa
    SELECT .. FROM tableName
    WHERE criteria
    ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
    
    4 berisi tepat 3 karakter. Di sisi lain, kami menggunakan string panjang variabel untuk
    SELECT .. FROM tableName
    WHERE criteria
    ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
    
    5, karena panjangnya bervariasi -
    mysql> CREATE DATABASE southwind;
    Query OK, 1 row affected (0.03 sec)
       
    mysql> DROP DATABASE southwind;
    Query OK, 0 rows affected (0.11 sec)
       
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
    Query OK, 1 row affected (0.01 sec)
       
    mysql> DROP DATABASE IF EXISTS southwind;
    Query OK, 0 rows affected (0.00 sec)
    07 lebih efisien daripada
    mysql> CREATE DATABASE southwind;
    Query OK, 1 row affected (0.03 sec)
       
    mysql> DROP DATABASE southwind;
    Query OK, 0 rows affected (0.11 sec)
       
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
    Query OK, 1 row affected (0.01 sec)
       
    mysql> DROP DATABASE IF EXISTS southwind;
    Query OK, 0 rows affected (0.00 sec)
    08
  • SELECT .. FROM tableName
    WHERE criteria
    ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
    
    6 juga
    SELECT .. FROM tableName
    WHERE criteria
    ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
    
    9 (bilangan bulat bukan negatif)
  • SELECT .. FROM tableName
    WHERE criteria
    ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
    
    7 adalah
    mysql> CREATE DATABASE southwind;
    Query OK, 1 row affected (0.03 sec)
       
    mysql> DROP DATABASE southwind;
    Query OK, 0 rows affected (0.11 sec)
       
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
    Query OK, 1 row affected (0.01 sec)
       
    mysql> DROP DATABASE IF EXISTS southwind;
    Query OK, 0 rows affected (0.00 sec)
    12- angka desimal dengan 2 tempat desimal
    mysql> CREATE DATABASE southwind;
    Query OK, 1 row affected (0.03 sec)
       
    mysql> DROP DATABASE southwind;
    Query OK, 0 rows affected (0.11 sec)
       
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
    Query OK, 1 row affected (0.01 sec)
       
    mysql> DROP DATABASE IF EXISTS southwind;
    Query OK, 0 rows affected (0.00 sec)
    13 tepat (diwakili sebagai bilangan bulat dengan titik desimal tetap). Di sisi lain,
    mysql> CREATE DATABASE southwind;
    Query OK, 1 row affected (0.03 sec)
       
    mysql> DROP DATABASE southwind;
    Query OK, 0 rows affected (0.11 sec)
       
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
    Query OK, 1 row affected (0.01 sec)
       
    mysql> DROP DATABASE IF EXISTS southwind;
    Query OK, 0 rows affected (0.00 sec)
    14 dan
    mysql> CREATE DATABASE southwind;
    Query OK, 1 row affected (0.03 sec)
       
    mysql> DROP DATABASE southwind;
    Query OK, 0 rows affected (0.11 sec)
       
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
    Query OK, 1 row affected (0.01 sec)
       
    mysql> DROP DATABASE IF EXISTS southwind;
    Query OK, 0 rows affected (0.00 sec)
    15 (bilangan real) tidak tepat dan didekati.
    mysql> CREATE DATABASE southwind;
    Query OK, 1 row affected (0.03 sec)
       
    mysql> DROP DATABASE southwind;
    Query OK, 0 rows affected (0.11 sec)
       
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
    Query OK, 1 row affected (0.01 sec)
       
    mysql> DROP DATABASE IF EXISTS southwind;
    Query OK, 0 rows affected (0.00 sec)
    13 jenis direkomendasikan untuk mata uang

Atribut "

mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
_17" menentukan bahwa kolom tidak boleh berisi nilai
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
18.
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
18 adalah nilai khusus yang menunjukkan "tidak ada nilai", "nilai tidak diketahui" atau "nilai hilang". Dalam kasus kami, kolom ini harus memiliki nilai yang tepat. Kami juga menetapkan nilai default kolom. Kolom akan menggunakan nilai defaultnya, jika tidak ada nilai yang ditentukan selama pembuatan rekaman

Kami mengatur kolom

SELECT .. FROM tableName
WHERE criteria
ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
_3 sebagai apa yang disebut kunci utama. Nilai kolom kunci utama harus unik. Setiap tabel harus berisi kunci utama. Ini memastikan bahwa setiap baris dapat dibedakan dari baris lainnya. Anda dapat menentukan satu kolom atau sekumpulan kolom (mis. g. ,
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
21 dan
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
22) sebagai primary key. Indeks dibangun secara otomatis pada kolom kunci utama untuk memfasilitasi pencarian cepat. Kunci primer juga digunakan sebagai referensi oleh tabel lain

Kami mengatur kolom

SELECT .. FROM tableName
WHERE criteria
ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
3 ke
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
24. dengan nilai awal default 1. Saat Anda menyisipkan baris dengan
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
_18 (disarankan) (atau 0, atau nilai yang hilang) untuk kolom
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
24, nilai maksimum kolom tersebut ditambah 1 akan dimasukkan. Anda juga dapat memasukkan nilai yang valid ke kolom
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
24, melewati penambahan otomatis

Memasukkan Baris - INSERT INTO

Mari isi tabel "

mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
_2" kita dengan baris. Kami menyetel
SELECT .. FROM tableName
WHERE criteria
ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
3 dari record pertama ke 1001, dan menggunakan
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
24 untuk record lainnya dengan memasukkan
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
18, atau dengan nilai kolom yang hilang. Perhatikan bahwa string harus diapit dengan sepasang tanda kutip tunggal (atau tanda kutip ganda)

MASUKKAN KE Sintaks

Kita dapat menggunakan pernyataan

mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
_32 untuk menyisipkan baris baru dengan semua nilai kolom, menggunakan sintaks berikut

Anda perlu mencantumkan nilai dalam urutan yang sama di mana kolom didefinisikan dalam

mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
33, dipisahkan dengan koma. Untuk kolom tipe data string (
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
_08,
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
07), sertakan nilai dengan sepasang tanda kutip tunggal (atau tanda kutip ganda). Untuk kolom tipe data numerik (
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
_36,
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
13,
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
14,
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
15), cukup tempatkan nomornya

Anda juga dapat menyisipkan beberapa baris dalam satu pernyataan ________13______32

INSERT INTO tableName VALUES 
   (row1FirstColumnValue, ..., row1lastColumnValue),
   (row2FirstColumnValue, ..., row2lastColumnValue), 
   ...

Untuk menyisipkan baris dengan nilai hanya pada kolom yang dipilih, gunakan

Kolom yang tersisa akan menerima nilai defaultnya, seperti

mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
24, default, atau
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
18

Meminta Database - PILIH

Tugas yang paling umum, penting, dan kompleks adalah membuat kueri database untuk subset data yang memenuhi kebutuhan Anda - dengan perintah

mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
43. Perintah
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
_43 memiliki sintaks berikut

Sebagai contoh,

PILIH tanpa Tabel

Anda juga dapat menerbitkan

mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
_43 tanpa tabel. Misalnya, Anda dapat
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
_43 ekspresi atau mengevaluasi fungsi bawaan

Operator Perbandingan

Untuk angka (

mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
_36,
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
13,
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
14), Anda dapat menggunakan operator pembanding.
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
50 (sama dengan),
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
51 atau
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
52 (tidak sama dengan),
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
53 (lebih besar dari),
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
54 (kurang dari),
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
55 (lebih besar dari atau sama dengan),
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
56 (kurang dari dua angka atau sama dengan), untuk membandingkan. Misalnya,
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
_57,
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
58

mysql> SELECT name, price FROM products WHERE price < 1.0;
+-----------+-------+
| name      | price |
+-----------+-------+
| Pencil 2B |  0.48 |
| Pencil 2H |  0.49 |
+-----------+-------+
2 rows in set (0.00 sec)
   
mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
+-----------+----------+
| name      | quantity |
+-----------+----------+
| Pen Black |     2000 |
+-----------+----------+
1 row in set (0.00 sec)
_

PERINGATAN. Jangan membandingkan

mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
14s (bilangan real) untuk kesetaraan (
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
50 atau
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
51), karena tidak tepat. Di sisi lain,
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
13 tepat

Untuk string, Anda juga bisa menggunakan

mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
50,
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
51,
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
53,
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
54,
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
55,
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
56 untuk membandingkan dua string (e. g. ,
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
_69 Urutan string tergantung pada apa yang disebut susunan yang dipilih. Sebagai contoh,

Pencocokan Pola String - SUKA dan TIDAK SUKA

Untuk string, selain pencocokan penuh menggunakan operator seperti

mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
50 dan
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
51, kita dapat melakukan pencocokan pola menggunakan operator
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
72 (atau
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
73) dengan karakter wildcard. Wildcard
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
_74 cocok dengan karakter tunggal apa pun; . Sebagai contoh,

  • mysql> CREATE DATABASE southwind;
    Query OK, 1 row affected (0.03 sec)
       
    mysql> DROP DATABASE southwind;
    Query OK, 0 rows affected (0.11 sec)
       
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
    Query OK, 1 row affected (0.01 sec)
       
    mysql> DROP DATABASE IF EXISTS southwind;
    Query OK, 0 rows affected (0.00 sec)
    76 cocok dengan string yang dimulai dengan
    mysql> CREATE DATABASE southwind;
    Query OK, 1 row affected (0.03 sec)
       
    mysql> DROP DATABASE southwind;
    Query OK, 0 rows affected (0.11 sec)
       
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
    Query OK, 1 row affected (0.01 sec)
       
    mysql> DROP DATABASE IF EXISTS southwind;
    Query OK, 0 rows affected (0.00 sec)
    77;
  • mysql> CREATE DATABASE southwind;
    Query OK, 1 row affected (0.03 sec)
       
    mysql> DROP DATABASE southwind;
    Query OK, 0 rows affected (0.11 sec)
       
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
    Query OK, 1 row affected (0.01 sec)
       
    mysql> DROP DATABASE IF EXISTS southwind;
    Query OK, 0 rows affected (0.00 sec)
    78 cocok dengan string yang diakhiri dengan
    mysql> CREATE DATABASE southwind;
    Query OK, 1 row affected (0.03 sec)
       
    mysql> DROP DATABASE southwind;
    Query OK, 0 rows affected (0.11 sec)
       
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
    Query OK, 1 row affected (0.01 sec)
       
    mysql> DROP DATABASE IF EXISTS southwind;
    Query OK, 0 rows affected (0.00 sec)
    79;
  • mysql> CREATE DATABASE southwind;
    Query OK, 1 row affected (0.03 sec)
       
    mysql> DROP DATABASE southwind;
    Query OK, 0 rows affected (0.11 sec)
       
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
    Query OK, 1 row affected (0.01 sec)
       
    mysql> DROP DATABASE IF EXISTS southwind;
    Query OK, 0 rows affected (0.00 sec)
    80 cocok dengan string yang mengandung
    mysql> CREATE DATABASE southwind;
    Query OK, 1 row affected (0.03 sec)
       
    mysql> DROP DATABASE southwind;
    Query OK, 0 rows affected (0.11 sec)
       
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
    Query OK, 1 row affected (0.01 sec)
       
    mysql> DROP DATABASE IF EXISTS southwind;
    Query OK, 0 rows affected (0.00 sec)
    81;
  • mysql> CREATE DATABASE southwind;
    Query OK, 1 row affected (0.03 sec)
       
    mysql> DROP DATABASE southwind;
    Query OK, 0 rows affected (0.11 sec)
       
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
    Query OK, 1 row affected (0.01 sec)
       
    mysql> DROP DATABASE IF EXISTS southwind;
    Query OK, 0 rows affected (0.00 sec)
    82 cocok dengan string yang berisi tepat tiga karakter;
  • mysql> CREATE DATABASE southwind;
    Query OK, 1 row affected (0.03 sec)
       
    mysql> DROP DATABASE southwind;
    Query OK, 0 rows affected (0.11 sec)
       
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
    Query OK, 1 row affected (0.01 sec)
       
    mysql> DROP DATABASE IF EXISTS southwind;
    Query OK, 0 rows affected (0.00 sec)
    83 cocok dengan string yang dimulai dengan
    mysql> CREATE DATABASE southwind;
    Query OK, 1 row affected (0.03 sec)
       
    mysql> DROP DATABASE southwind;
    Query OK, 0 rows affected (0.11 sec)
       
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
    Query OK, 1 row affected (0.01 sec)
       
    mysql> DROP DATABASE IF EXISTS southwind;
    Query OK, 0 rows affected (0.00 sec)
    84, diikuti oleh karakter tunggal, diikuti oleh
    mysql> CREATE DATABASE southwind;
    Query OK, 1 row affected (0.03 sec)
       
    mysql> DROP DATABASE southwind;
    Query OK, 0 rows affected (0.11 sec)
       
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
    Query OK, 1 row affected (0.01 sec)
       
    mysql> DROP DATABASE IF EXISTS southwind;
    Query OK, 0 rows affected (0.00 sec)
    85, diikuti oleh nol atau lebih karakter

MySQL juga mendukung pencocokan ekspresi reguler melalui operator ________13______86

Operator Aritmatika

Anda dapat melakukan operasi aritmatika pada bidang numerik menggunakan operator aritmatika, seperti tabel di bawah ini

Deskripsi Operator+Penjumlahan-Pengurangan*Perkalian/Pembagian DIVInteger Divisi%Modulus (Sisa)
Operator Logika - DAN, ATAU, BUKAN, XOR

Anda dapat menggabungkan beberapa kondisi dengan operator boolean

mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
87,
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
88,
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
89. Anda juga dapat membalikkan kondisi menggunakan operator
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
90. Sebagai contoh,

mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
_
DI, BUKAN DI

Anda dapat memilih dari anggota kumpulan dengan operator ________13______91 (atau ________13______92). Ini lebih mudah dan lebih jelas daripada ekspresi ________13______93 yang setara

mysql> SELECT * FROM products WHERE name IN ('Pen Red', 'Pen Black');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1001 | PEN         | Pen Red   |     5000 |  1.23 |
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
+-----------+-------------+-----------+----------+-------+
ANTARA, BUKAN ANTARA

Untuk memeriksa apakah nilainya berada dalam rentang, Anda dapat menggunakan operator

mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
94. Sekali lagi, ini lebih mudah dan lebih jelas daripada ekspresi
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
93 yang setara

mysql> SELECT * FROM products 
       WHERE (price BETWEEN 1.0 AND 2.0) AND (quantity BETWEEN 1000 AND 2000);
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
+-----------+-------------+-----------+----------+-------+
NULL, BUKAN NULL

mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
18 adalah nilai khusus, yang mewakili "tidak ada nilai", "nilai yang hilang" atau "nilai tidak diketahui". Anda dapat memeriksa apakah suatu kolom berisi
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
_18 oleh
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
98 atau
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
99. Sebagai contoh,

mysql> SELECT * FROM products WHERE productCode IS NULL;
Empty set (0.00 sec)

Menggunakan operator perbandingan (seperti

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
00 atau
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
01) untuk memeriksa
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
18 adalah kesalahan - kesalahan yang sangat umum. Sebagai contoh,

ORDER BY Klausul

Anda dapat mengurutkan baris yang dipilih menggunakan klausa

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
03, dengan sintaks berikut

SELECT .. FROM tableName
WHERE criteria
ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...

Baris yang dipilih akan diurutkan sesuai dengan nilai di

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
04, baik dalam urutan menaik (
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
05) (default) atau menurun (
mysql> SELECT * FROM products WHERE name IN ('Pen Red', 'Pen Black');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1001 | PEN         | Pen Red   |     5000 |  1.23 |
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
+-----------+-------------+-----------+----------+-------+
6). Jika beberapa baris memiliki nilai yang sama di
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
04, maka akan diurutkan menurut
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
08, dan seterusnya. Untuk string, urutannya bisa case-sensitive atau case-insensitive, tergantung pada apa yang disebut urutan susunan karakter yang digunakan. Sebagai contoh,

Anda dapat mengacak catatan yang dikembalikan melalui fungsi ________22______09, e. g. ,

mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
0
Klausul LIMIT

Kueri

mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
_43 pada database besar dapat menghasilkan banyak baris. Anda dapat menggunakan klausa
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
_11 untuk membatasi jumlah baris yang ditampilkan, mis. g. ,

Untuk melanjutkan ke rekaman berikut, Anda dapat menentukan jumlah baris yang akan dilewati, diikuti dengan jumlah baris yang akan ditampilkan di klausa

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
11, sebagai berikut

AS - Alias

Anda dapat menggunakan kata kunci

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
_13 untuk menentukan alias untuk pengidentifikasi (seperti nama kolom, nama tabel). Alias ​​​​akan digunakan dalam menampilkan nama. Itu juga dapat digunakan sebagai referensi. Sebagai contoh,

Perhatikan bahwa pengidentifikasi "

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
14" berisi kosong dan harus tanda kutip balik

Fungsi CONCAT()

Anda juga dapat menggabungkan beberapa kolom sebagai satu (mis. g. , menggabungkan nama belakang dan nama depan) menggunakan fungsi

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
15. Sebagai contoh,

mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
1

Memproduksi Ringkasan Laporan

Untuk menghasilkan laporan ringkasan, kita sering perlu menggabungkan baris terkait

BERBEDA

Sebuah kolom mungkin memiliki nilai duplikat, kita dapat menggunakan kata kunci

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
16 untuk memilih hanya nilai yang berbeda. Kami juga dapat menerapkan
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
_16 ke beberapa kolom untuk memilih kombinasi yang berbeda dari kolom ini. Sebagai contoh,

KELOMPOK DENGAN Klausul

Klausa

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
_18 memungkinkan Anda menciutkan beberapa rekaman dengan nilai yang sama ke dalam grup. Sebagai contoh,

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
_18 dengan sendirinya tidak bermakna. Ini digunakan bersama dengan
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
18 fungsi agregat (seperti
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
21,
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
22,
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
23) untuk menghasilkan ringkasan grup

GROUP BY Fungsi Agregat. COUNT, MAX, MIN, AVG, SUM, STD, GROUP_CONCAT

Kita dapat menerapkan

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
18 Fungsi agregat ke setiap grup untuk menghasilkan laporan ringkasan grup

Fungsi

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
_25 mengembalikan baris yang dipilih; . Sebagai contoh,

Selain

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
_21, ada banyak fungsi agregat ________22______18 lainnya seperti
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
22,
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
31,
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
32 dan
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
23. Sebagai contoh,

klausa MEMILIKI

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
_34 mirip dengan
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
35, tetapi dapat beroperasi pada fungsi agregat
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
18;

DENGAN ROLLUP

Klausa

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
_38 menunjukkan ringkasan ringkasan grup, e. g. ,

Memodifikasi Data - PEMBARUAN

Untuk mengubah data yang ada, gunakan perintah ________22______39, dengan sintaks berikut

mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
2

Sebagai contoh,

PERINGATAN. Jika klausa

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
35 dihilangkan dalam perintah
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
41, SEMUA BARIS akan diperbarui. Oleh karena itu, merupakan praktik yang baik untuk mengeluarkan kueri
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
43, menggunakan kriteria yang sama, untuk memeriksa rangkaian hasil sebelum mengeluarkan
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
41. Ini juga berlaku untuk pernyataan
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
_8 di bagian berikut

Menghapus Baris - HAPUS DARI

Gunakan perintah

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
_45 untuk menghapus baris dari tabel, dengan sintaks berikut

Sebagai contoh,

Berhati-hatilah bahwa

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
_46" tanpa klausa ________22______35 menghapus SEMUA catatan dari tabel. Bahkan dengan klausa
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
_35, Anda mungkin telah menghapus beberapa catatan secara tidak sengaja. Itu selalu disarankan untuk mengeluarkan perintah
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
_43 dengan klausa
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
35 yang sama untuk memeriksa kumpulan hasil sebelum mengeluarkan
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
8 (dan
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
41)

Memuat/Mengekspor Data dari/ke File Teks

Ada beberapa cara untuk menambahkan data ke dalam database. (a) mengeluarkan perintah

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
_53 secara manual;

MUAT INFILE DATA LOKAL. KE TABEL

Selain menggunakan perintah

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
_53 untuk menyisipkan baris, Anda dapat menyimpan data mentah Anda dalam file teks, dan memuatnya ke dalam tabel melalui perintah
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
55. Misalnya, gunakan editor teks untuk MEMBUAT FILE BARU yang disebut "
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
59", di bawah "
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
60" (untuk Windows) atau "
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
61" (untuk Mac), yang berisi catatan berikut, di mana nilainya dipisahkan oleh
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
62. Ekstensi file "
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
63" adalah singkatan dari file teks Comma-Separated Values

mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
3

Anda dapat memuat data mentah ke dalam tabel

mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
2 sebagai berikut

mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
4

Catatan

  • Anda perlu memberikan jalur (absolut atau relatif) dan nama file. Gunakan garis miring ke depan gaya Unix
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
       
    mysql> SHOW CREATE DATABASE southwind \G
    *************************** 1. row ***************************
           Database: southwind
    Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
    65 sebagai pemisah direktori, alih-alih garis miring ke belakang gaya Windows
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
       
    mysql> SHOW CREATE DATABASE southwind \G
    *************************** 1. row ***************************
           Database: southwind
    Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
    66
  • Pembatas baris default (atau end-of-line) adalah
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
       
    mysql> SHOW CREATE DATABASE southwind \G
    *************************** 1. row ***************************
           Database: southwind
    Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
    67 (gaya Unix). Jika file teks disiapkan di Windows, Anda harus menyertakan
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
       
    mysql> SHOW CREATE DATABASE southwind \G
    *************************** 1. row ***************************
           Database: southwind
    Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
    68
  • Pembatas kolom default adalah "tab" (dalam apa yang disebut file TSV - Tab-Separated Values). Jika Anda menggunakan pembatas lain, mis. g.
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
       
    mysql> SHOW CREATE DATABASE southwind \G
    *************************** 1. row ***************************
           Database: southwind
    Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
    _62, termasuk
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
       
    mysql> SHOW CREATE DATABASE southwind \G
    *************************** 1. row ***************************
           Database: southwind
    Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
    70
  • Anda perlu menggunakan
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
       
    mysql> SHOW CREATE DATABASE southwind \G
    *************************** 1. row ***************************
           Database: southwind
    Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
    _71 untuk
    mysql> CREATE DATABASE southwind;
    Query OK, 1 row affected (0.03 sec)
       
    mysql> DROP DATABASE southwind;
    Query OK, 0 rows affected (0.11 sec)
       
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
    Query OK, 1 row affected (0.01 sec)
       
    mysql> DROP DATABASE IF EXISTS southwind;
    Query OK, 0 rows affected (0.00 sec)
    18
Program Utilitas mysqlimport

Anda juga dapat menggunakan program utilitas

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
56 untuk memuat data dari file teks

mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
5
PILIH. KE OUTFILE

Memuji

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
55 perintah, Anda dapat menggunakan
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
75 untuk mengekspor data dari tabel ke file teks. Sebagai contoh,

mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
6

Menjalankan Skrip SQL

Alih-alih memasukkan setiap pernyataan SQL secara manual, Anda dapat menyimpan banyak pernyataan SQL dalam file teks, yang disebut skrip SQL, dan menjalankan skrip. Misalnya, gunakan editor teks pemrograman untuk menyiapkan skrip berikut dan simpan sebagai "

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
76" di bawah "
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
60" (untuk Windows) atau "
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
61" (untuk Mac)

mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
7

Anda juga dapat menjalankan skrip

  1. melalui perintah "
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
       
    mysql> SHOW CREATE DATABASE southwind \G
    *************************** 1. row ***************************
           Database: southwind
    Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
    _79" di klien MySQL. Misalnya untuk mengembalikan cadangan
    mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
    +-----------+-------------+----------+----------+-------+
    | productID | productCode | name     | quantity | price |
    +-----------+-------------+----------+----------+-------+
    |      1001 | PEN         | Pen Red  |     5000 |  1.23 |
    |      1002 | PEN         | Pen Blue |     8000 |  1.25 |
    +-----------+-------------+----------+----------+-------+
     
    mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
    +-----------+-------------+---------+----------+-------+
    | productID | productCode | name    | quantity | price |
    +-----------+-------------+---------+----------+-------+
    |      1001 | PEN         | Pen Red |     5000 |  1.23 |
    +-----------+-------------+---------+----------+-------+
       
    mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
    +-----------+-------------+-----------+----------+-------+
    | productID | productCode | name      | quantity | price |
    +-----------+-------------+-----------+----------+-------+
    |      1003 | PEN         | Pen Black |     2000 |  1.25 |
    |      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
    |      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
    +-----------+-------------+-----------+----------+-------+
    _1 tadi
  2. melalui "mode batch" dari program klien
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    _7, dengan mengarahkan ulang input dari skrip.
    mysql> CREATE DATABASE southwind;
    Query OK, 1 row affected (0.03 sec)
       
    mysql> DROP DATABASE southwind;
    Query OK, 0 rows affected (0.11 sec)
       
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
    Query OK, 1 row affected (0.01 sec)
       
    mysql> DROP DATABASE IF EXISTS southwind;
    Query OK, 0 rows affected (0.00 sec)
    8

Lebih Dari Satu Meja

Contoh kita sejauh ini hanya melibatkan satu tabel "

mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
2". Database praktis berisi banyak tabel terkait

Produk memiliki pemasok. Jika setiap produk memiliki satu pemasok, dan setiap pemasok hanya memasok satu produk (dikenal sebagai hubungan satu-ke-satu), kita cukup menambahkan data pemasok (nama, alamat, nomor telepon) ke dalam tabel

mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
2. Misalkan setiap produk memiliki satu pemasok, dan pemasok dapat memasok nol atau lebih produk (dikenal sebagai hubungan satu-ke-banyak). Menempatkan data pemasok ke dalam tabel
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
_2 mengakibatkan duplikasi data. Hal ini karena satu pemasok dapat memasok banyak produk, sehingga data pemasok yang sama muncul dalam banyak baris. Ini tidak hanya memboroskan penyimpanan tetapi juga dengan mudah menyebabkan inkonsistensi (karena semua data duplikat harus diperbarui secara bersamaan). Situasi menjadi lebih rumit jika satu produk memiliki banyak pemasok, dan masing-masing pemasok dapat memasok banyak produk, dalam hubungan banyak-ke-banyak.

Relasi Satu Ke Banyak

Misalkan setiap produk memiliki satu pemasok, dan setiap pemasok memasok satu atau lebih produk. Kita bisa membuat tabel bernama

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
_85 untuk menyimpan data pemasok (mis. g. , nama, alamat, dan nomor telepon). Kami membuat kolom dengan nilai unik yang disebut
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
86 untuk mengidentifikasi setiap pemasok. Kami menetapkan
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
_86 sebagai kunci utama untuk tabel
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
85 (untuk memastikan keunikan dan memfasilitasi pencarian cepat)

Untuk menghubungkan tabel

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
_85 dengan tabel
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
2, kita menambahkan kolom baru ke dalam tabel
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
2 - tabel
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
86. Kami kemudian mengatur kolom
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
86 dari tabel
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
2 sebagai kunci asing yang mereferensikan kolom
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
86 dari tabel
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
85 untuk memastikan apa yang disebut integritas referensial

Basis data. angin selatan
Meja. ID pemasokpemasok
INTname
VARCHAR(3)telepon
CHAR(8)501ABC Traders88881111502XYZ Company88882222503QQ Corp88883333
Basis data. angin selatan
Meja. ID produk produk
INTproductCode
Nama CHAR(3).
VARCHAR(30) kuantitas
INTharga
DECIMAL(10,2)ID pemasok
INT
(Kunci Asing)2001PECPencil 3B5000. 525012002PECPencil 4B2000. 625012003PECPensil 5B1000. 735012004PECPensil 6B5000. 47502

Pertama-tama kita harus membuat tabel

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
_85, karena tabel
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
2 mereferensikan tabel ________22______85. Tabel
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
_85 dikenal sebagai tabel induk;

mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
_9
MENGUBAH TABEL

Alih-alih menghapus dan membuat ulang tabel

mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
2, kami akan menggunakan "
INSERT INTO tableName VALUES 
   (row1FirstColumnValue, ..., row1lastColumnValue),
   (row2FirstColumnValue, ..., row2lastColumnValue), 
   ...
03" untuk menambahkan kolom baru
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
86 ke dalam tabel
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
2

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
_0

Selanjutnya, kita akan menambahkan batasan kunci asing pada kolom

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
86 dari tabel anak
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
2 ke tabel induk
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
85, untuk memastikan bahwa setiap
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
86 di tabel
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
2 selalu merujuk ke
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
86 yang valid di
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
85 tabel - ini disebut integritas referensi

Sebelum kita dapat menambahkan kunci asing, kita perlu mengatur

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
86 dari catatan yang ada di tabel
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
2 ke
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
86 yang valid di tabel (katakanlah
INSERT INTO tableName VALUES 
   (row1FirstColumnValue, ..., row1lastColumnValue),
   (row2FirstColumnValue, ..., row2lastColumnValue), 
   ...
16)

PILIH dengan GABUNG

mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
43 perintah dapat digunakan untuk kueri dan menggabungkan data dari dua tabel terkait. Misalnya, untuk mencantumkan produk
SELECT .. FROM tableName
WHERE criteria
ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
_5 (dalam tabel
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
2) dan pemasok
SELECT .. FROM tableName
WHERE criteria
ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
5 (dalam tabel
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
85), kita dapat menggabungkan dua tabel melalui dua kolom umum
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
86

Dalam hasil kueri di atas, dua kolom memiliki tajuk yang sama "

SELECT .. FROM tableName
WHERE criteria
ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
5". Kita bisa membuat alias untuk heading

Diagram database seperti yang diilustrasikan. Tautan menunjukkan hubungan satu-ke-banyak antara

mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
2 dan
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
85

Jatuhkan kunci asing mysql jika ada

Relasi Banyak ke Banyak

Misalkan suatu produk memiliki banyak pemasok; . Solusi di atas rusak. Anda tidak dapat menyertakan

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
86 dalam tabel
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
2, karena Anda tidak dapat menentukan jumlah pemasok, dan karenanya, jumlah kolom yang diperlukan untuk
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
86s. Demikian pula, Anda tidak dapat memasukkan
SELECT .. FROM tableName
WHERE criteria
ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
_3 dalam tabel
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
85, karena Anda tidak dapat menentukan jumlah produk

Untuk mengatasi masalah ini, Anda perlu membuat tabel baru, yang dikenal sebagai tabel persimpangan (atau tabel gabungan), untuk menyediakan tautan. Sebut saja tabel persimpangan

INSERT INTO tableName VALUES 
   (row1FirstColumnValue, ..., row1lastColumnValue),
   (row2FirstColumnValue, ..., row2lastColumnValue), 
   ...
31, seperti yang diilustrasikan

Basis data. angin selatan
Meja. product_suppliersproductID
INT
ID pemasok (Kunci Asing).
INT
(Kunci Asing)20015012002501200350120045022001503
Basis data. angin selatan
Meja. ID pemasokpemasok
INTname
VARCHAR(30)telepon
CHAR(8)501ABC Traders88881111502XYZ Company88882222503QQ Corp88883333
Basis data. angin selatan
Meja. ID produk produk
INTproductCode
Nama CHAR(3).
VARCHAR(30) kuantitas
INTharga
DECIMAL(10,2)2001PECPensil 3B5000. 522002PECPencil 4B2000. 622003PEPensil 5B1000. 732004PECPensil 6B5000. 47

Mari buat tabel

INSERT INTO tableName VALUES 
   (row1FirstColumnValue, ..., row1lastColumnValue),
   (row2FirstColumnValue, ..., row2lastColumnValue), 
   ...
_31. Kunci utama tabel terdiri dari dua kolom.
SELECT .. FROM tableName
WHERE criteria
ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
3 dan
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
86, karena kombinasinya secara unik mengidentifikasi setiap baris. Kunci utama ini didefinisikan untuk memastikan keunikan. Dua kunci asing didefinisikan untuk mengatur batasan ke dua tabel induk

Selanjutnya, hapus kolom

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
_86 dari tabel
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
2. (Kolom ini ditambahkan untuk menetapkan hubungan satu-ke-banyak. Itu tidak lagi diperlukan dalam hubungan banyak-ke-banyak. )

Sebelum kolom ini dapat dihapus, Anda harus menghapus kunci asing yang dibuat di kolom ini. Untuk menghapus kunci di MySQL, Anda perlu mengetahui nama batasannya, yang dibuat oleh sistem. Untuk menemukan nama kendala, keluarkan "

INSERT INTO tableName VALUES 
   (row1FirstColumnValue, ..., row1lastColumnValue),
   (row2FirstColumnValue, ..., row2lastColumnValue), 
   ...
37" dan catat nama kendala kunci asing di klausa "
INSERT INTO tableName VALUES 
   (row1FirstColumnValue, ..., row1lastColumnValue),
   (row2FirstColumnValue, ..., row2lastColumnValue), 
   ...
38". Anda kemudian dapat melepaskan kunci asing menggunakan "
INSERT INTO tableName VALUES 
   (row1FirstColumnValue, ..., row1lastColumnValue),
   (row2FirstColumnValue, ..., row2lastColumnValue), 
   ...
39"

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
_1

Sekarang, kita dapat menghapus kolom redundan ________22______86 kolom

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
_2
Meminta

Demikian pula, kita dapat menggunakan

mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
_43 dengan
INSERT INTO tableName VALUES 
   (row1FirstColumnValue, ..., row1lastColumnValue),
   (row2FirstColumnValue, ..., row2lastColumnValue), 
   ...
42 untuk meminta data dari 3 tabel, misalnya,

Diagram basis data adalah sebagai berikut. Baik tabel

mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
2 dan
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
85 menunjukkan hubungan satu-ke-banyak ke tabel persimpangan. Hubungan banyak-ke-banyak didukung melalui tabel persimpangan

Jatuhkan kunci asing mysql jika ada

Hubungan Satu-ke-satu

Misalkan beberapa produk memiliki data opsional (mis. g. , foto, komentar). Alih-alih menyimpan data opsional ini di tabel

mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
_2, lebih efisien untuk membuat tabel lain bernama
INSERT INTO tableName VALUES 
   (row1FirstColumnValue, ..., row1lastColumnValue),
   (row2FirstColumnValue, ..., row2lastColumnValue), 
   ...
46s, dan menautkannya ke
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
2 dengan hubungan satu-ke-satu, seperti yang diilustrasikan

Jatuhkan kunci asing mysql jika ada
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
_3

Cadangkan dan Pulihkan

Cadangan. Sebelum kita menyimpulkan contoh ini, mari kita jalankan program utilitas

INSERT INTO tableName VALUES 
   (row1FirstColumnValue, ..., row1lastColumnValue),
   (row2FirstColumnValue, ..., row2lastColumnValue), 
   ...
48 untuk membuang (mencadangkan) seluruh database
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
1

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
_4

Pelajari file output, yang berisi

mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
_9,
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
33 dan
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
53 pernyataan untuk membuat ulang tabel yang dibuang

SYNTAX untuk program utilitas ________99______48 adalah sebagai berikut

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
_5

Memulihkan. Utilitas

INSERT INTO tableName VALUES 
   (row1FirstColumnValue, ..., row1lastColumnValue),
   (row2FirstColumnValue, ..., row2lastColumnValue), 
   ...
48 menghasilkan skrip SQL (terdiri dari
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
33 dan
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
53 perintah untuk membuat ulang tabel dan memuat datanya). Anda juga dapat memulihkan dari cadangan dengan menjalankan skrip

  1. melalui perintah "
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
       
    mysql> SHOW CREATE DATABASE southwind \G
    *************************** 1. row ***************************
           Database: southwind
    Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
    _79" di klien interaktif. Misalnya untuk mengembalikan cadangan
    mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
    +-----------+-------------+----------+----------+-------+
    | productID | productCode | name     | quantity | price |
    +-----------+-------------+----------+----------+-------+
    |      1001 | PEN         | Pen Red  |     5000 |  1.23 |
    |      1002 | PEN         | Pen Blue |     8000 |  1.25 |
    +-----------+-------------+----------+----------+-------+
     
    mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
    +-----------+-------------+---------+----------+-------+
    | productID | productCode | name    | quantity | price |
    +-----------+-------------+---------+----------+-------+
    |      1001 | PEN         | Pen Red |     5000 |  1.23 |
    +-----------+-------------+---------+----------+-------+
       
    mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
    +-----------+-------------+-----------+----------+-------+
    | productID | productCode | name      | quantity | price |
    +-----------+-------------+-----------+----------+-------+
    |      1003 | PEN         | Pen Black |     2000 |  1.25 |
    |      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
    |      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
    +-----------+-------------+-----------+----------+-------+
    _1 tadi
  2. melalui "mode batch" dari program klien
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    _7 dengan mengarahkan ulang input dari skrip

Lebih lanjut tentang Kunci Utama, Kunci Asing, dan Indeks

Kunci utama

Dalam model relasional, tabel tidak boleh berisi baris duplikat, karena akan menimbulkan ambiguitas dalam pengambilan. Untuk memastikan keunikan, setiap tabel harus memiliki kolom (atau sekumpulan kolom), yang disebut primary key, yang secara unik mengidentifikasi setiap record tabel. Misalnya, nomor unik

INSERT INTO tableName VALUES 
   (row1FirstColumnValue, ..., row1lastColumnValue),
   (row2FirstColumnValue, ..., row2lastColumnValue), 
   ...
_60 dapat digunakan sebagai kunci utama untuk tabel
INSERT INTO tableName VALUES 
   (row1FirstColumnValue, ..., row1lastColumnValue),
   (row2FirstColumnValue, ..., row2lastColumnValue), 
   ...
61; . Kunci utama disebut kunci sederhana jika itu adalah satu kolom; . Sebagian besar RDBMS membuat indeks pada kunci utama untuk memfasilitasi pencarian cepat. Kunci utama sering digunakan untuk berhubungan dengan tabel lain

Kunci asing

Kunci asing dari tabel anak digunakan untuk mereferensikan tabel induk. Batasan kunci asing dapat dikenakan untuk memastikan apa yang disebut integritas referensial - nilai dalam tabel anak harus merupakan nilai yang valid dalam tabel induk

Kami mendefinisikan kunci asing saat mendefinisikan tabel anak, yang mereferensikan tabel induk, sebagai berikut

Anda dapat menentukan tindakan referensi untuk

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
41 dan
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
8 melalui klausa
INSERT INTO tableName VALUES 
   (row1FirstColumnValue, ..., row1lastColumnValue),
   (row2FirstColumnValue, ..., row2lastColumnValue), 
   ...
68 dan
INSERT INTO tableName VALUES 
   (row1FirstColumnValue, ..., row1lastColumnValue),
   (row2FirstColumnValue, ..., row2lastColumnValue), 
   ...
69 opsional

  1. INSERT INTO tableName VALUES 
       (row1FirstColumnValue, ..., row1lastColumnValue),
       (row2FirstColumnValue, ..., row2lastColumnValue), 
       ...
    _70 (standar). larang
    mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
    +-----------+-------------+----------+----------+-------+
    | productID | productCode | name     | quantity | price |
    +-----------+-------------+----------+----------+-------+
    |      1001 | PEN         | Pen Red  |     5000 |  1.23 |
    |      1002 | PEN         | Pen Blue |     8000 |  1.25 |
    +-----------+-------------+----------+----------+-------+
     
    mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
    +-----------+-------------+---------+----------+-------+
    | productID | productCode | name    | quantity | price |
    +-----------+-------------+---------+----------+-------+
    |      1001 | PEN         | Pen Red |     5000 |  1.23 |
    +-----------+-------------+---------+----------+-------+
       
    mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
    +-----------+-------------+-----------+----------+-------+
    | productID | productCode | name      | quantity | price |
    +-----------+-------------+-----------+----------+-------+
    |      1003 | PEN         | Pen Black |     2000 |  1.25 |
    |      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
    |      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
    +-----------+-------------+-----------+----------+-------+
    8 atau
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
       
    mysql> SHOW CREATE DATABASE southwind \G
    *************************** 1. row ***************************
           Database: southwind
    Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
    41 dari baris induk, jika ada baris yang cocok di tabel anak
  2. INSERT INTO tableName VALUES 
       (row1FirstColumnValue, ..., row1lastColumnValue),
       (row2FirstColumnValue, ..., row2lastColumnValue), 
       ...
    _73. kaskade tindakan
    mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
    +-----------+-------------+----------+----------+-------+
    | productID | productCode | name     | quantity | price |
    +-----------+-------------+----------+----------+-------+
    |      1001 | PEN         | Pen Red  |     5000 |  1.23 |
    |      1002 | PEN         | Pen Blue |     8000 |  1.25 |
    +-----------+-------------+----------+----------+-------+
     
    mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
    +-----------+-------------+---------+----------+-------+
    | productID | productCode | name    | quantity | price |
    +-----------+-------------+---------+----------+-------+
    |      1001 | PEN         | Pen Red |     5000 |  1.23 |
    +-----------+-------------+---------+----------+-------+
       
    mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
    +-----------+-------------+-----------+----------+-------+
    | productID | productCode | name      | quantity | price |
    +-----------+-------------+-----------+----------+-------+
    |      1003 | PEN         | Pen Black |     2000 |  1.25 |
    |      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
    |      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
    +-----------+-------------+-----------+----------+-------+
    8 atau
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
       
    mysql> SHOW CREATE DATABASE southwind \G
    *************************** 1. row ***************************
           Database: southwind
    Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
    41 ke baris yang cocok di tabel anak
  3. INSERT INTO tableName VALUES 
       (row1FirstColumnValue, ..., row1lastColumnValue),
       (row2FirstColumnValue, ..., row2lastColumnValue), 
       ...
    _76. setel nilai kunci asing di tabel anak ke
    mysql> CREATE DATABASE southwind;
    Query OK, 1 row affected (0.03 sec)
       
    mysql> DROP DATABASE southwind;
    Query OK, 0 rows affected (0.11 sec)
       
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
    Query OK, 1 row affected (0.01 sec)
       
    mysql> DROP DATABASE IF EXISTS southwind;
    Query OK, 0 rows affected (0.00 sec)
    18 (jika
    mysql> CREATE DATABASE southwind;
    Query OK, 1 row affected (0.03 sec)
       
    mysql> DROP DATABASE southwind;
    Query OK, 0 rows affected (0.11 sec)
       
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
    Query OK, 1 row affected (0.01 sec)
       
    mysql> DROP DATABASE IF EXISTS southwind;
    Query OK, 0 rows affected (0.00 sec)
    18 diizinkan)
  4. INSERT INTO tableName VALUES 
       (row1FirstColumnValue, ..., row1lastColumnValue),
       (row2FirstColumnValue, ..., row2lastColumnValue), 
       ...
    _79. istilah SQL yang berarti tidak ada tindakan pada baris induk. Sama seperti
    INSERT INTO tableName VALUES 
       (row1FirstColumnValue, ..., row1lastColumnValue),
       (row2FirstColumnValue, ..., row2lastColumnValue), 
       ...
    70 di MySQL, yang melarang
    mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
    +-----------+-------------+----------+----------+-------+
    | productID | productCode | name     | quantity | price |
    +-----------+-------------+----------+----------+-------+
    |      1001 | PEN         | Pen Red  |     5000 |  1.23 |
    |      1002 | PEN         | Pen Blue |     8000 |  1.25 |
    +-----------+-------------+----------+----------+-------+
     
    mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
    +-----------+-------------+---------+----------+-------+
    | productID | productCode | name    | quantity | price |
    +-----------+-------------+---------+----------+-------+
    |      1001 | PEN         | Pen Red |     5000 |  1.23 |
    +-----------+-------------+---------+----------+-------+
       
    mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
    +-----------+-------------+-----------+----------+-------+
    | productID | productCode | name      | quantity | price |
    +-----------+-------------+-----------+----------+-------+
    |      1003 | PEN         | Pen Black |     2000 |  1.25 |
    |      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
    |      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
    +-----------+-------------+-----------+----------+-------+
    8 atau
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
       
    mysql> SHOW CREATE DATABASE southwind \G
    *************************** 1. row ***************************
           Database: southwind
    Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
    41 (tidak melakukan apa-apa)

Coba hapus catatan di tabel

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
85 (induk) yang direferensikan oleh
INSERT INTO tableName VALUES 
   (row1FirstColumnValue, ..., row1lastColumnValue),
   (row2FirstColumnValue, ..., row2lastColumnValue), 
   ...
31 tabel (anak), e. g. ,

Rekaman tidak dapat dihapus karena batasan "________99______85" default diberlakukan

Indeks (atau Kunci)

Indeks (atau Kunci) dapat dibuat pada kolom yang dipilih untuk memfasilitasi pencarian cepat. Tanpa indeks, "

INSERT INTO tableName VALUES 
   (row1FirstColumnValue, ..., row1lastColumnValue),
   (row2FirstColumnValue, ..., row2lastColumnValue), 
   ...
86" harus cocok dengan kolom
SELECT .. FROM tableName
WHERE criteria
ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
3 dari semua catatan di tabel
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
2. Jika
SELECT .. FROM tableName
WHERE criteria
ORDER BY columnA ASC|DESC, columnB ASC|DESC, ...
_3 kolom diindeks (mis. g. , menggunakan pohon biner), pencocokan dapat sangat ditingkatkan (melalui pencarian pohon biner)

Anda harus mengindeks kolom yang sering digunakan dalam klausa ________22______35;

Kelemahan tentang pengindeksan adalah biaya dan ruang. Membangun dan memelihara indeks membutuhkan komputasi dan ruang memori. Indeks memfasilitasi pencarian cepat tetapi menghabiskan kinerja dalam memodifikasi tabel (

INSERT INTO tableName VALUES 
   (row1FirstColumnValue, ..., row1lastColumnValue),
   (row2FirstColumnValue, ..., row2lastColumnValue), 
   ...
92), dan perlu dibenarkan. Namun demikian, database relasional biasanya dioptimalkan untuk kueri dan pengambilan, tetapi BUKAN untuk pembaruan

Di MySQL, kata kunci

INSERT INTO tableName VALUES 
   (row1FirstColumnValue, ..., row1lastColumnValue),
   (row2FirstColumnValue, ..., row2lastColumnValue), 
   ...
_93 adalah sinonim untuk
INSERT INTO tableName VALUES 
   (row1FirstColumnValue, ..., row1lastColumnValue),
   (row2FirstColumnValue, ..., row2lastColumnValue), 
   ...
94

Di MySQL, indeks dapat dibangun

  1. satu kolom (kolom-indeks)
  2. satu set kolom (concatenated-index)
  3. pada kolom nilai unik (
    INSERT INTO tableName VALUES 
       (row1FirstColumnValue, ..., row1lastColumnValue),
       (row2FirstColumnValue, ..., row2lastColumnValue), 
       ...
    _95 atau
    INSERT INTO tableName VALUES 
       (row1FirstColumnValue, ..., row1lastColumnValue),
       (row2FirstColumnValue, ..., row2lastColumnValue), 
       ...
    96)
  4. pada awalan kolom untuk string (
    mysql> CREATE DATABASE southwind;
    Query OK, 1 row affected (0.03 sec)
       
    mysql> DROP DATABASE southwind;
    Query OK, 0 rows affected (0.11 sec)
       
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
    Query OK, 1 row affected (0.01 sec)
       
    mysql> DROP DATABASE IF EXISTS southwind;
    Query OK, 0 rows affected (0.00 sec)
    07 atau
    mysql> CREATE DATABASE southwind;
    Query OK, 1 row affected (0.03 sec)
       
    mysql> DROP DATABASE southwind;
    Query OK, 0 rows affected (0.11 sec)
       
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
    Query OK, 1 row affected (0.01 sec)
       
    mysql> DROP DATABASE IF EXISTS southwind;
    Query OK, 0 rows affected (0.00 sec)
    08), e. g. , 5 karakter pertama

Bisa ada lebih dari satu indeks dalam sebuah tabel. Indeks secara otomatis dibuat di kolom kunci utama

Anda dapat membangun indeks melalui

mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
33,
mysql> SELECT name, price FROM products WHERE price < 1.0;
+-----------+-------+
| name      | price |
+-----------+-------+
| Pencil 2B |  0.48 |
| Pencil 2H |  0.49 |
+-----------+-------+
2 rows in set (0.00 sec)
   
mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
+-----------+----------+
| name      | quantity |
+-----------+----------+
| Pen Black |     2000 |
+-----------+----------+
1 row in set (0.00 sec)
00 atau
INSERT INTO tableName VALUES 
   (row1FirstColumnValue, ..., row1lastColumnValue),
   (row2FirstColumnValue, ..., row2lastColumnValue), 
   ...
03

Lebih SQL

Sub-Permintaan

Hasil dari satu kueri dapat digunakan dalam pernyataan SQL lainnya. Subquery berguna jika lebih dari satu tabel yang terlibat

PILIH dengan Subquery

Pada contoh penjualan produk many-to-many sebelumnya, bagaimana menemukan pemasok yang tidak memasok produk apapun?

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
_6

Bisakah Anda melakukan ini tanpa sub-permintaan?

Subquery dapat mengembalikan skalar, satu kolom, satu baris, atau tabel. Anda dapat menggunakan operator perbandingan (mis. g. ,

mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
_50,
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
53) pada skalar,
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
91 atau
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
92 untuk baris atau kolom tunggal,
mysql> SELECT name, price FROM products WHERE price < 1.0;
+-----------+-------+
| name      | price |
+-----------+-------+
| Pencil 2B |  0.48 |
| Pencil 2H |  0.49 |
+-----------+-------+
2 rows in set (0.00 sec)
   
mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
+-----------+----------+
| name      | quantity |
+-----------+----------+
| Pen Black |     2000 |
+-----------+----------+
1 row in set (0.00 sec)
08 atau
mysql> SELECT name, price FROM products WHERE price < 1.0;
+-----------+-------+
| name      | price |
+-----------+-------+
| Pencil 2B |  0.48 |
| Pencil 2H |  0.49 |
+-----------+-------+
2 rows in set (0.00 sec)
   
mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
+-----------+----------+
| name      | quantity |
+-----------+----------+
| Pen Black |     2000 |
+-----------+----------+
1 row in set (0.00 sec)
09 untuk menguji himpunan kosong

MENYISIPKAN. MEMPERBARUI. HAPUS dengan Subquery

Anda juga dapat menggunakan subquery dengan pernyataan SQL lainnya seperti

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
53,
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
8, atau
mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
41. Sebagai contoh,

Bekerja dengan Tanggal dan Waktu

Tanggal dan waktu sangat menarik untuk aplikasi basis data. Ini karena catatan bisnis sering memuat informasi tanggal/waktu (mis. g. ,

mysql> SELECT name, price FROM products WHERE price < 1.0;
+-----------+-------+
| name      | price |
+-----------+-------+
| Pencil 2B |  0.48 |
| Pencil 2H |  0.49 |
+-----------+-------+
2 rows in set (0.00 sec)
   
mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
+-----------+----------+
| name      | quantity |
+-----------+----------+
| Pen Black |     2000 |
+-----------+----------+
1 row in set (0.00 sec)
_13,
mysql> SELECT name, price FROM products WHERE price < 1.0;
+-----------+-------+
| name      | price |
+-----------+-------+
| Pencil 2B |  0.48 |
| Pencil 2H |  0.49 |
+-----------+-------+
2 rows in set (0.00 sec)
   
mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
+-----------+----------+
| name      | quantity |
+-----------+----------+
| Pen Black |     2000 |
+-----------+----------+
1 row in set (0.00 sec)
14,
mysql> SELECT name, price FROM products WHERE price < 1.0;
+-----------+-------+
| name      | price |
+-----------+-------+
| Pencil 2B |  0.48 |
| Pencil 2H |  0.49 |
+-----------+-------+
2 rows in set (0.00 sec)
   
mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
+-----------+----------+
| name      | quantity |
+-----------+----------+
| Pen Black |     2000 |
+-----------+----------+
1 row in set (0.00 sec)
15,
mysql> SELECT name, price FROM products WHERE price < 1.0;
+-----------+-------+
| name      | price |
+-----------+-------+
| Pencil 2B |  0.48 |
| Pencil 2H |  0.49 |
+-----------+-------+
2 rows in set (0.00 sec)
   
mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
+-----------+----------+
| name      | quantity |
+-----------+----------+
| Pen Black |     2000 |
+-----------+----------+
1 row in set (0.00 sec)
16), serta kebutuhan untuk menandai waktu pembuatan dan pembaruan terakhir catatan untuk audit dan keamanan

Dengan tipe data tanggal/waktu, Anda dapat mengurutkan hasil berdasarkan tanggal, mencari tanggal tertentu atau rentang tanggal, menghitung selisih antara tanggal, menghitung tanggal baru dengan menambahkan/mengurangi interval dari tanggal tertentu

Tanggal Dengan Contoh

Mari kita mulai dengan Tanggal (tanpa Waktu) dengan contoh berikut. Perhatikan bahwa nilai tanggal harus ditulis sebagai string dalam format

mysql> SELECT name, price FROM products WHERE price < 1.0;
+-----------+-------+
| name      | price |
+-----------+-------+
| Pencil 2B |  0.48 |
| Pencil 2H |  0.49 |
+-----------+-------+
2 rows in set (0.00 sec)
   
mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
+-----------+----------+
| name      | quantity |
+-----------+----------+
| Pen Black |     2000 |
+-----------+----------+
1 row in set (0.00 sec)
17, e. g. ,
mysql> SELECT name, price FROM products WHERE price < 1.0;
+-----------+-------+
| name      | price |
+-----------+-------+
| Pencil 2B |  0.48 |
| Pencil 2H |  0.49 |
+-----------+-------+
2 rows in set (0.00 sec)
   
mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
+-----------+----------+
| name      | quantity |
+-----------+----------+
| Pen Black |     2000 |
+-----------+----------+
1 row in set (0.00 sec)
_18

Fungsi Tanggal/Waktu

MySQL menyediakan fungsi bawaan ini untuk mendapatkan tanggal, waktu, dan waktu saat ini

  • mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    _19. mengembalikan tanggal dan waktu saat ini dalam format
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    20
  • mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    _21 (atau
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    22, atau
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    23). mengembalikan tanggal saat ini dalam format
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    _24
  • mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    _25 (atau
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    26, atau
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    27). mengembalikan waktu saat ini dalam format
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    28

Sebagai contoh,

mysql> CREATE DATABASE IF NOT EXISTS southwind;
   
mysql> SHOW CREATE DATABASE southwind \G
*************************** 1. row ***************************
       Database: southwind
Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
_7
Jenis Tanggal/Waktu SQL

MySQL menyediakan tipe data tanggal/waktu ini

  • mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    _29. menyimpan tanggal dan waktu dalam format
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    20. Rentang yang valid adalah
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    31 hingga
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    32. Anda dapat menetapkan nilai menggunakan format yang valid (mis. g. ,
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    _33). Anda juga dapat menerapkan fungsi
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    19 atau
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    21 (waktu akan diatur ke
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    36), tetapi tidak
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    25
  • mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    _38. menyimpan tanggal hanya dalam format
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    _24. Kisarannya adalah
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    40 hingga
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    41. Anda dapat menerapkan
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    21 atau
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    19 (waktu dibuang) di bidang ini
  • mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    _44. menyimpan waktu hanya dalam format
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    _28. Anda dapat menerapkan
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    25 atau
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    19 (tanggal dibuang) untuk bidang ini
  • mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    _48. di
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    49 atau
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    50. Kisaran tahun adalah 1901 hingga 2155. Gunakan tipe
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    _51 untuk tahun di luar rentang ini. Anda dapat menerapkan
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    21 ke kolom ini (bulan dan tanggal dibuang)
  • mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    _53. mirip dengan
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    _29 tetapi menyimpan jumlah detik sejak 1 Januari 1970 UTC (gaya Unix). Kisarannya adalah
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    55 hingga
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    56
    Perbedaan antara
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    29 dan
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    58 adalah
    1. jangkauan,
    2. dukungan untuk zona waktu,
    3. Kolom
      mysql> SELECT name, price FROM products WHERE price < 1.0;
      +-----------+-------+
      | name      | price |
      +-----------+-------+
      | Pencil 2B |  0.48 |
      | Pencil 2H |  0.49 |
      +-----------+-------+
      2 rows in set (0.00 sec)
         
      mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
      +-----------+----------+
      | name      | quantity |
      +-----------+----------+
      | Pen Black |     2000 |
      +-----------+----------+
      1 row in set (0.00 sec)
      _58 dapat dideklarasikan dengan
      mysql> SELECT name, price FROM products WHERE price < 1.0;
      +-----------+-------+
      | name      | price |
      +-----------+-------+
      | Pencil 2B |  0.48 |
      | Pencil 2H |  0.49 |
      +-----------+-------+
      2 rows in set (0.00 sec)
         
      mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
      +-----------+----------+
      | name      | quantity |
      +-----------+----------+
      | Pen Black |     2000 |
      +-----------+----------+
      1 row in set (0.00 sec)
      60 untuk menetapkan nilai default ke tanggal/waktu saat ini. (Semua tipe data lain default, termasuk
      mysql> SELECT name, price FROM products WHERE price < 1.0;
      +-----------+-------+
      | name      | price |
      +-----------+-------+
      | Pencil 2B |  0.48 |
      | Pencil 2H |  0.49 |
      +-----------+-------+
      2 rows in set (0.00 sec)
         
      mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
      +-----------+----------+
      | name      | quantity |
      +-----------+----------+
      | Pen Black |     2000 |
      +-----------+----------+
      1 row in set (0.00 sec)
      29, harus berupa konstanta dan bukan nilai pengembalian fungsi). Anda juga dapat mendeklarasikan kolom
      mysql> SELECT name, price FROM products WHERE price < 1.0;
      +-----------+-------+
      | name      | price |
      +-----------+-------+
      | Pencil 2B |  0.48 |
      | Pencil 2H |  0.49 |
      +-----------+-------+
      2 rows in set (0.00 sec)
         
      mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
      +-----------+----------+
      | name      | quantity |
      +-----------+----------+
      | Pen Black |     2000 |
      +-----------+----------+
      1 row in set (0.00 sec)
      _58 dengan "
      mysql> SELECT name, price FROM products WHERE price < 1.0;
      +-----------+-------+
      | name      | price |
      +-----------+-------+
      | Pencil 2B |  0.48 |
      | Pencil 2H |  0.49 |
      +-----------+-------+
      2 rows in set (0.00 sec)
         
      mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
      +-----------+----------+
      | name      | quantity |
      +-----------+----------+
      | Pen Black |     2000 |
      +-----------+----------+
      1 row in set (0.00 sec)
      63" untuk merekam stempel waktu pembaruan terakhir

Nilai tanggal/waktu dapat dimasukkan secara manual sebagai string literal (mis. g. ,

mysql> SELECT name, price FROM products WHERE price < 1.0;
+-----------+-------+
| name      | price |
+-----------+-------+
| Pencil 2B |  0.48 |
| Pencil 2H |  0.49 |
+-----------+-------+
2 rows in set (0.00 sec)
   
mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
+-----------+----------+
| name      | quantity |
+-----------+----------+
| Pen Black |     2000 |
+-----------+----------+
1 row in set (0.00 sec)
_64 untuk
mysql> SELECT name, price FROM products WHERE price < 1.0;
+-----------+-------+
| name      | price |
+-----------+-------+
| Pencil 2B |  0.48 |
| Pencil 2H |  0.49 |
+-----------+-------+
2 rows in set (0.00 sec)
   
mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
+-----------+----------+
| name      | quantity |
+-----------+----------+
| Pen Black |     2000 |
+-----------+----------+
1 row in set (0.00 sec)
65). MySQL akan mengeluarkan peringatan dan memasukkan semua nol (mis. g. ,
mysql> SELECT name, price FROM products WHERE price < 1.0;
+-----------+-------+
| name      | price |
+-----------+-------+
| Pencil 2B |  0.48 |
| Pencil 2H |  0.49 |
+-----------+-------+
2 rows in set (0.00 sec)
   
mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
+-----------+----------+
| name      | quantity |
+-----------+----------+
| Pen Black |     2000 |
+-----------+----------+
1 row in set (0.00 sec)
_66 untuk
mysql> SELECT name, price FROM products WHERE price < 1.0;
+-----------+-------+
| name      | price |
+-----------+-------+
| Pencil 2B |  0.48 |
| Pencil 2H |  0.49 |
+-----------+-------+
2 rows in set (0.00 sec)
   
mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
+-----------+----------+
| name      | quantity |
+-----------+----------+
| Pen Black |     2000 |
+-----------+----------+
1 row in set (0.00 sec)
65), jika nilai tanggal/waktu yang akan dimasukkan tidak valid atau di luar rentang.
mysql> SELECT name, price FROM products WHERE price < 1.0;
+-----------+-------+
| name      | price |
+-----------+-------+
| Pencil 2B |  0.48 |
| Pencil 2H |  0.49 |
+-----------+-------+
2 rows in set (0.00 sec)
   
mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
+-----------+----------+
| name      | quantity |
+-----------+----------+
| Pen Black |     2000 |
+-----------+----------+
1 row in set (0.00 sec)
_68 disebut tanggal "tiruan".

Lebih Banyak Fungsi Tanggal/Waktu

Referensi. "Fungsi Tanggal dan Waktu" MySQL @ http. //dev. mysql. com/doc/refman/5. 5/id/fungsi-tanggal-dan-waktu. html

Ada banyak fungsi tanggal/waktu

  • Mengekstrak bagian dari tanggal/waktu.
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    _69,
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    70,
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    71,
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    72,
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    73,
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    74, e. g. ,________22______8
  • Mengekstrak informasi.
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    _75 (mis. g. ,
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    _76),
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    77 (e. g. ,
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    _78),
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    79 (1=Minggu, …, 7=Sabtu),
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    80 (1-366),.
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
       
    mysql> SHOW CREATE DATABASE southwind \G
    *************************** 1. row ***************************
           Database: southwind
    Create Database: CREATE DATABASE `southwind` /*!40100 DEFAULT CHARACTER SET latin1 */
    _9
  • Menghitung tanggal/waktu lain.
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    _81,
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    82,
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    83, e. g. ,
    INSERT INTO tableName VALUES 
       (row1FirstColumnValue, ..., row1lastColumnValue),
       (row2FirstColumnValue, ..., row2lastColumnValue), 
       ...
    0
  • Interval komputasi.
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    _84,
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    85,
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    86, e. g. ,
    INSERT INTO tableName VALUES 
       (row1FirstColumnValue, ..., row1lastColumnValue),
       (row2FirstColumnValue, ..., row2lastColumnValue), 
       ...
    _1
  • Perwakilan.
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    _87 (hari sejak tahun 0),
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    88, e. g. ,
    INSERT INTO tableName VALUES 
       (row1FirstColumnValue, ..., row1lastColumnValue),
       (row2FirstColumnValue, ..., row2lastColumnValue), 
       ...
    2
  • Pemformatan.
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    _89, e. g. ,
  1. Buat tabel dengan berbagai kolom tanggal/waktu. Hanya kolom
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    _58 yang dapat memiliki
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    60 dan
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    63.
    INSERT INTO tableName VALUES 
       (row1FirstColumnValue, ..., row1lastColumnValue),
       (row2FirstColumnValue, ..., row2lastColumnValue), 
       ...
    _3Catatan
    • Jangan gunakan
      mysql> SELECT name, price FROM products WHERE price < 1.0;
      +-----------+-------+
      | name      | price |
      +-----------+-------+
      | Pencil 2B |  0.48 |
      | Pencil 2H |  0.49 |
      +-----------+-------+
      2 rows in set (0.00 sec)
         
      mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
      +-----------+----------+
      | name      | quantity |
      +-----------+----------+
      | Pen Black |     2000 |
      +-----------+----------+
      1 row in set (0.00 sec)
      _93 lagi
    • Dari MySQL5. 7, rentang waktu yang didukung adalah
      mysql> SELECT name, price FROM products WHERE price < 1.0;
      +-----------+-------+
      | name      | price |
      +-----------+-------+
      | Pencil 2B |  0.48 |
      | Pencil 2H |  0.49 |
      +-----------+-------+
      2 rows in set (0.00 sec)
         
      mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
      +-----------+----------+
      | name      | quantity |
      +-----------+----------+
      | Pen Black |     2000 |
      +-----------+----------+
      1 row in set (0.00 sec)
      _31 hingga
      mysql> SELECT name, price FROM products WHERE price < 1.0;
      +-----------+-------+
      | name      | price |
      +-----------+-------+
      | Pencil 2B |  0.48 |
      | Pencil 2H |  0.49 |
      +-----------+-------+
      2 rows in set (0.00 sec)
         
      mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
      +-----------+----------+
      | name      | quantity |
      +-----------+----------+
      | Pen Black |     2000 |
      +-----------+----------+
      1 row in set (0.00 sec)
      32
  2. Masukkan nilai secara manual menggunakan literal string.
    INSERT INTO tableName VALUES 
       (row1FirstColumnValue, ..., row1lastColumnValue),
       (row2FirstColumnValue, ..., row2lastColumnValue), 
       ...
    _4
  3. Memeriksa pembaruan untuk
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    _96.
    INSERT INTO tableName VALUES 
       (row1FirstColumnValue, ..., row1lastColumnValue),
       (row2FirstColumnValue, ..., row2lastColumnValue), 
       ...
    _5
  4. Masukkan nilai menggunakan fungsi bawaan MySQL
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    97,
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    98,
    mysql> SELECT name, price FROM products WHERE price < 1.0;
    +-----------+-------+
    | name      | price |
    +-----------+-------+
    | Pencil 2B |  0.48 |
    | Pencil 2H |  0.49 |
    +-----------+-------+
    2 rows in set (0.00 sec)
       
    mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
    +-----------+----------+
    | name      | quantity |
    +-----------+----------+
    | Pen Black |     2000 |
    +-----------+----------+
    1 row in set (0.00 sec)
    99.
    INSERT INTO tableName VALUES 
       (row1FirstColumnValue, ..., row1lastColumnValue),
       (row2FirstColumnValue, ..., row2lastColumnValue), 
       ...
    _6
  5. Masukkan nilai yang tidak valid atau di luar rentang. MySQL diganti dengan semua nol.
    INSERT INTO tableName VALUES 
       (row1FirstColumnValue, ..., row1lastColumnValue),
       (row2FirstColumnValue, ..., row2lastColumnValue), 
       ...
    7Catatan. Mungkin tidak berfungsi di MySQL 5. 7?
  6. Fungsi bawaan yang berguna
    mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
    +-----------+-------------+----------+----------+-------+
    | productID | productCode | name     | quantity | price |
    +-----------+-------------+----------+----------+-------+
    |      1001 | PEN         | Pen Red  |     5000 |  1.23 |
    |      1002 | PEN         | Pen Blue |     8000 |  1.25 |
    +-----------+-------------+----------+----------+-------+
     
    mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
    +-----------+-------------+---------+----------+-------+
    | productID | productCode | name    | quantity | price |
    +-----------+-------------+---------+----------+-------+
    |      1001 | PEN         | Pen Red |     5000 |  1.23 |
    +-----------+-------------+---------+----------+-------+
       
    mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
    +-----------+-------------+-----------+----------+-------+
    | productID | productCode | name      | quantity | price |
    +-----------+-------------+-----------+----------+-------+
    |      1003 | PEN         | Pen Black |     2000 |  1.25 |
    |      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
    |      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
    +-----------+-------------+-----------+----------+-------+
    00 dapat digunakan untuk menghitung tanggal yang akan datang, mis. g. ,
    INSERT INTO tableName VALUES 
       (row1FirstColumnValue, ..., row1lastColumnValue),
       (row2FirstColumnValue, ..., row2lastColumnValue), 
       ...
    _8

Melihat

Tampilan adalah tabel virtual yang tidak berisi data fisik. Ini memberikan cara alternatif untuk melihat data

INSERT INTO tableName VALUES 
   (row1FirstColumnValue, ..., row1lastColumnValue),
   (row2FirstColumnValue, ..., row2lastColumnValue), 
   ...
_9

Transaksi

Transaksi atomik adalah sekumpulan pernyataan SQL yang SEMUA berhasil atau SEMUA gagal. Transaksi penting untuk memastikan bahwa tidak ada pembaruan sebagian ke database, mengingat atom pernyataan SQL. Transaksi dilakukan melalui

mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
01 dan
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
02

Jika Anda memulai klien

mysql> SELECT name, price FROM products WHERE price < 1.0;
+-----------+-------+
| name      | price |
+-----------+-------+
| Pencil 2B |  0.48 |
| Pencil 2H |  0.49 |
+-----------+-------+
2 rows in set (0.00 sec)
   
mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
+-----------+----------+
| name      | quantity |
+-----------+----------+
| Pen Black |     2000 |
+-----------+----------+
1 row in set (0.00 sec)
_7 lainnya dan melakukan
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
43 selama transaksi (sebelum komit atau rollback), Anda tidak akan melihat perubahannya

Sebagai alternatif, Anda juga dapat menonaktifkan apa yang disebut mode

mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
05, yang diatur secara default dan melakukan setiap pernyataan SQL tunggal

Transaksi mengelompokkan serangkaian operasi ke dalam unit yang memenuhi uji ACID

  1. Atomisitas. Jika semua operasi berhasil, perubahan dilakukan ke database. Jika ada operasi yang gagal, seluruh transaksi dibatalkan, dan tidak ada perubahan yang dilakukan pada database. Dengan kata lain, tidak ada pembaruan parsial
  2. Konsistensi. Transaksi mengubah database dari satu keadaan konsisten ke keadaan konsisten lainnya
  3. Isolasi. Perubahan pada transaksi tidak terlihat oleh transaksi lain sampai dilakukan
  4. Daya tahan. Perubahan yang dilakukan bersifat tahan lama dan tidak pernah hilang

Variabel Pengguna

Di MySQL, Anda dapat menentukan variabel pengguna melalui

  1. mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
    +-----------+-------------+----------+----------+-------+
    | productID | productCode | name     | quantity | price |
    +-----------+-------------+----------+----------+-------+
    |      1001 | PEN         | Pen Red  |     5000 |  1.23 |
    |      1002 | PEN         | Pen Blue |     8000 |  1.25 |
    +-----------+-------------+----------+----------+-------+
     
    mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
    +-----------+-------------+---------+----------+-------+
    | productID | productCode | name    | quantity | price |
    +-----------+-------------+---------+----------+-------+
    |      1001 | PEN         | Pen Red |     5000 |  1.23 |
    +-----------+-------------+---------+----------+-------+
       
    mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
    +-----------+-------------+-----------+----------+-------+
    | productID | productCode | name      | quantity | price |
    +-----------+-------------+-----------+----------+-------+
    |      1003 | PEN         | Pen Black |     2000 |  1.25 |
    |      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
    |      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
    +-----------+-------------+-----------+----------+-------+
    _06 dalam perintah
    mysql> CREATE DATABASE southwind;
    Query OK, 1 row affected (0.03 sec)
       
    mysql> DROP DATABASE southwind;
    Query OK, 0 rows affected (0.11 sec)
       
    mysql> CREATE DATABASE IF NOT EXISTS southwind;
    Query OK, 1 row affected (0.01 sec)
       
    mysql> DROP DATABASE IF EXISTS southwind;
    Query OK, 0 rows affected (0.00 sec)
    43, atau
  2. mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
    +-----------+-------------+----------+----------+-------+
    | productID | productCode | name     | quantity | price |
    +-----------+-------------+----------+----------+-------+
    |      1001 | PEN         | Pen Red  |     5000 |  1.23 |
    |      1002 | PEN         | Pen Blue |     8000 |  1.25 |
    +-----------+-------------+----------+----------+-------+
     
    mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
    +-----------+-------------+---------+----------+-------+
    | productID | productCode | name    | quantity | price |
    +-----------+-------------+---------+----------+-------+
    |      1001 | PEN         | Pen Red |     5000 |  1.23 |
    +-----------+-------------+---------+----------+-------+
       
    mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
    +-----------+-------------+-----------+----------+-------+
    | productID | productCode | name      | quantity | price |
    +-----------+-------------+-----------+----------+-------+
    |      1003 | PEN         | Pen Black |     2000 |  1.25 |
    |      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
    |      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
    +-----------+-------------+-----------+----------+-------+
    _08 atau
    mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
    +-----------+-------------+----------+----------+-------+
    | productID | productCode | name     | quantity | price |
    +-----------+-------------+----------+----------+-------+
    |      1001 | PEN         | Pen Red  |     5000 |  1.23 |
    |      1002 | PEN         | Pen Blue |     8000 |  1.25 |
    +-----------+-------------+----------+----------+-------+
     
    mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
    +-----------+-------------+---------+----------+-------+
    | productID | productCode | name    | quantity | price |
    +-----------+-------------+---------+----------+-------+
    |      1001 | PEN         | Pen Red |     5000 |  1.23 |
    +-----------+-------------+---------+----------+-------+
       
    mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
    +-----------+-------------+-----------+----------+-------+
    | productID | productCode | name      | quantity | price |
    +-----------+-------------+-----------+----------+-------+
    |      1003 | PEN         | Pen Black |     2000 |  1.25 |
    |      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
    |      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
    +-----------+-------------+-----------+----------+-------+
    09 perintah

Sebagai contoh,

mysql> SELECT name, price FROM products WHERE price < 1.0;
+-----------+-------+
| name      | price |
+-----------+-------+
| Pencil 2B |  0.48 |
| Pencil 2H |  0.49 |
+-----------+-------+
2 rows in set (0.00 sec)
   
mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
+-----------+----------+
| name      | quantity |
+-----------+----------+
| Pen Black |     2000 |
+-----------+----------+
1 row in set (0.00 sec)
_0

Lebih lanjut tentang BERGABUNG

GABUNG DALAM

Dalam gabungan dua tabel, setiap baris dari tabel pertama digabungkan (digabung) dengan setiap baris dari tabel kedua. Misalkan ada n1 baris di tabel pertama dan n2 baris di tabel kedua,

mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
10 menghasilkan semua kombinasi dari n1×n2 baris - ini dikenal sebagai Produk Cartesian atau Perkalian Silang

Anda dapat memaksakan batasan dengan menggunakan klausa

mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
11, misalnya,

mysql> SELECT name, price FROM products WHERE price < 1.0;
+-----------+-------+
| name      | price |
+-----------+-------+
| Pencil 2B |  0.48 |
| Pencil 2H |  0.49 |
+-----------+-------+
2 rows in set (0.00 sec)
   
mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
+-----------+----------+
| name      | quantity |
+-----------+----------+
| Pen Black |     2000 |
+-----------+----------+
1 row in set (0.00 sec)
_1

Perhatikan bahwa yang berikut ini setara

GABUNG LUAR - GABUNG KIRI dan GABUNG KANAN

mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
_10 dengan batasan (
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
11 atau
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
14) menghasilkan baris yang ditemukan di kedua tabel. Di sisi lain,
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
_15 dapat menghasilkan baris yang ada di satu tabel, tetapi tidak di tabel lain. Ada dua jenis
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
15s.
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
_17 menghasilkan baris yang ada di tabel kiri, tetapi mungkin tidak di tabel kanan;

Dalam

mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
_17, ketika baris di tabel kiri tidak cocok dengan tabel kanan, itu tetap dipilih tetapi dengan menggabungkan dengan catatan "palsu" dari semua
mysql> CREATE DATABASE southwind;
Query OK, 1 row affected (0.03 sec)
   
mysql> DROP DATABASE southwind;
Query OK, 0 rows affected (0.11 sec)
   
mysql> CREATE DATABASE IF NOT EXISTS southwind;
Query OK, 1 row affected (0.01 sec)
   
mysql> DROP DATABASE IF EXISTS southwind;
Query OK, 0 rows affected (0.00 sec)
18s untuk tabel kanan

mysql> SELECT name, price FROM products WHERE price < 1.0;
+-----------+-------+
| name      | price |
+-----------+-------+
| Pencil 2B |  0.48 |
| Pencil 2H |  0.49 |
+-----------+-------+
2 rows in set (0.00 sec)
   
mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
+-----------+----------+
| name      | quantity |
+-----------+----------+
| Pen Black |     2000 |
+-----------+----------+
1 row in set (0.00 sec)
_2

Sebagai hasilnya,

mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
_17 memastikan bahwa set hasil berisi setiap baris di tabel kiri. Ini penting, karena dalam beberapa kueri, Anda tertarik untuk mendapatkan hasil di setiap baris di tabel kiri, tanpa kecocokan di tabel kanan, mis. g. , mencari barang tanpa pemasok. Sebagai contoh,

mysql> SELECT name, price FROM products WHERE price < 1.0;
+-----------+-------+
| name      | price |
+-----------+-------+
| Pencil 2B |  0.48 |
| Pencil 2H |  0.49 |
+-----------+-------+
2 rows in set (0.00 sec)
   
mysql> SELECT name, quantity FROM products WHERE quantity <= 2000;
+-----------+----------+
| name      | quantity |
+-----------+----------+
| Pen Black |     2000 |
+-----------+----------+
1 row in set (0.00 sec)
_3

Perhatikan bahwa berikut ini setara

Latihan

Sistem Penyewaan

Peter menjalankan perusahaan persewaan mobil kecil dengan 10 mobil dan 5 truk. Dia melibatkan Anda untuk merancang portal web agar operasinya online

Untuk tahap awal, portal web harus menyediakan fungsi-fungsi dasar ini

  1. Memelihara catatan kendaraan dan pelanggan
  2. Menanyakan tentang ketersediaan kendaraan, dan
  3. Memesan kendaraan untuk disewa

Catatan pelanggan berisi nama, alamat, dan nomor teleponnya

Kendaraan, yang diidentifikasi dengan nomor registrasi kendaraan, dapat disewa setiap hari. Tarif sewa berbeda untuk kendaraan yang berbeda. Ada diskon 20% untuk sewa 7 hari atau lebih

Pelanggan dapat menyewa kendaraan dari tanggal mulai hingga tanggal akhir. Diskon pelanggan khusus, mulai dari 0-50%, dapat diberikan kepada pelanggan pilihan

Basis data

Database awal berisi 3 tabel.

mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
_22,
INSERT INTO tableName VALUES 
   (row1FirstColumnValue, ..., row1lastColumnValue),
   (row2FirstColumnValue, ..., row2lastColumnValue), 
   ...
61, dan
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
24.
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
24 adalah tabel persimpangan yang mendukung hubungan banyak-ke-banyak antara
mysql> SELECT * FROM products WHERE quantity >= 5000 AND name LIKE 'Pen %';
+-----------+-------------+----------+----------+-------+
| productID | productCode | name     | quantity | price |
+-----------+-------------+----------+----------+-------+
|      1001 | PEN         | Pen Red  |     5000 |  1.23 |
|      1002 | PEN         | Pen Blue |     8000 |  1.25 |
+-----------+-------------+----------+----------+-------+
 
mysql> SELECT * FROM products WHERE quantity >= 5000 AND price < 1.24 AND name LIKE 'Pen %';
+-----------+-------------+---------+----------+-------+
| productID | productCode | name    | quantity | price |
+-----------+-------------+---------+----------+-------+
|      1001 | PEN         | Pen Red |     5000 |  1.23 |
+-----------+-------------+---------+----------+-------+
   
mysql> SELECT * FROM products WHERE NOT (quantity >= 5000 AND name LIKE 'Pen %');
+-----------+-------------+-----------+----------+-------+
| productID | productCode | name      | quantity | price |
+-----------+-------------+-----------+----------+-------+
|      1003 | PEN         | Pen Black |     2000 |  1.25 |
|      1004 | PEC         | Pencil 2B |    10000 |  0.48 |
|      1005 | PEC         | Pencil 2H |     8000 |  0.49 |
+-----------+-------------+-----------+----------+-------+
22 dan
INSERT INTO tableName VALUES 
   (row1FirstColumnValue, ..., row1lastColumnValue),
   (row2FirstColumnValue, ..., row2lastColumnValue), 
   ...
61

Bagaimana cara menjatuhkan kunci asing di MySQL?

Menghilangkan Batasan Kunci Asing . ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol; Jika klausa FOREIGN KEY menentukan nama CONSTRAINT saat Anda membuat batasan, Anda dapat merujuk ke nama tersebut untuk menghapus .

Bagaimana cara memeriksa apakah kunci asing ada di tabel MySQL?

Untuk melihat hubungan kunci asing dari sebuah tabel. PILIH TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME, REFERENCED_TABLE_NAME, REFERENCED_COLUMN_NAME DARI INFORMATION_SCHEMA. KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_SCHEMA = 'db_name' AND REFERENCED_TABLE_NAME = 'table_name';

Bagaimana cara menjatuhkan batasan dalam SQL jika ada?

Perintah DROP CONSTRAINT digunakan untuk menghapus batasan UNIQUE, PRIMARY KEY, FOREIGN KEY, atau CHECK. .
JATUHKAN Kendala UNIK. Untuk menghapus batasan UNIK, gunakan SQL berikut. .
JATUHKAN Batasan KUNCI UTAMA. Untuk menghapus batasan PRIMARY KEY, gunakan SQL berikut. .
JATUHKAN Batasan KUNCI ASING

Bagaimana cara menghilangkan batasan kunci asing?

Untuk menghapus batasan kunci asing .
Di Object Explorer, perluas tabel dengan batasan lalu perluas Kunci
Klik kanan pembatas lalu klik Hapus
Di kotak dialog Hapus Objek, klik OK