Bảng tóm tắt các lệnh SQL này tập hợp các lệnh mà một lập trình viên thường sử dụng hàng ngày, được sắp xếp theo từng nhiệm vụ. Mỗi phần đều kèm theo cú pháp chính xác và mô tả đơn giản, bao gồm tạo cơ sở dữ liệu, kiểu dữ liệu, truy vấn, lọc, kết hợp và lập chỉ mục.
🗄️ Các lệnh cấu trúc: Các lệnh CREATE DATABASE, CREATE TABLE, ALTER, RENAME và DROP định nghĩa và định hình lại lược đồ cơ sở dữ liệu.
🔢 Loại dữ liệu: Các kiểu dữ liệu số, văn bản, ngày tháng và nhị phân xác định kích thước lưu trữ và phạm vi hợp lệ của mỗi cột.
🔎 Lệnh truy xuất: Câu lệnh SELECT kết hợp với WHERE, IN, LIKE và REGEXP giúp thu hẹp tập kết quả xuống chỉ còn những hàng quan trọng.
🇧🇷 Lệnh sửa đổi: Các thao tác INSERT, UPDATE và DELETE thay đổi các hàng đã lưu trữ và mỗi thao tác đều chấp nhận một điều kiện tùy chọn.
📊 Các lệnh tổng hợp: Nhóm theo với đếm, giá trị nhỏ nhất, giá trị lớn nhất, tổng và AVG Tóm tắt dữ liệu, còn HAVING dùng để lọc các nhóm.
🔗 Các lệnh kết hợp: JOIN hợp nhất các bảng cạnh nhau, trong khi UNION kết hợp kết quả của hai truy vấn.
Kiểu dữ liệu của một cột xác định những gì nó có thể lưu trữ và dung lượng bộ nhớ mà mỗi hàng chiếm dụng.
Các kiểu dữ liệu số
Lệnh
Mô tả Chi tiết
TINYINT( )
-128 đến 127 là bình thường, 0 đến 255 là không dấu.
SMALLINT( )
-32768 đến 32767 bình thường
0 đến 65535 KHÔNG ĐƯỢC KÝ.
MEDIUMINT( )
-8388608 đến 8388607 bình thường
0 đến 16777215 KHÔNG ĐƯỢC KÝ.
INT( )
-2147483648 đến 2147483647 bình thường
0 đến 4294967295 KHÔNG ĐƯỢC KÝ.
BIGINT( )
-9223372036854775808 đến 9223372036854775807 bình thường
0 đến 18446744073709551615 KHÔNG ĐƯỢC KÝ.
FLOAT
Một số gần đúng nhỏ có dấu thập phân động.
DOUBLE( , )
Một số xấp xỉ lớn có dấu thập phân.
DECIMAL( , )
Một số thập phân chính xác. Là lựa chọn ưu tiên để lưu trữ giá trị tiền tệ.
Các kiểu dữ liệu văn bản
Lệnh
Mô tả Chi tiết
CHAR( )
Một đoạn có độ dài cố định từ 0 đến 255 ký tự.
VARCHAR( )
Một đoạn văn bản có độ dài thay đổi, từ 0 đến 65535 ký tự.
TINYTEXT
Một chuỗi có độ dài tối đa 255 ký tự.
TEXT
Một chuỗi có độ dài tối đa 65535 ký tự.
BLOB
Dữ liệu nhị phân có độ dài tối đa là 65535 byte.
MEDIUMTEXT
Một chuỗi có độ dài tối đa 16777215 ký tự.
MEDIUMBLOB
Dữ liệu nhị phân có độ dài tối đa là 16777215 byte.
LONGTEXT
Một chuỗi có độ dài tối đa 4294967295 ký tự.
LONGBLOB
Dữ liệu nhị phân có độ dài tối đa là 4294967295 byte.
Kiểu dữ liệu ngày/giờ
Lệnh
Mô tả Chi tiết
DATE
YYYY-MM-DD
DATETIME
YYYY-MM-DD HH: MM: SS
TIMESTAMP
Định dạng YYYY-MM-DD HH:MM:SS, được lưu trữ theo múi giờ UTC và chuyển đổi sang múi giờ của phiên làm việc.
TIME
HH: MM: SS
Các kiểu dữ liệu khác
Lệnh
Mô tả Chi tiết
ENUM
Để lưu trữ một giá trị văn bản được chọn từ danh sách các giá trị văn bản đã được định sẵn.
SET
Chức năng này cũng được sử dụng để lưu trữ các giá trị văn bản được chọn từ một danh sách các giá trị văn bản được định nghĩa trước. Nó có thể chứa 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ư kiểu CHAR; điểm 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; điểm khác biệt là văn bản được lưu trữ ở định dạng nhị phân.
UPDATE table_name SET column_name = new_value [WHERE condition];
Cập nhật cú pháp lệnh
ĐẶT HÀNG THEO trong SQL: lệnh DESC & ASC
Lệnh
Mô tả Chi tiết
SELECT statement... [WHERE condition | GROUP BY field_name(s) HAVING condition] ORDER BY field_name(s) [ASC | DESC];
cú pháp cơ bản của mệnh đề ORDER BY
SELECT {fieldName(s) | *} FROM tableName(s) [WHERE condition] ORDER BY fieldname(s) ASC | DESC [LIMIT N];
Cú pháp DESC và ASC
Lệnh SQL GROUP BY và HAVING
NHÓM THEO Gộp các hàng thành nhóm, và sử dụng toán tử HAVING để lọc các nhóm đó sau khi chúng được hình thành.
Nhóm theo
Lệnh
Mô tả Chi tiết
SELECT statements... GROUP BY column_name1[, column_name2, ...] [HAVING condition];
Cú pháp GROUP BY
Nhómping và các hàm tổng hợp
Lệnh
Mô tả Chi tiết
SELECT t2, COUNT(t1) FROM table1 GROUP BY t2;
Giả sử chúng ta muốn tổng số giá trị cột t2 trong cơ sở dữ liệu của mình.
mệnh đề HAVING
Lệnh
Mô tả Chi tiết
SELECT * FROM table2 GROUP BY t1_id, t4 HAVING t1_id = x1;
Trả về tất cả các giá trị t4 cho các hàng của bảng 2 có t1_id là x1.
Các lệnh Ký tự đại diện SQL cho Thích, KHÔNG Thích, Thoát, ( % ), ( _ )
Ký tự đại diện cho phép LIKE khớp với các chuỗi ký tự một phần.
% là lệnh ký tự đại diện phần trăm trong MySQL
Lệnh
Mô tả Chi tiết
SELECT statements... WHERE fieldname LIKE 'xxx%';
Cú pháp cơ bản cho ký tự đại diện phần trăm %, khớp với bất kỳ số lượng ký tự nào.
_ lệnh gạch dưới ký tự đại diện
Lệnh
Mô tả Chi tiết
SELECT * FROM table1 WHERE t3 LIKE 'x2_';
Dấu gạch dưới khớp chính xác với một ký tự.
KHÔNG Thích lệnh ký tự đại diện
Lệnh
Mô tả Chi tiết
SELECT * FROM table1 WHERE t3 NOT LIKE 'x2_';
Giả sử chúng ta muốn lấy các hàng trong bảng 1 có giá trị t3 không khớp với mẫu.
Lệnh ký tự đại diện từ khóa thoát
Lệnh
Mô tả Chi tiết
LIKE '67#%' ESCAPE '#';
Kiểm tra chuỗi ký tự "67%" vì ký tự # dùng để thoát ký tự đại diện.
Biểu thức chính quy SQL (REGEXP)
Lệnh
Mô tả Chi tiết
SELECT statements... WHERE fieldname REGEXP 'pattern';
Cú pháp cơ bản của một phép so khớp biểu thức chính quy
Siêu ký tự biểu thức chính quy
Lệnh
Mô tả Chi tiết
*
Ký tự đặc biệt dấu sao (*) khớp với không hoặc nhiều lần xuất hiện của chuỗi đứng trước nó.
+
Ký tự đặc biệt dấu cộng (+) khớp với một hoặc nhiều lần xuất hiện của chuỗi đứng trước nó.
?
Ký tự đặc biệt dấu hỏi (?) khớp với không hoặc một lần xuất hiện của chuỗi đứng trước nó.
.
Ký tự đặc biệt dấu chấm (.) khớp với bất kỳ ký tự đơn nào ngoại trừ ký tự xuống dòng.
[abc]
Danh sách ký tự [abc] khớp với bất kỳ ký tự nào trong danh sách này.
[^abc]
Danh sách ký tự [^abc] khớp với bất kỳ ký tự nào ngoại trừ các ký tự được bao quanh.
[A-Z]
Dãy [AZ] tương ứng với bất kỳ chữ cái viết hoa nào.
[a-z]
Phạm vi [az] tương ứng với bất kỳ chữ cái viết thường nào.
[0-9]
Khoảng [0-9] tương ứng với bất kỳ chữ số nào từ 0 đến 9.
^
Dấu mũ (^) neo trận đấu ở đầu.
|
Dấu gạch dọc (|) dùng để phân tách các lựa chọn thay thế.
[[:<:]]
Dấu [[:<:]] khớp với phần đầu của từ.
[[:>:]]
Dấu [[:>:]] khớp với cuối từ.
[:class:]
Bộ đánh dấu [:class:] tương ứng với một lớp ký tự, ví dụ: [:alpha:] cho các chữ cái, [:space:] cho khoảng trắng, [:punct:] cho dấu câu và [:upper:] cho chữ cái viết hoa.
Các lệnh hàm SQL
Hàm chuỗi
Lệnh
Mô tả Chi tiết
SELECT t1_id, t2, UCASE(t2) FROM table1;
Hàm UCASE 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ố
Lệnh
Mô tả Chi tiết
Ví dụ
DIV
Phép chia số nguyên
SELECT 23 DIV 6;
/
Phòng
SELECT 23 / 6;
-
Subtracsản xuất
SELECT 23 - 6;
+
Ngoài ra
SELECT 23 + 6;
*
Phép nhân
SELECT 23 * 6 AS multiplication_result;
% or MOD
Mô-đun
SELECT 23 % 6; or SELECT 23 MOD 6;
FLOOR
Loại bỏ các chữ số thập phân khỏi một số và làm tròn số đó xuống số nguyên gần nhất.
SELECT FLOOR(23 / 6) AS floor_result;
ROUND
Làm tròn một số có chữ số thập phân đến số nguyên gần nhất.
SELECT ROUND(23 / 6) AS round_result;
Chức năng được lưu trữ
Lệnh
Mô tả Chi tiết
CREATE FUNCTION sf_name ([parameter(s)])
Bắt buộc. Thông báo MySQL Máy chủ sẽ tạo một hàm có tên là sf_name với các tham số tùy chọn được định nghĩa trong dấu ngoặc đơn.
RETURNS data type
Bắt buộc. Chỉ định kiểu dữ liệu mà hàm trả về.
DETERMINISTIC
Hàm này trả về cùng một giá trị bất cứ khi nào các đối số được cung cấp cho nó là giống nhau.
STATEMENTS
Mã thủ tục mà hàm thực thi.
Các lệnh hàm tổng hợp SQL
Lệnh
Mô tả Chi tiết
SELECT COUNT(t1_id) FROM table1 WHERE t1_id = 2;
COUNT hàm
SELECT MIN(t3) FROM table2;
Hàm MIN
SELECT MAX(t3) FROM table2;
Hàm MAX
SELECT SUM(t4) FROM table3;
Hàm SUM
SELECT AVG(t4) FROM table3;
AVG chức năng
Các lệnh SQL IS NULL & IS NOT NULL
A NULL Đây là một giá trị không tồn tại, vì vậy cần phải kiểm tra bằng toán tử IS NULL thay vì toán tử bằng.
Lệnh
Mô tả Chi tiết
SELECT COUNT(t3) FROM table1;
Hàm COUNT bỏ qua các giá trị NULL trong cột.
CREATE TABLE table2(
t1_number int NOT NULL,
t2_names varchar(255),
t3 varchar(6)
);
ALTER TABLE table_name ADD COLUMN column_name data_type;
Thay đổi cú pháp
DROP TABLE sample_table;
Cú pháp DROP TABLE
RENAME TABLE current_table_name TO new_table_name;
Cú pháp lệnh RENAME
ALTER TABLE table1 CHANGE COLUMN t1_names t1name char(250) NOT NULL;
Thay đổi từ khóa
ALTER TABLE table1 MODIFY t1name char(50) NOT NULL;
Từ khóa MODIFY
ALTER TABLE table1 ADD t4 date NULL AFTER t3;
Từ khóa SAU
GIỚI HẠN SQL & BẮT ĐẦU
Lệnh
Mô tả Chi tiết
SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N;
LIMIT cú pháp từ khóa
SELECT * FROM table1 LIMIT 1, 2;
Lỗi trong truy vấn LIMIT: bỏ qua 1 hàng, sau đó trả về 2 hàng.
Lệnh truy vấn con SQL
Lệnh
Mô tả Chi tiết
SELECT t1_name FROM table1 WHERE category_id = (SELECT MIN(t1_id) FROM table2);
Truy vấn phụ
Các lệnh THAM GIA SQL
THAM GIA Kết hợp các cột từ hai bảng thành một tập kết quả duy nhất.
Lệnh
Mô tả Chi tiết
SELECT * FROM table1 CROSS JOIN table2;
THAM GIA chéo
SELECT table1.t1, table1.t2, table2.t1
FROM table1, table2
WHERE table2.id = table1.table2_id;
INNER JOIN
SELECT A.t1, B.t2, B.t3
FROM table2 AS A
LEFT JOIN table1 AS B
ON B.table2_id = A.id;
LEFT JOIN
SELECT A.t1, A.t2, B.t3
FROM table1 AS A
RIGHT JOIN table2 AS B
ON B.id = A.table2_id;
THAM GIA ĐÚNG
SELECT A.t1, B.t2, B.t3
FROM table2 AS A
LEFT JOIN table1 AS B
USING (table2_id);
Mệnh đề “BẬT” và “SỬ DỤNG”
Các lệnh SQL UNION
UNION ghép các hàng của hai truy vấn lại với nhau, trong khi JOIN mở rộng chúng thành nhiều cột hơn.
Lệnh
Mô tả Chi tiết
SELECT column1, column2 FROM table1
UNION
SELECT column1, column2 FROM table2;
Cú pháp UNION. Các hàng trùng lặp sẽ bị loại bỏ.
SELECT column1, column2 FROM table1
UNION ALL
SELECT column1, column2 FROM table2;
UNION ALL giữ nguyên các hàng trùng lặp.
Các lệnh SQL trong Chế độ xem
Cảnh Quan Lưu trữ truy vấn dưới một tên để có thể tái sử dụng như một bảng.
Lệnh
Mô tả Chi tiết
CREATE VIEW view_name AS SELECT statement;
Cú pháp lượt xem
DROP VIEW general_v_movie_rentals;
Rơiping Lượt xem
Các lệnh chỉ mục SQL
Chỉ mục là một cấu trúc tra cứu giúp việc tìm kiếm trên một cột nhanh hơn nhiều.
Lệnh
Mô tả Chi tiết
CREATE INDEX id_index ON table_name(column_name);
Thêm cú pháp cơ bản chỉ mục
DROP INDEX index_id ON table_name;
Cú pháp cơ bản của chỉ mục thả
Câu Hỏi Thường Gặp
Không. Các từ khóa như SELECT và WHERE vẫn hoạt động trong mọi trường hợp. Viết hoa là một quy ước để phân biệt các lệnh với các định danh. Tuy nhiên, tên bảng có thể phân biệt chữ hoa chữ thường trên Linux.
Lệnh DELETE xóa các hàng đã chọn và có thể được hoàn tác. Lệnh TRUNCATE làm trống toàn bộ bảng một cách nhanh chóng và đặt lại AUTO_INCREMENT. Lệnh DROP xóa định nghĩa bảng.
Các mệnh đề FROM và JOIN được thực thi trước, sau đó đến WHERE, GROUP BY, HAVING, SELECT, ORDER BY và cuối cùng là LIMIT. Đó là lý do tại sao bí danh cột được định nghĩa trong SELECT không thể được sử dụng bên trong WHERE.
Đúng vậy. Các công cụ chuyển văn bản thành SQL sẽ dịch câu hỏi thành truy vấn bằng cách sử dụng lược đồ bảng. Luôn luôn đọc các điều kiện WHERE và JOIN được tạo ra, vì một truy vấn hợp lý có thể trả về các hàng không chính xác.
Vâng. RevViệc xem kết quả đầu ra của AI, tinh chỉnh các truy vấn chậm và đọc kế hoạch thực thi đều đòi hỏi sự thông thạo các lệnh. Một bảng tham khảo giúp tăng tốc độ nhớ lại; nó không thể thay thế sự hiểu biết.
Tóm tắt bài viết này với:
Cập nhật thông tin về AINhận AI hàng tuần Kỹ năng, Xu hướng, Lời khuyên hữu ích.
Đăng kí để nhận thư mới
Bạn đã đăng ký thành công. Vui lòng kiểm tra hộp thư đến của bạn.