Trang tính gian lận SQL (Cập nhật năm 2021)

Mục lục

Trong bảng gian lận Truy vấn SQL này, bạn sẽ học

Tạo cơ sở dữ liệu và lệnh bảng

Chỉ huy Sự miêu tả
TẠO CƠ SỞ DỮ LIỆU; Tạo nên cơ sở dữ liệu
TẠO CƠ SỞ DỮ LIỆU KHÔNG TỒN TẠI cơ sở dữ liệu1; NẾU KHÔNG TỒN TẠI cho phép bạn hướng dẫn máy chủ MySQL kiểm tra sự tồn tại của cơ sở dữ liệu có tên tương tự trước khi tạo cơ sở dữ liệu.
TẠO CƠ SỞ DỮ LIỆU NẾU KHÔNG TỒN TẠI cơ sở dữ liệu 1 BỘ NHÂN VẬT latin1 Latin1 COLLATE latin1_swedish_ci bộ ký tự Latin1 sử dụng đối chiếu latin1_swedish_ci là thứ tự không phân biệt chữ hoa chữ thường của Thụy Điển.
HIỂN THỊ DỮ LIỆU Bạn có thể xem danh sách các cơ sở dữ liệu hiện có bằng cách chạy lệnh SQL sau.
TẠO BẢNG [NẾU KHÔNG TỒN TẠI] TableName (fieldname dataType [tham số tùy chọn]) ENGINE = storage Engine; Tạo cú pháp bảng

LOẠI DỮ LIỆU

Kiểu dữ liệu số

Chỉ huy Sự miêu tả
TINYINT () -128 đến 127 bình thường 0 đến 255 UNSIGNED.
SMALLINT () -32768 đến 32767 bình thường 0 đến 65535 UNSIGNED.
MEDIUMINT () -8388608 đến 8388607 bình thường 0 đến 16777215 CHƯA KÝ.
INT () -2147483648 đến 2147483647 bình thường 0 đến 4294967295 CHƯA KÝ.
BIGINT () -9223372036854775808 đến 9223372036854775807 bình thường 0 đến 18446744073709551615 UNSIGNED.
PHAO NỔI Một số gần đúng nhỏ với dấu thập phân động.
GẤP ĐÔI( , ) Một số lớn có dấu thập phân động.
DECIMAL (,) DOUBLE được lưu trữ dưới dạng một chuỗi, cho phép một dấu thập phân cố định. Lựa chọn để lưu trữ các giá trị tiền tệ.

Các kiểu dữ liệu văn bản

Chỉ huy Sự miêu tả
CHAR () Một phần cố định dài từ 0 đến 255 ký tự.
VARCHAR () Một phần biến có độ dài từ 0 đến 255 ký tự.
TINYTEXT Một chuỗi có độ dài tối đa là 255 ký tự.
BẢN VĂN Một chuỗi có độ dài tối đa là 65535 ký tự.
BÃI Một chuỗi có độ dài tối đa là 65535 ký tự.
MEDIUMTEXT Một chuỗi có độ dài tối đa là 16777215 ký tự.
MEDIUMBLOB Một chuỗi có độ dài tối đa là 16777215 ký tự.
VĂN BẢN DÀI Một chuỗi có độ dài tối đa là 4294967295 ký tự.
LONGBLOB Một chuỗi có độ dài tối đa là 4294967295 ký tự.

Các kiểu dữ liệu ngày / giờ

Chỉ huy Sự miêu tả
NGÀY YYYY-MM-DD
NGÀY GIỜ YYYY-MM-DD HH: MM: SS
TIMESTAMP YYYYMMDDHHMMSS
THỜI GIAN HH: MM: SS

Các kiểu dữ liệu khác

Chỉ huy Sự miêu tả
ENUM Để lưu trữ giá trị văn bản được chọn từ danh sách các giá trị văn bản được xác định trước.
BỘ Điều này cũng được sử dụng để lưu trữ các giá trị văn bản được chọn từ danh sách các giá trị văn bản được xác định trước. Nó có thể có nhiều giá trị.
BOOL Từ đồng nghĩa với TINYINT (1), được sử dụng để lưu trữ các giá trị Boolean
BINARY Tương tự như CHAR, sự khác biệt là văn bản được lưu trữ ở định dạng nhị phân.
VARBINARY Tương tự như VARCHAR, sự khác biệt là văn bản được lưu trữ ở định dạng nhị phân.

