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ả |