SQL Cheat Sheet (Pembaruan 2021)

Daftar Isi:

Anonim

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