Lembaran Menipu SQL (Kemas kini 2021)

Dalam lembaran cheat SQL Query ini, anda akan belajar

Buat arahan Pangkalan Data dan jadual

Perintah Penerangan
BUAT DATABASE DATA; Buat pangkalan data
BUAT Pangkalan Data TIDAK ADA pangkalan data1; JIKA TIDAK ADA membolehkan anda mengarahkan pelayan MySQL untuk memeriksa keberadaan pangkalan data dengan nama yang serupa sebelum membuat pangkalan data.
BUAT Pangkalan Data JIKA TIDAK ADA pangkalan data1 SET KARAKTER latin1 COLLATE latin1_swedish_ci set aksara Latin1 menggunakan penggabungan latin1_swedish_ci yang merupakan susunan huruf sensitif Sweden.
TUNJUKKAN DATA Anda dapat melihat senarai pangkalan data yang ada dengan menjalankan perintah SQL.
BUAT JADUAL [JIKA TIDAK ADA] Nama Meja (jenis nama bidang nama [parameter pilihan]) ENGINE = enjin penyimpanan; Buat sintaks jadual

JENIS DATA

Jenis data berangka

Perintah Penerangan
TINYINT () -128 hingga 127 normal 0 hingga 255 TIDAK DITANDATANGANI.
SMALLINT () -32768 hingga 32767 normal 0 hingga 65535 TANPA DAFTAR.
PERUBATAN () -8388608 hingga 8388607 normal 0 hingga 16777215 TANPA DAFTAR.
INT () -2147483648 hingga 2147483647 normal 0 hingga 4294967295 TANPA DAFTAR.
BIGINT () -9223372036854775808 hingga 9223372036854775807 normal 0 hingga 18446744073709551615 TANPA DAFTAR.
KAPAL Nombor anggaran kecil dengan titik perpuluhan terapung.
GANDA (,) Sebilangan besar dengan titik perpuluhan terapung.
KEPUTUSAN (,) GANDA disimpan sebagai tali, memungkinkan untuk titik perpuluhan tetap. Pilihan untuk menyimpan nilai mata wang.

Jenis Data Teks

Perintah Penerangan
CAJ () Bahagian tetap dari 0 hingga 255 aksara.
VARCHAR () Bahagian pembolehubah dari 0 hingga 255 aksara.
TINYTEXT Rentetan dengan panjang maksimum 255 aksara.
TEKS Rentetan dengan panjang maksimum 65535 aksara.
BLOB Rentetan dengan panjang maksimum 65535 aksara.
MEDIUMTEXT Rentetan dengan panjang maksimum 16777215 aksara.
MEDIUMBLOB Rentetan dengan panjang maksimum 16777215 aksara.
LONGTEXT Rentetan dengan panjang maksimum 4294967295 aksara.
LONGBLOB Rentetan dengan panjang maksimum 4294967295 aksara.

Jenis data Tarikh / Masa

Perintah Penerangan
TARIKH YYYY-MM-DD
MASA TARIKH YYYY-MM-DD HH: MM: SS
TIMESTAMP YYYYMMDDHHMMSS
MASA HH: MM: SS

Jenis data lain

Perintah Penerangan
ENUM Untuk menyimpan nilai teks yang dipilih dari senarai nilai teks yang telah ditentukan.
SET Ini juga digunakan untuk menyimpan nilai teks yang dipilih dari senarai nilai teks yang telah ditetapkan. Ia boleh mempunyai pelbagai nilai.
BOLEH Sinonim untuk TINYINT (1), digunakan untuk menyimpan nilai Boolean
BINARI Sama seperti CHAR, perbezaannya ialah teks disimpan dalam format binari.
VARBINARI Sama seperti VARCHAR, perbezaannya ialah teks disimpan dalam format binari.

Perintah pernyataan PILIH MySQL

