Dalam lembar contekan SQL Query ini Anda akan belajar
Buat database dan perintah tabel
Perintah | Deskripsi |
BUAT DATABASE DATABASE; | Buat database |
BUAT DATABASE TIDAK ADA database1; | JIKA TIDAK ADA memungkinkan Anda untuk menginstruksikan server MySQL untuk memeriksa keberadaan database dengan nama yang mirip sebelum membuat database. |
BUAT DATABASE JIKA TIDAK ADA database1 SET KARAKTER latin1 COLLATE latin1_swedish_ci | set karakter Latin1 menggunakan pemeriksaan latin1_swedish_ci yang merupakan urutan tidak peka huruf besar / kecil bahasa Swedia. |
TAMPILKAN DATABASE | Anda dapat melihat daftar database yang sudah ada dengan menjalankan perintah SQL berikut. |
BUAT TABEL [JIKA TIDAK ADA] NamaTabel (nama bidang jenis data [parameter opsional]) MESIN = Mesin penyimpanan; | Buat sintaks tabel |
JENIS DATA
Tipe Data Numerik
Perintah | Deskripsi |
TINYINT () | -128 hingga 127 normal 0 hingga 255 UNSIGNED. |
SMALLINT () | -32768 hingga 32767 normal 0 hingga 65535 UNSIGNED. |
SEDANG () | -8388608 hingga 8388607 normal 0 hingga 16777215 UNSIGNED. |
INT () | -2147483648 hingga 2147483647 normal 0 hingga 4294967295 UNSIGNED. |
BIGINT () | -9223372036854775808 hingga 9223372036854775807 normal 0 hingga 18446744073709551615 UNSIGNED. |
MENGAPUNG | Angka perkiraan kecil dengan titik desimal mengambang. |
GANDA (,) | Angka besar dengan titik desimal mengambang. |
DESIMAL (,) | GANDA disimpan sebagai string, memungkinkan titik desimal tetap. Pilihan untuk menyimpan nilai mata uang. |
Tipe Data Teks
Perintah | Deskripsi |
CHAR () | Bagian tetap dari 0 hingga 255 karakter. |
VARCHAR () | Bagian variabel dari 0 hingga 255 karakter. |
TINYTEXT | Sebuah string dengan panjang maksimal 255 karakter. |
TEKS | Sebuah string dengan panjang maksimum 65535 karakter. |
GUMPAL | Sebuah string dengan panjang maksimum 65535 karakter. |
MEDIUMTEXT | Sebuah string dengan panjang maksimum 16777215 karakter. |
MEDIUMBLOB | Sebuah string dengan panjang maksimum 16777215 karakter. |
LONGTEXT | String dengan panjang maksimum 4294967295 karakter. |
LONGBLOB | String dengan panjang maksimum 4294967295 karakter. |
Tipe data Tanggal / Waktu
Perintah | Deskripsi |
TANGGAL | TTTT-BB-HH |
TANGGAL WAKTU | TTTT-BB-HH JJ: MM: SS |
TIMESTAMP | YYYYMMDDHHMMSS |
WAKTU | HH: MM: SS |
Tipe data lainnya
Perintah | Deskripsi |
ENUM | Untuk menyimpan nilai teks yang dipilih dari daftar nilai teks yang telah ditentukan. |
SET | Ini juga digunakan untuk menyimpan nilai teks yang dipilih dari daftar nilai teks yang telah ditentukan. Itu bisa memiliki banyak nilai. |
BOOL | Sinonim dari TINYINT (1), digunakan untuk menyimpan nilai Boolean |
BINER | Mirip dengan CHAR, perbedaannya adalah teks disimpan dalam format biner. |
VARBINER | Mirip dengan VARCHAR, perbedaannya adalah teks disimpan dalam format biner. |
Perintah pernyataan MySQL SELECT
Perintah | Deskripsi |
PILIH [BEDA | SEMUA] {* | [fieldExpression [AS newName]} FROM tableName [alias] [WHERE condition] [GROUP BY fieldName (s)] [HAVING condition] ORDER BY fieldName (s) | Sintaks pernyataan SQL SELECT |
PILIH * DARI table1; | pilih tabel |
PILIH t1, t2, t3, t4 DARI table1; | kami hanya tertarik untuk mendapatkan field t1, t2, t3 dan t4 saja. |
PILIH Concat (t1, (, t3,)), t4 DARI table2; | Mendapatkan daftar table2 |
PILIH nama_kolom | nilai | ekspresi [AS] alias_name; | Sintaks nama bidang alias |
Klausa MySQL WHERE dengan perintah AND, OR, IN, NOT IN
Perintah | Deskripsi |
SELECT * FROM tableName WHERE condition; | WHERE klausa Sintaks |
PILIH * DARI tabel1 DIMANA t1 = 2 DAN t2 = 2008; | Klausa WHERE digabungkan dengan - AND LOGICAL Operator |
PILIH * DARI tabel1 DIMANA t1 = 1 ATAU t1 = 2; | Klausa WHERE digabungkan dengan - OR LOGICAL Operator |
PILIH * DARI table2 WHERE t1 IN (1,2,3); | Klausa WHERE digabungkan dengan - IN Keyword |
SELECT * FROM table2 WHERE t1 NOT IN (1,2,3); | WHERE klausa digabungkan dengan - NOT IN Keyword |
SELECT * FROM table2 WHERE t3 = Female; | Klausa WHERE digabungkan dengan Equal (=) menjadi COMPARISON OPERATORS |
PILIH * DARI table3 WHERE t3> 2000; | Klausa WHERE digabungkan dengan lebih besar dari (>) menjadi COMPARISON OPERATORS |
PILIH * DARI table1 WHERE t1 <> 1; | Klausa WHERE digabungkan dengan Not Equal to (<>) COMPARISON OPERATORS |
Perintah MySQL INSERT INTO Tabel
Perintah | Deskripsi |
MASUKKAN KE nama_tabel (kolom_1, kolom_2,…) NILAI (nilai_1, nilai_2,…); | sintaks dasar dari perintah SQL INSERT |
MASUKKAN KE tabel1 (t1, t2, t3, t4) NILAI (X1, X2, X3, X4); | SISIPKAN data ke dalam tabel |
MASUKKAN KE tabel_1 PILIH * DARI tabel_2; | Memasukkan ke dalam Tabel dari Tabel lain |
Perintah MySQL DELETE
Perintah | Deskripsi |
HAPUS DARI nama_tabel [DI MANA kondisi]; | Hapus baris di MySQL |
Contoh: - HAPUS DARI table1 WHERE table1_id = 18;
(hapus entri dari 18 nomor formulir id table1.) DELETE FROM table1 WHERE table1_id IN (20,21); (hapus entri dari 20 dan 21 nomor formulir id tabel1)
Perintah Pembaruan MySQL
Perintah | Deskripsi |
UPDATE table_name SET nama_kolom = nilai_baru [kondisi WHERE]; | perbarui sintaks perintah |
Contoh: - SELECT * FROM table1 WHERE t1 = 1;
(ambil record untuk t1 = 1) UPDATE table1 SET t4 = X1 WHERE t1 = 1; (perbarui nilai t4 dalam tabel)
ORDER BY di MySQL: DESC & ASC perintah
Perintah | Deskripsi |
Pernyataan SELECT… [WHERE condition | GROUP BY field_name (s) HAVING condition] ORDER BY field_name [ASC | DESC]; | Diurutkan berdasarkan klausa sintaks dasar |
PILIH {fieldName (s) | *} FROM tableName (s) [WHERE condition] ORDER BY fieldname ASC / DESC [LIMIT N] | Sintaks DESC dan ASC |
Contoh: - Untuk DESC (menurun)
PILIH * DARI table1 ORDER BY t3 DESC; Untuk ASC (ascending) SELECT * FROM table1 ORDER BY t3 ASC;
MySQL GROUP BY dan perintah HAVING Clause
Kelompokkan menurut
Perintah | Deskripsi |
Pernyataan SELECT… GROUP BY column_name1 [, column_name2,…] [HAVING condition]; | GROUP BY Syntax |
Contoh untuk mengelompokkan satu kolom: - SELECT t4 FROM table1;
PILIH t4 DARI tabel1 GROUP BY t4; (misalkan kita ingin mendapatkan nilai unik untuk t4.)
Contoh untuk mengelompokkan beberapa kolom: - SELECT t1_id, t4 FROM table2;
PILIH t1_id, t4 DARI tabel2 GRUP OLEH t1_id, t4; (menggunakan grup dengan metode)
Pengelompokan dan fungsi agregat
Perintah | Deskripsi |
PILIH t2, COUNT (t1) DARI table1 GROUP BY t2; | Misalkan kita menginginkan jumlah total nilai kolom t2 dalam database kita. |
Klausa HAVING
Perintah | Deskripsi |
PILIH * DARI GROUP table2 OLEH t1_id, t4 HAVING t1_id = x1; | semua t4 untuk table2 t1 id x1. Kami akan menggunakan skrip berikut untuk mencapai hasil kami. |
Perintah MySQL Wildcards untuk Like, NOT Like, Escape, (%), (_)
% perintah persentase wildcard di MySQL
Perintah | Deskripsi |
PILIH pernyataan… DI MANA fieldname SEPERTI xxx%; | sintaks dasar untuk% persentase wildcard |
Contoh: - kita akan menggunakan persentase wildcard untuk melakukan kecocokan pola pada kedua sisi kata "X1" sebagai bagian t2 dari table1 SELECT * FROM table1 WHERE t2 LIKE% X1%;
PILIH * DARI table1 DI MANA t2 SUKA% X1; (persentase wildcard di awal kriteria pencarian saja) SELECT * FROM table1 WHERE t2 LIKE X1%; (persentase karakter pengganti di akhir pola yang ditentukan untuk dicocokkan.)
_ garis bawahi perintah wildcard
Perintah | Deskripsi |
PILIH * DARI table1 DI MANA t3 SUKA x2_; | semua tabel1 yang t3 di tahun "x2" |
TIDAK Suka perintah wildcard
Perintah | Deskripsi |
PILIH * DARI table1 DI MANA t3 TIDAK SUKA X2_; | Misalkan kita ingin mendapatkan tabel1 yang bukan t3 pada tahun X2_ |
Escape perintah wildcard kata kunci
Perintah | Deskripsi |
SEPERTI 67 # %% ESCAPE #; | kami ingin memeriksa string "67%" |
Ekspresi Reguler MYSQL (REGEXP)
Perintah | Deskripsi |
Pernyataan SELECT… WHERE fieldname pola REGEXP; | sintaks dasar Regular Expression |
Contoh: - semua table1 t1 yang memiliki kata X1 di dalamnya. Tidak masalah apakah "X1" ada di awal, tengah, atau akhir judul. PILIH * DARI tabel1 DI MANA t1 REGEXP X1;
Karakter meta ekspresi reguler
Perintah | Deskripsi |
* | Karakter meta asterisk (*) digunakan untuk mencocokkan nol (0) atau lebih instance dari string sebelumnya |
+ | Karakter meta plus (+) digunakan untuk mencocokkan satu atau lebih instance string sebelumnya. |
? | Pertanyaan (?) Metakarakter digunakan untuk mencocokkan nol (0) atau satu contoh string sebelumnya. |
. | Karakter meta titik (.) Digunakan untuk mencocokkan karakter tunggal apa pun kecuali untuk baris baru. |
[abc] | Daftar karakter [abc] digunakan untuk mencocokkan salah satu karakter terlampir. |
[^abc] | Daftar karakter [abc] digunakan untuk mencocokkan semua karakter kecuali yang diapit. |
[A-Z] | [AZ] digunakan untuk mencocokkan semua huruf besar |
[a-z] | [Az] digunakan untuk mencocokkan semua huruf kecil |
[0-9] | [0-9] digunakan untuk mencocokkan digit apa pun dari 0 sampai 9. |
^ | Tanda sisipan (^) digunakan untuk memulai pertandingan di awal. |
| | Bilah vertikal (|) digunakan untuk mengisolasi alternatif. |
[[:<:]] | [[: <:]] Cocok dengan awal kata. |
[[:>:]] | [[:>:]] Cocok dengan akhir kata. |
[:class:] | [: Class:] cocok dengan kelas karakter yaitu [: alpha:] untuk mencocokkan huruf, [: spasi:] untuk mencocokkan spasi, [: punct:] adalah tanda baca yang cocok dan [: atas:] untuk huruf kelas atas. |
Perintah Fungsi SQL
Fungsi string
Perintah | Deskripsi |
PILIH t1_id, t2, UCASE (t2) DARI table1; | fungsi "UCASE" untuk melakukan itu. Dibutuhkan string sebagai parameter dan mengubah semua huruf menjadi huruf besar. |
Fungsi numerik
Perintah | Deskripsi | Contoh |
DIV | Pembagian bilangan bulat | PILIH 23 DIV 6; |
/ | Divisi | PILIH 23/6; |
- | Pengurangan | PILIH 23 - 6; |
+ | Tambahan | PILIH 23 + 6; |
* | Perkalian | PILIH 23 * 6 SEBAGAI multiplication_result; |
% or MOD | Modulus | PILIH 23% 6; atau PILIH 23 MOD 6; |
Floor | fungsi ini menghapus tempat desimal dari angka dan membulatkannya ke angka terendah terdekat. | PILIH LANTAI (23/6) sebagai hasil_lantai; |
Round | fungsi ini membulatkan angka dengan tempat desimal ke bilangan bulat terdekat. | PILIH ROUND (23/6) sebagai round_result; |
Fungsi yang disimpan
Perintah | Deskripsi |
BUAT FUNGSI sf_name ([parameter (s)]) MENGEMBALIKAN tipe data PERNYATAAN DETERMINISTIS | sintaks dasar untuk membuat fungsi tersimpan |
BUAT FUNGSI sf_name ([parameter (s)]) | Wajib dan memberi tahu server MySQL untuk membuat fungsi bernama `sf_name 'dengan parameter opsional yang ditentukan dalam tanda kurung. |
RETURNS tipe data | Wajib dan menentukan tipe data yang harus dikembalikan oleh fungsi. |
DETERMINISTIS | Fungsi akan mengembalikan nilai yang sama jika argumen yang sama diberikan padanya. |
PERNYATAAN | Kode prosedural yang dijalankan fungsi. |
Perintah fungsi MySQL Aggregate
Perintah | Deskripsi |
PILIH JUMLAH (t1_id) DARI table1 WHERE t1_id = 2; | COUNT Fungsi |
PILIH MIN (t3) DARI table2; | Fungsi MIN |
PILIH MAX (t3) DARI table2; | Fungsi MAX |
PILIH SUM (t4) DARI table3; | Fungsi SUM |
PILIH AVG (t4) DARI table3; | Fungsi AVG |
MySQL IS NULL & IS NOT NULL
Perintah | Deskripsi |
PILIH JUMLAH (t3) DARI table1; (jika t3 memiliki nilai nol yang tidak dihitung) | Nihil sebagai Nilai |
BUAT TABEL table2 (t1_number int NOT NULL, t2_names varchar (255), t3 varchar (6)); | NOT NULL Values |
comlumn_name IS NULL comlumn_name BUKAN NULL | Kata Kunci NULL Sintaks dasar |
SELECT * FROM table1 WHERE t2_number IS NULL; | Contoh IS NULL |
SELECT * FROM table1 WHERE t2_number IS NOT NULL; | Contoh IS NOT NULL |
Perintah MySQL AUTO_INCREMENT
Perintah | Deskripsi |
CREATE TABLE table1 (t1_id int (11) AUTO_INCREMENT, t2_name varchar (150) DEFAULT NULL, t3 varchar (500) DEFAULT NULL, PRIMARY KEY (t1_id)); | Sintaks kenaikan otomatis |
MYSQL - ALTER, DROP, RENAME, MODIFY
Perintah | Deskripsi |
ALTER TABLE table_name ADD COLUMN column_name data_type; | Alter- sintaks |
DROP TABLE sample_table; | DROP TABLE sintaks |
GANTI NAMA TABEL current_table_name KE nama_tabel_baru; | RENAME COMMAND sintaks |
ALTER TABLE table1 CHANGE COLUMN t1_names t1name char (250) NOT NULL; | GANTI KATA KUNCI |
ALTER TABLE table1MODIFY t1name char (50) NOT NULL; | MODIFIKASI KATA KUNCI |
ALTER TABLE table1 ADD t4 tanggal NULL SETELAH t3; | SETELAH KATA KUNCI |
BATAS MySQL & OFFSET
Perintah | Deskripsi |
PILIH {fieldname | *} FROM tableName (s) [WHERE condition] LIMIT N; | LIMIT sintaks kata kunci |
PILIH * DARI tabel1 BATAS 1, 2; | OFF SET dalam query LIMIT |
Perintah MySQL SubQuery:
Perintah | Deskripsi |
PILIH t1_name FROM table1 WHERE category_id = (SELECT MIN (t1_id) from table2); | sub pertanyaan |
Perintah MySQL JOINS
Perintah | Deskripsi |
PILIH * DARI table1 CROSS JOIN table2 | Cross GABUNG |
PILIH table1.t1, table1.t2, table2.t1 FROM table1, table2 WHERE table2.id = table1.table2_id | GABUNG DALAM |
PILIH A.t1, B.t2, B.t3 DARI tabel2 SEBAGAI KIRI BERGABUNG tabel1 SEBAGAI B PADA B. tabel2_id = A.id | KIRI BERGABUNG |
PILIH A.t1, A.t2, B.t3 DARI tabel1 SEBAGAI A RIGHT JOIN table2 AS B ON B.id = A. table2_id | GABUNG KANAN |
PILIH A.t1, B.t2, B.t3 DARI tabel2 SEBAGAI LEFT JOIN tabel1 SEBAGAI B MENGGUNAKAN (table2_id) | Klausa "AKTIF" dan "MENGGUNAKAN" |
Perintah MySQL UNION
Perintah | Deskripsi |
PILIH kolom1, kolom2 DARI tabel1 | Sintaks UNION |
PILIH kolom1, kolom2 DARI tabel2; | PERBEDAAN UNION |
MySQL dalam perintah Views
Perintah | Deskripsi |
BUAT VIEW view_name SEBAGAI pernyataan SELECT; | Tampilan sintaks |
TAMPILKAN TAMPILAN general_v_movie_rentals; | Pemandangan yang menurun |
Perintah Indeks MySQL
Perintah | Deskripsi |
BUAT INDEKS id_index PADA nama_tabel (nama_kolom); | Tambahkan sintaks dasar indeks |
TETAPKAN INDEKS index_id PADA nama_tabel; | Jatuhkan sintaks dasar indeks |