Câu lệnh SELECT trong MySQL

Chỉ huy Sự miêu tả
CHỌN [DISTINCT | ALL] {* | [fieldExpression [AS newName]} FROM tableName [alias] [WHERE condition] [GROUP BY fieldName (s)] [HAVING condition] ORDER BY fieldName Cú pháp câu lệnh SQL SELECT
CHỌN * TỪ bảng1; chọn bàn
CHỌN t1, t2, t3, t4 TỪ bảng1; chúng tôi chỉ quan tâm đến việc chỉ nhận được các trường t1, t2, t3 và t4.
CHỌN Concat (t1, (, t3,)), t4 TỪ bảng2; Nhận danh sách table2
CHỌN tên_bài | giá_trị | biểu_thức [AS] bí danh_tên; Cú pháp tên trường bí danh

Mệnh đề WHERE trong MySQL với các lệnh AND, OR, IN, NOT IN

Chỉ huy Sự miêu tả
SELECT * FROM tableName WHERE điều kiện; Mệnh đề WHERE Cú pháp
CHỌN * TỪ bảng1 WHERE t1 = 2 VÀ t2 = 2008; Mệnh đề WHERE kết hợp với - AND LOGICAL Operator
CHỌN * TỪ bảng1 TRONG ĐÓ t1 = 1 HOẶC t1 = 2; Mệnh đề WHERE kết hợp với - HOẶC Toán tử LOGICAL
SELECT * FROM table2 WHERE t1 IN (1,2,3); Mệnh đề WHERE kết hợp với - IN Từ khóa
SELECT * FROM table2 WHERE t1 NOT IN (1,2,3); Mệnh đề WHERE kết hợp với - NOT IN Keyword
SELECT * FROM table2 WHERE t3 = Female; Mệnh đề WHERE kết hợp với Equal (=) để SO SÁNH VẬN HÀNH
CHỌN * TỪ table3 WHERE t3> 2000; Mệnh đề WHERE được kết hợp với lớn hơn (>) để SO SÁNH VẬN HÀNH
SELECT * FROM table1 WHERE t1 <> 1; Mệnh đề WHERE kết hợp với Không bằng (<>) ĐIỀU HÀNH SO SÁNH

Câu lệnh MySQL CHÈN VÀO Bảng

Chỉ huy Sự miêu tả
CHÈN VÀO tên_bảng (cột 1, cột 2,…) GIÁ TRỊ (giá trị 1, giá trị 2,…); cú pháp cơ bản của lệnh SQL INSERT
CHÈN VÀO bảng1 (t1, t2, t3, t4) CÁC GIÁ TRỊ (X1, X2, X3, X4); CHÈN dữ liệu vào bảng
CHÈN VÀO bảng_1 CHỌN * TỪ bảng_2; Chèn vào một Bảng từ một Bảng khác

Lệnh MySQL DELETE

Chỉ huy Sự miêu tả
XÓA khỏi tên_bảng [điều kiện WHERE]; Xóa một hàng trong MySQL

Ví dụ: - XÓA TỪ table1 WHERE table1_id = 18;

(xóa mục nhập 18 số id dạng table1.) DELETE FROM table1 WHERE table1_id IN (20,21); (xóa mục nhập của biểu mẫu id số 20 và 21 số bảng1)

Lệnh cập nhật MySQL

Chỉ huy Sự miêu tả
CẬP NHẬT tên_bảng SET column_name = new_value [WHERE điều kiện]; cập nhật cú pháp lệnh

Ví dụ: - SELECT * FROM table1 WHERE t1 = 1;

(truy xuất bản ghi cho t1 = 1) CẬP NHẬT table1 SET t4 = X1 WHERE t1 = 1; (cập nhật giá trị t4 trong bảng)

ORDER BY trong MySQL: Lệnh DESC & ASC

Chỉ huy Sự miêu tả
Câu lệnh SELECT… [Điều kiện WHERE | NHÓM THEO (các) tên trường CÓ điều kiện] ĐẶT HÀNG THEO (các) tên trường [ASC | MÔ TẢ]; Đặt hàng theo mệnh đề cú pháp cơ bản
CHỌN {fieldName (s) | *} TỪ (các) tên bảng [Điều kiện WHERE] ĐẶT HÀNG THEO (các) tên trường ASC / DESC [LIMIT N] Cú pháp DESC và ASC

Ví dụ: - Đối với DESC (giảm dần)

SELECT * FROM table1 ORDER BY t3 DESC; Đối với ASC (tăng dần) SELECT * FROM table1 ORDER BY t3 ASC;

Lệnh Mệnh đề MySQL GROUP BY và HAVING

Nhóm theo

Chỉ huy Sự miêu tả
Câu lệnh SELECT… GROUP BY column_name1 [, column_name2,…] [HAVING condition]; NHÓM THEO Cú pháp

Ví dụ để nhóm một cột duy nhất: - SELECT t4 FROM table1;

CHỌN t4 TỪ bảng1 NHÓM THEO t4; (giả sử chúng ta muốn nhận các giá trị duy nhất cho t4.)

Ví dụ để nhóm nhiều cột: - SELECT t1_id, t4 FROM table2;

CHỌN t1_id, t4 TỪ table2 GROUP BY t1_id, t4; (sử dụng nhóm theo phương thức)

Nhóm và chức năng tổng hợp

Chỉ huy Sự miêu tả
CHỌN t2, COUNT (t1) TỪ bảng1 GROUP BY t2; Giả sử chúng ta muốn có tổng số giá trị cột t2 trong cơ sở dữ liệu của mình.

Điều khoản HAVING

Chỉ huy Sự miêu tả
CHỌN * TỪ table2 GROUP BY t1_id, t4 CÓ t1_id = x1; tất cả các t4 cho table2 t1 id x1. Chúng tôi sẽ sử dụng tập lệnh sau để đạt được kết quả của chúng tôi.

Các lệnh MySQL Wildcards cho Like, NOT Like, Escape, (%), (_)

% phần trăm ký tự đại diện commmand trong MySQL

Chỉ huy Sự miêu tả
Câu lệnh SELECT… Tên trường WHERE LIKE xxx%; cú pháp cơ bản cho ký tự đại diện% phần trăm

Ví dụ: - chúng tôi sẽ sử dụng ký tự đại diện phần trăm để thực hiện đối sánh mẫu trên cả hai mặt của từ "X1" như một phần t2 của bảng1 CHỌN * TỪ bảng1 WHERE t2 LIKE% X1%;

SELECT * FROM table1 WHERE t2 LIKE% X1; (chỉ ký tự đại diện phần trăm ở đầu tiêu chí tìm kiếm) SELECT * FROM table1 WHERE t2 LIKE X1%; (phần trăm ký tự đại diện đến cuối của mẫu được chỉ định sẽ được đối sánh.)

_ dấu gạch dưới lệnh ký tự đại diện

Chỉ huy Sự miêu tả
SELECT * FROM table1 WHERE t3 LIKE x2_; tất cả bảng1 có t3 trong năm "x2"

KHÔNG giống như lệnh ký tự đại diện

Chỉ huy Sự miêu tả
CHỌN * TỪ bảng1 TRONG ĐÓ t3 KHÔNG THÍCH X2_; Giả sử chúng ta muốn lấy bảng1 không phải là t3 trong năm X2_

Thoát lệnh ký tự đại diện của từ khóa

Chỉ huy Sự miêu tả
THÍCH 67 # %% ESCAPE #; chúng tôi muốn kiểm tra chuỗi "67%"

Biểu thức chính quy MYSQL (REGEXP)

Chỉ huy Sự miêu tả
Câu lệnh SELECT… Mẫu REGEXP tên trường WHERE; cú pháp cơ bản của Biểu thức chính quy

Ví dụ: - tất cả bảng1 t1 có từ X1 trong chúng. Không quan trọng là "X1" ở đầu, giữa hay cuối tiêu đề. CHỌN * TỪ bảng1 WHERE t1 REGEXP X1;

Ký tự siêu biểu thức chính quy

Chỉ huy Sự miêu tả
* Siêu ký tự dấu hoa thị (*) được sử dụng để khớp với không (0) hoặc nhiều trường hợp của các chuỗi đứng trước nó
+ Siêu ký tự cộng (+) được sử dụng để khớp với một hoặc nhiều trường hợp của chuỗi đứng trước nó.
? Siêu ký tự câu hỏi (?) Được sử dụng để khớp với số không (0) hoặc một phiên bản của các chuỗi đứng trước nó.
. Siêu ký tự dấu chấm (.) Được sử dụng để khớp với bất kỳ ký tự đơn lẻ nào ngoại trừ một dòng mới.
[abc] Danh sách biểu đồ [abc] được sử dụng để khớp với bất kỳ ký tự nào trong số các ký tự kèm theo.
[^abc] Danh sách biểu đồ [abc] được sử dụng để khớp với bất kỳ ký tự nào ngoại trừ các ký tự kèm theo.
[A-Z] [AZ] được sử dụng để khớp với bất kỳ chữ cái viết hoa nào
[a-z] [Az] được sử dụng để khớp với bất kỳ chữ cái thường nào
[0-9] [0-9] được sử dụng để khớp với bất kỳ chữ số nào từ 0 đến 9.
^ Dấu mũ (^) được sử dụng để bắt đầu trận đấu khi bắt đầu.
| Thanh dọc (|) được sử dụng để cách ly các lựa chọn thay thế.
[[:<:]] [[: <:]] Khớp với đầu từ.
[[:>:]] [[:>:]] Khớp với cuối từ.
[:class:] [: Class:] khớp với một lớp ký tự tức là [: alpha:] để khớp các chữ cái, [: space:] để khớp với khoảng trắng, [:unct:] là khớp với các dấu câu và [: upper:] đối với các chữ cái trên.

Các lệnh hàm SQL

Hàm chuỗi

Chỉ huy Sự miêu tả
CHỌN t1_id, t2, UCASE (t2) TỪ bảng1; chức năng "UCASE" để làm điều đó. Nó nhận một chuỗi làm tham số và chuyển đổi tất cả các chữ cái thành chữ hoa.

Các hàm số

Chỉ huy Sự miêu tả Thí dụ
DIV Phép chia số nguyên CHỌN 23 Câu 6;
/ Sư đoàn CHỌN 23/6;
- Phép trừ CHỌN 23 - 6;
+ Thêm vào CHỌN 23 + 6;
* Phép nhân CHỌN 23 * 6 AS kết quả nhân_lục;
% or MOD Mô đun CHỌN 23% 6; hoặc CHỌN 23 MOD 6;
Floor hàm này loại bỏ các vị trí thập phân khỏi một số và làm tròn nó đến số thấp nhất gần nhất. CHỌN TẦNG (23/6) AS tầng_kết quả;
Round hàm này làm tròn một số có chữ số thập phân đến số nguyên gần nhất. CHỌN ROUND (23/6) AS round_result;

Các chức năng được lưu trữ

Chỉ huy Sự miêu tả
TẠO FUNCTION sf_name ([tham số (s)]) RETURNS kiểu dữ liệu XÁC ĐỊNH THỐNG KÊ cú pháp cơ bản để tạo một hàm được lưu trữ
TẠO CHỨC NĂNG sf_name ([tham số]) Bắt buộc và yêu cầu máy chủ MySQL tạo một hàm có tên là `sf_name 'với các tham số tùy chọn được xác định trong dấu ngoặc đơn.
RETURNS kiểu dữ liệu Bắt buộc và chỉ định kiểu dữ liệu mà hàm sẽ trả về.
XÁC ĐỊNH Hàm sẽ trả về các giá trị giống nhau nếu các đối số giống nhau được cung cấp cho nó.
CÁC CÂU LỆNH Mã thủ tục mà hàm thực thi.

Các lệnh hàm Aggregate trong MySQL

Chỉ huy Sự miêu tả
CHỌN ĐẾM (t1_id) TỪ bảng1 WHERE t1_id = 2; Hàm COUNT
CHỌN MIN (t3) TỪ bảng2; Hàm MIN
CHỌN MAX (t3) TỪ bảng2; Hàm MAX
CHỌN SUM (t4) TỪ bảng3; Hàm SUM
CHỌN AVG (t4) TỪ bảng3; Chức năng AVG

Lệnh MySQL KHÔNG ĐỦ & KHÔNG ĐỦ

Chỉ huy Sự miêu tả
CHỌN ĐẾM (t3) TỪ bảng1; (nếu t3 có giá trị null không được tính) Null as a Value
TẠO BẢNG table2 (t1_number int NOT NULL, t2_names varchar (255), t3 varchar (6)); Giá trị KHÔNG ĐẦY ĐỦ
comlumn_name LÀ KHÔNG ĐẦY ĐỦ comlumn_name KHÔNG ĐẦY ĐỦ Từ khóa NULL Cú pháp cơ bản
SELECT * FROM table1 WHERE t2_number IS NULL; Ví dụ về IS NULL
CHỌN * TỪ table1 TRONG ĐÓ t2_number KHÔNG ĐẦY ĐỦ; Ví dụ về IS NOT NULL

Lệnh MySQL AUTO_INCREMENT

Chỉ huy Sự miêu tả
TẠO BẢNG table1 (t1_id int (11) AUTO_INCREMENT, t2_name varchar (150) DEFAULT NULL, t3 varchar (500) DEFAULT NULL, PRIMARY KEY (t1_id)); Cú pháp tăng dần tự động

MYSQL - ALTER, DROP, RENAME, MODIFY

Chỉ huy Sự miêu tả
ALTER TABLE tên_bảng THÊM COLUMN cột_tên dữ_liệu_tên kiểu; Cú pháp thay thế
DROP TABLE mẫu_bảng; Cú pháp DROP TABLE
RENAME TABLE tên_bảng hiện tại THÀNH tên_bảng mới; Cú pháp RENAME COMMAND
Bảng ALTER TABLE1 THAY ĐỔI CỘT t1_names t1name char (250) NOT NULL; THAY ĐỔI TỪ KHÓA
ALTER TABLE table1MODIFY t1name char (50) NOT NULL; SỬA ĐỔI TỪ KHÓA
Bảng ALTER TABLE1 THÊM ngày t4 NULL SAU t3; SAU KHI CÓ TỪ KHÓA

MySQL LIMIT & OFFSET

Chỉ huy Sự miêu tả
CHỌN {(các) tên trường | *} FROM tableName (s) [Điều kiện WHERE] LIMIT N; LIMIT cú pháp từ khóa
CHỌN * TỪ bảng1 GIỚI HẠN 1, 2; TẮT CÀI ĐẶT trong truy vấn LIMIT

Các lệnh MySQL SubQuery:

Chỉ huy Sự miêu tả
SELECT t1_name FROM table1 WHERE category_id = (SELECT MIN (t1_id) from table2); truy vấn phụ

Các lệnh MySQL JOINS

Chỉ huy Sự miêu tả
CHỌN * TỪ bảng1 CROSS THAM GIA bảng2 THAM GIA chéo
CHỌN table1.t1, table1.t2, table2.t1 TỪ table1, table2 WHERE table2.id = table1.table2_id THAM GIA INNER
CHỌN A.t1, B.t2, B.t3 TỪ table2 AS A LEFT JOIN table1 AS B ON B.table2_id = A.id CHỖ NỐI BÊN TRÁI
CHỌN A.t1, A.t2, B.t3 TỪ table1 AS A RIGHT THAM GIA bảng2 AS B ON B.id = A.table2_id THAM GIA ĐÚNG
CHỌN A.t1, B.t2, B.t3 TỪ table2 AS A LEFT JOIN table1 AS B USING (table2_id) Mệnh đề "ON" và "USING"

Các lệnh MySQL UNION

Chỉ huy Sự miêu tả
CHỌN cột1, cột2 TỪ bảng1 Cú pháp UNION
CHỌN cột1, cột2 TỪ bảng2; ĐOÀN KẾT

Các lệnh MySQL trong Chế độ xem

Chỉ huy Sự miêu tả
CREATE VIEW view_name AS câu lệnh SELECT; Cú pháp chế độ xem
DROP VIEW chung_v_movie_rentals; Giảm lượt xem

Lệnh MySQL Index

Chỉ huy Sự miêu tả
TẠO CHỈ SỐ id_index TRÊN tên_bảng (tên_mạch); Thêm cú pháp cơ bản của chỉ mục
DROP INDEX index_id ON tên_bảng; Cú pháp cơ bản của chỉ mục thả

thú vị bài viết...