Perintah Penerangan
PILIH [DISTINCT | ALL] {* | [fieldExpression [AS newName]} DARI tableName [alias] [WHERE condition] [GROUP BY fieldName (s)] [MEMILIKI syarat] ORDER BY fieldName Sintaks pernyataan SQL SELECT
PILIH * DARI jadual1; pilih jadual
PILIH t1, t2, t3, t4 DARI jadual1; kami hanya berminat mendapatkan medan t1, t2, t3 dan t4 sahaja.
PILIH Concat (t1, (, t3,)), t4 DARI jadual2; Mendapatkan senarai jadual2
PILIH kolum_nama | nilai | ungkapan [AS] alias_name; Sintaksis nama bidang Alias

MySQL DI MANA klausa dengan perintah AND, OR, IN, NOT IN

Perintah Penerangan
PILIH * DARI tableName DI MANA keadaan; DI MANA klausa Sintaks
PILIH * DARI jadual1 DI MANA t1 = 2 DAN t2 = 2008; MANA klausa digabungkan dengan - DAN Operator LOGIKAL
PILIH * DARI jadual1 DI MANA t1 = 1 ATAU t1 = 2; DI MANA klausa digabungkan dengan - ATAU Operator LOGIKAL
PILIH * DARI jadual2 DI MANA t1 DALAM (1,2,3); DI MANA klausa digabungkan dengan - Kata Kunci IN
PILIH * DARI jadual2 DI MANA t1 TIDAK DALAM (1,2,3); DI MANA klausa digabungkan dengan - TIDAK DALAM Kata Kunci
PILIH * DARI jadual2 DI MANA t3 = Perempuan; DI MANA klausa digabungkan dengan Equal (=) untuk BERBANDING OPERATOR
PILIH * DARI jadual3 DI MANA t3> 2000; DI MANA klausa digabungkan dengan lebih besar daripada (>) untuk BERBANDING OPERATOR
PILIH * DARI jadual1 DI MANA t1 <> 1; DI MANA klausa digabungkan dengan Tidak Sama dengan (<>) OPERATOR PERBANDINGAN

Perintah MySQL INSERT INTO

Perintah Penerangan
INSERT INTO table_name (column_1, column_2,…) NILAI (nilai_1, nilai_2,…); sintaks asas arahan SQL INSERT
INSERT INTO table1 (t1, t2, t3, t4) NILAI (X1, X2, X3, X4); MASUKKAN data ke dalam jadual
MASUK KE DALAM jadual_1 PILIH * DARI jadual_2; Memasukkan ke dalam Jadual dari Jadual yang lain

Perintah MySQL DELETE

Perintah Penerangan
DELETE FROM table_name [keadaan MANA]; Padamkan satu baris di MySQL

Contoh: - HAPUS DARI jadual1 DI MANA jadual1_id = 18;

(hapus entri 18 nombor id borang jadual1.) HAPUS DARI jadual1 DI MANA jadual1_id DALAM (20,21); (hapus catatan 20 dan 21 nombor borang nombor jadual 1)

Perintah Kemas kini MySQL

Perintah Penerangan
UPDATE table_name SET column_name = new_value [keadaan DI MANA]; mengemas kini sintaks arahan

Contoh: - PILIH * DARI jadual1 DI MANA t1 = 1;

(ambil semula rekod untuk t1 = 1) KEMASKINI jadual1 SET t4 = X1 DI MANA t1 = 1; (kemas kini nilai t4 dalam jadual)

PESANAN OLEH dalam MySQL: arahan DESC & ASC

Perintah Penerangan
PILIH pernyataan… [MANA keadaan | KUMPULAN MENGIKUT nama_sama nama yang MEMPUNYAI keadaan] PESANAN MENGIKUT nama_pengguna [ASC | DESC]; Susun mengikut sintaks asas klausa
PILIH {fieldName (s) | *} DARI nama meja [keadaan di mana] PESANAN MENGIKUT nama bidang ASC / DESC [TERHAD N] Sintaks DESC dan ASC

Contoh: - Untuk DESC (menurun)

PILIH * DARI jadual1 PESANAN OLEH t3 DESC; Untuk ASC (menaik) PILIH * DARI jadual1 PESANAN OLEH t3 ASC;

MySQL GROUP MENGIKUT dan MEMILIKI perintah Klausa

Kumpulan mengikut

Perintah Penerangan
PILIH pernyataan… KUMPULAN MENGIKUT kolom_nama1 [, ruang_nama2,…] [MEMILIKI syarat]; KUMPULAN MENGIKUT Sintaks

Contoh untuk mengelompokkan satu lajur: - PILIH t4 DARI jadual1;

PILIH t4 DARI jadual1 KUMPULAN OLEH t4; (andaikan kita ingin mendapatkan nilai unik untuk t4.)

Contoh untuk mengelompokkan beberapa lajur: - PILIH t1_id, t4 DARI jadual2;

PILIH t1_id, t4 DARI jadual2 KUMPULAN OLEH t1_id, t4; (menggunakan kumpulan mengikut kaedah)

Fungsi pengelompokan dan agregat

Perintah Penerangan
PILIH t2, COUNT (t1) DARI jadual1 KUMPULAN MENGIKUT t2; Andaikan kita mahu jumlah nilai lajur t2 dalam pangkalan data kita.

MEMILIKI fasal

Perintah Penerangan
PILIH * DARI jadual2 KUMPULAN MENGIKUT t1_id, t4 MEMILIKI t1_id = x1; semua t4 untuk jadual2 t1 id x1. Kami akan menggunakan skrip berikut untuk mencapai hasil kami.

Perintah MySQL Wildcards untuk Suka, TIDAK Suka, Melarikan diri, (%), (_)

% peratusan perintah wildcard dalam MySQL

Perintah Penerangan
PILIH penyataan… DI MANA nama bidang SEPERTI xxx%; sintaks asas untuk% peratusan wildcard

Contoh: - kita akan menggunakan wildcard peratusan untuk melakukan padanan corak pada kedua sisi perkataan "X1" sebagai bahagian t2 dari jadual1 PILIH * DARI jadual1 DI MANA t2 SUKA% X1%;

PILIH * DARI jadual1 DI MANA t2 SUKA% X1; (peratusan wildcard pada awal kriteria carian sahaja) PILIH * DARI jadual1 DI MANA t2 SUKA X1%; (peratusan wildcard hingga akhir corak yang ditentukan untuk dipadankan.)

_ garis bawah garis bawah arahan

Perintah Penerangan
PILIH * DARI jadual1 DI MANA t3 SUKA x2_; semua jadual1 yang t3 pada tahun "x2"

TIDAK Suka arahan wildcard

Perintah Penerangan
PILIH * DARI jadual1 DI MANA t3 TIDAK SUKA X2_; Katakan kita mahu mendapatkan jadual1 yang bukan t3 pada tahun X2_

Melarikan arahan kata kunci wildcard

Perintah Penerangan
SUKA 67 # %% ESCAPE #; kami ingin memeriksa rentetan "67%"

Ekspresi Biasa MYSQL (REGEXP)

Perintah Penerangan
PILIH pernyataan… DI MANA corak REGEXP nama lapangan; sintaks asas Ungkapan Biasa

Contoh: - semua jadual1 t1 yang mempunyai perkataan X1 di dalamnya. Tidak kira sama ada "X1" berada di awal, tengah atau akhir tajuk. PILIH * DARI jadual1 DI MANA t1 REGEXP X1;

Metacharacters ungkapan biasa

Perintah Penerangan
* Metakarakter asterisk (*) digunakan untuk memadankan sifar (0) atau lebih banyak rentetan yang mendahuluinya
+ Metakarakter tambah (+) digunakan untuk mencocokkan satu atau lebih contoh rentetan yang mendahuluinya.
? Metakarakter soalan (?) Digunakan untuk memadankan sifar (0) atau satu contoh rentetan yang mendahuluinya.
. Metakarakter titik (.) Digunakan untuk memadankan mana-mana watak kecuali pengecualian baris baru.
[abc] Senarai senarai [abc] digunakan untuk memadankan mana-mana watak yang dilampirkan.
[^abc] Senarai senarai [abc] digunakan untuk memadankan mana-mana watak kecuali yang dilampirkan.
[A-Z] [AZ] digunakan untuk mencocokkan huruf besar mana pun
[a-z] [Az] digunakan untuk mencocokkan huruf kecil mana pun
[0-9] [0-9] digunakan untuk memadankan sebarang digit dari 0 hingga 9.
^ Caret (^) digunakan untuk memulakan pertandingan pada awalnya.
| Bar menegak (|) digunakan untuk mengasingkan alternatif.
[[:<:]] [[: <:]] Sepadan dengan permulaan perkataan.
[[:>:]] [[:>:]] Sepadan dengan akhir perkataan.
[:class:] [: Class:] sepadan dengan kelas watak iaitu [: alpha:] untuk memadankan huruf, [: ruang:] untuk memadankan ruang putih, [: punct:] adalah tanda baca dan [: atas:] untuk huruf kelas atas.

Perintah Fungsi SQL

Fungsi rentetan

Perintah Penerangan
PILIH t1_id, t2, UCASE (t2) DARI jadual1; fungsi "UCASE" untuk melakukan itu. Ia memerlukan rentetan sebagai parameter dan mengubah semua huruf menjadi huruf besar.

Fungsi angka

Perintah Penerangan Contohnya
DIV Pembahagian integer PILIH 23 DIV 6;
/ Bahagian PILIH 23/6;
- Penolakan PILIH 23 - 6;
+ Penambahan PILIH 23 + 6;
* Pendaraban PILIH 23 * 6 AS pendaraban_hasil;
% or MOD Modulus PILIH 23% 6; atau PILIH 23 MOD 6;
Floor fungsi ini membuang tempat perpuluhan dari nombor dan membundarkannya ke nombor terendah terdekat. PILIH Lantai (23/6) SEBAGAI hasil_lantai;
Round fungsi ini membundarkan nombor dengan tempat perpuluhan ke nombor bulat terdekat. PILIH ROUND (23/6) SEBAGAI keputusan bulat;

Fungsi yang disimpan

Perintah Penerangan
BUAT FUNGSI sf_name ([parameter]]) KEMBALI jenis data PERNYATAAN TETAPMINISTIK sintaks asas untuk mencipta fungsi yang tersimpan
BUAT FUNGSI sf_name ([parameter]]) Wajib dan memberitahu pelayan MySQL untuk membuat fungsi bernama `sf_name 'dengan parameter pilihan yang ditentukan dalam kurungan.
MENGEMBALIKAN jenis data Wajib dan menentukan jenis data yang harus dikembalikan oleh fungsi.
DETERMINISTIK Fungsi akan mengembalikan nilai yang sama jika argumen yang sama diberikan kepadanya.
PENYATA Kod prosedur yang berfungsi.

Perintah fungsi MySQL Aggregate

Perintah Penerangan
PILIH COUNT (t1_id) DARI jadual1 DI MANA t1_id = 2; Fungsi COUNT
PILIH MIN (t3) DARI jadual2; Fungsi MIN
PILIH MAX (t3) DARI jadual2; Fungsi MAX
PILIH SUM (t4) DARI jadual3; Fungsi SUM
PILIH AVG (t4) DARI jadual3; Fungsi AVG

MySQL ADALAH NULL & BUKAN perintah NULL

Perintah Penerangan
PILIH COUNT (t3) DARI jadual1; (jika t3 mempunyai nilai nol yang tidak dikira) Null sebagai Nilai
BUAT JADUAL table2 (t1_number int NOT NULL, t2_names varchar (255), t3 varchar (6)); BUKAN NULL Nilai
comlumn_name ADALAH NULL comlumn_name BUKAN NULL Kata kunci asas Sintaks asas
PILIH * DARI jadual1 DI MANA t2_number ADALAH NULL; Contohnya NULL
PILIH * DARI jadual1 DI MANA t2_number TIDAK BENAR; Contohnya TIDAK NULL

Perintah MySQL AUTO_INCREMENT

Perintah Penerangan
BUAT JADUAL jadual1 (t1_id int (11) AUTO_INCREMENT, t2_name varchar (150) DEFAULT NULL, t3 varchar (500) DEFAULT NULL, PRIMARY KEY (t1_id)); Sintaks kenaikan automatik

MYSQL - ALTER, DROP, RENAME, MODIFY

Perintah Penerangan
ALTER TABLE table_name ADD COLUMN column_name data_type; Alter- sintaks
DROP TABLE sample_table; Sintaks JADUAL HABIS
RENAME TABLE current_table_name TO new_table_name; RENAME Sintaks arahan
ALTER TABLE table1 CHANGE COLUMN t1_names t1name char (250) NOT NULL; TUKAR KATA KUNCI
ALTER TABLE table1MODIFY t1name char (50) NOT NULL; KATA KUNCI MODIFY
Jadual ALTER TABEL1 TAMBAHKAN tarikh t4 NULL SELEPAS t3; SELEPAS KATA KUNCI

HAD & OFFSET MySQL

Perintah Penerangan
PILIH {nama lapangan | *} DARI tableName (SIAPA keadaan) TERHAD N; Sintaks kata kunci TERHAD
PILIH * DARI jadual1 TERHAD 1, 2; MATI SET dalam pertanyaan TERHAD

Perintah MySQL SubQuery:

Perintah Penerangan
PILIH t1_nama DARI jadual1 DI MANA kategori_id = (PILIH MIN (t1_id) dari jadual2); sub pertanyaan

Perintah MySQL JOINS

Perintah Penerangan
PILIH * DARI jadual1 CROSS JOIN table2 Silang BERGABUNG
PILIH table1.t1, table1.t2, table2.t1 DARI table1, table2 WHERE table2.id = table1.table2_id GABUNGAN DALAM
PILIH A.t1, B.t2, B.t3 DARI jadual2 SEBAGAI A KIRI BERSAMA jadual1 SEBAGAI B PADA B. meja2_id = A.id BERSAMA KIRI
PILIH A.t1, A.t2, B.t3 DARI jadual1 SEBAGAI KANAN BERSAMA jadual2 AS B ON B.id = A.table2_id BERSAMA KANAN
PILIH A.t1, B.t2, B.t3 DARI jadual2 SEBAGAI KIRI BERSAMA jadual1 SEBAGAI B MENGGUNAKAN (table2_id) Klausa "ON" dan "USING"

Perintah MySQL UNION

Perintah Penerangan
PILIH lajur1, lajur2 DARI jadual1 Sintaks UNION
PILIH lajur1, lajur2 DARI jadual2; KEBEBASAN UNION

Perintah MySQL dalam Views

Perintah Penerangan
BUAT PANDANGAN view_name SEBAGAI pernyataan PILIH; Sintaks pandangan
DROP TAMPILAN general_v_movie_rentals; Menjatuhkan pandangan

Perintah MySQL Index

Perintah Penerangan
BUAT INDEX id_index ON table_name (kolum_nama); Tambah sintaks asas indeks
DROP INDEX index_id ON table_name; Sintaks asas indeks penurunan

Artikel menarik...