- I. Tổng hợp MySQL Cheatsheet
- 1. Cơ bản
- 2. MySQL Examples
- 3. MySQL Data Types
- 4. MySQL Functions & Operators
I. Tổng hợp MySQL Cheatsheet
1. Cơ bản
⚡️ Kết nối MySQL (Connect MySQL)
mysql -u <user> -p
mysql [db_name]
mysql -h <host> -P <port> -u <user> -p [db_name]
mysql -h <host> -u <user> -p [db_name]
⚡️ Sao lưu (Backups)
Tạo bản sao lưu
mysqldump -u user -p db_name > db.sql
Xuất cơ sở dữ liệu mà không bao gồm cấu trúc
mysqldump -u user -p db_name --no-data=true --add-drop-table=false > db.sql
Khôi phục từ bản sao lưu
mysql -u user -p db_name < db.sql
⚡️ Cơ sở dữ liệu (Database)
Lệnh | Mô tả |
---|---|
CREATE DATABASE db; | Tạo cơ sở dữ liệu |
SHOW DATABASES; | Liệt kê cơ sở dữ liệu |
USE db; | Chuyển đến db |
CONNECT db ; | Chuyển đến db |
DROP DATABASE db; | Xóa db |
⚡️ Bảng (Table)
Lệnh | Mô tả |
---|---|
SHOW TABLES; | Liệt kê bảng trong cơ sở dữ liệu hiện tại |
SHOW FIELDS FROM t; | Liệt kê trường cho một bảng |
DESC t; | Hiển thị cấu trúc của bảng |
SHOW CREATE TABLE t; | Hiển thị SQL tạo bảng |
TRUNCATE TABLE t; | Xóa toàn bộ dữ liệu trong một bảng |
DROP TABLE t; | Xóa bảng |
⚡️ Tiến trình (Proccess)
Lệnh | Mô tả |
---|---|
show processlist; | Liệt kê các tiến trình |
kill pid; | Kết thúc tiến trình |
⚡️ Khác
Lệnh | Mô tả |
---|---|
exit hoặc \q | Thoát khỏi phiên MySQL |
2. MySQL Examples
⚡️ Quản lý bảng (Managing tables)
Tạo một bảng mới với ba cột
CREATE TABLE t (
id INT,
name VARCHAR DEFAULT NOT NULL,
price INT DEFAULT 0
PRIMARY KEY(id)
);
Xóa bảng khỏi cơ sở dữ liệu
DROP TABLE t ;
Thêm một cột mới vào bảng
ALTER TABLE t ADD column;
Xóa cột c khỏi bảng
ALTER TABLE t DROP COLUMN c ;
Thêm một ràng buộc
ALTER TABLE t ADD constraint;
Xóa một ràng buộc
ALTER TABLE t DROP constraint;
Đổi tên một bảng từ t1 thành t2
ALTER TABLE t1 RENAME TO t2;
Đổi tên cột c1 thành c2
ALTER TABLE t1 RENAME c1 TO c2;
Xóa toàn bộ dữ liệu trong một bảng
TRUNCATE TABLE t;
⚡️ Truy vấn dữ liệu từ một bảng (Querying data from a table)
Truy vấn dữ liệu trong các cột c1, c2 từ một bảng
SELECT c1, c2 FROM t
Truy vấn tất cả các hàng và cột từ một bảng
SELECT * FROM t
Truy vấn dữ liệu và lọc các hàng với điều kiện
SELECT c1, c2 FROM t
WHERE condition
Truy vấn các hàng duy nhất từ một bảng
SELECT DISTINCT c1 FROM t
WHERE condition
Sắp xếp kết quả theo thứ tự tăng dần hoặc giảm dần
SELECT c1, c2 FROM t
ORDER BY c1 ASC [DESC]
Bỏ qua offset hàng và trả về n hàng tiếp theo
SELECT c1, c2 FROM t
ORDER BY c1
LIMIT n OFFSET offset
Nhóm các hàng bằng một hàm tổng hợp
SELECT c1, aggregate(c2)
FROM t
GROUP BY c1
Lọc các nhóm bằng mệnh đề HAVING
SELECT c1, aggregate(c2)
FROM t
GROUP BY c1
HAVING condition
⚡️ Truy vấn từ nhiều bảng (Querying from multiple tables)
Inner join t1 và t2
SELECT c1, c2
FROM t1
INNER JOIN t2 ON condition
Left join t1 và t1
SELECT c1, c2
FROM t1
LEFT JOIN t2 ON condition
Right join t1 và t2
SELECT c1, c2
FROM t1
RIGHT JOIN t2 ON condition
Thực hiện full outer join
SELECT c1, c2
FROM t1
FULL OUTER JOIN t2 ON condition
Tạo ra một tích Cartesian của các hàng trong bảng
SELECT c1, c2
FROM t1
CROSS JOIN t2
Một cách khác để thực hiện cross join
SELECT c1, c2
FROM t1, t2
Join t1 với chính nó bằng INNER JOIN clause
SELECT c1, c2
FROM t1 A
INNER JOIN t1 B ON condition
Sử dụng SQL Operators để kết hợp các hàng từ hai truy vấn
SELECT c1, c2 FROM t1
UNION [ALL]
SELECT c1, c2 FROM t2
Trả về phần giao của hai truy vấn
SELECT c1, c2 FROM t1
INTERSECT
SELECT c1, c2 FROM t2
Trừ một tập kết quả khỏi một tập kết quả khác
SELECT c1, c2 FROM t1
MINUS
SELECT c1, c2 FROM t2
Truy vấn các hàng sử dụng kết hợp mẫu %, _
SELECT c1, c2 FROM t1
WHERE c1 [NOT] LIKE pattern
Truy vấn các hàng trong một danh sách
SELECT c1, c2 FROM t
WHERE c1 [NOT] IN value_list
Truy vấn các hàng giữa hai giá trị
SELECT c1, c2 FROM t
WHERE c1 BETWEEN low AND high
Kiểm tra xem giá trị trong một bảng có NULL hay không
SELECT c1, c2 FROM t
WHERE c1 IS [NOT] NULL
⚡️ Sử dụng ràng buộc SQL (Using SQL constraints)
Đặt c1 và c2 làm khóa chính
CREATE TABLE t(
c1 INT, c2 INT, c3 VARCHAR,
PRIMARY KEY (c1,c2)
);
Đặt cột c2 làm khóa ngoại
CREATE TABLE t1(
c1 INT PRIMARY KEY,
c2 INT,
FOREIGN KEY (c2) REFERENCES t2(c2)
);
Đảm bảo các giá trị trong c1 và c2 là duy nhất
CREATE TABLE t(
c1 INT, c1 INT,
UNIQUE(c2,c3)
);
Đảm bảo c1 > 0 và giá trị trong c1 >= c2
CREATE TABLE t(
c1 INT, c2 INT,
CHECK(c1> 0 AND c1 >= c2)
);
Đặt giá trị trong cột c2 không NULL
CREATE TABLE t(
c1 INT PRIMARY KEY,
c2 VARCHAR NOT NULL
);
⚡️ Sửa đổi dữ liệu (Modifying Data)
Chèn một hàng vào bảng
INSERT INTO t(column_list)
VALUES(value_list);
Chèn nhiều hàng vào bảng
INSERT INTO t(column_list)
VALUES (value_list),
(value_list), …;
Chèn các hàng từ t2 vào t1
INSERT INTO t1(column_list)
SELECT column_list
FROM t2;
Cập nhật giá trị mới trong cột c1 cho tất cả các hàng
UPDATE t
SET c1 = new_value;
Cập nhật giá trị trong cột c1, c2 phù hợp với điều kiện
UPDATE t
SET c1 = new_value,
c2 = new_value
WHERE condition;
Xóa tất cả dữ liệu trong một bảng
DELETE FROM t;
Xóa một phần của các hàng trong một bảng
DELETE FROM t
WHERE condition;
⚡️ Quản lý views (Managing Views)
Tạo một view mới gồm c1 và c2
CREATE VIEW v(c1,c2)
AS
SELECT c1, c2
FROM t;
Tạo một view mới với tùy chọn kiểm tra
CREATE VIEW v(c1,c2)
AS
SELECT c1, c2
FROM t;
WITH [CASCADED | LOCAL] CHECK OPTION;
Tạo một view đệ quy
CREATE RECURSIVE VIEW v
AS
select-statement -- phần neo
UNION [ALL]
select-statement; -- phần đệ quy
Tạo một view tạm thời
CREATE TEMPORARY VIEW v
AS
SELECT c1, c2
FROM t;
Xóa một view
DROP VIEW view_name;
⚡️ Quản lý Triggers (Managing triggers)
Tạo hoặc sửa một trigger
CREATE OR MODIFY TRIGGER trigger_name
WHEN EVENT
ON table_name TRIGGER_TYPE
EXECUTE stored_procedure;
⚡️ WHEN trong MySQL
Loại TRIGGER | Mô tả |
---|---|
BEFORE | Kích hoạt trước khi sự kiện xảy ra |
AFTER | Kích hoạt sau khi sự kiện xảy ra |
⚡️ EVENT trong MySQL
Loại sự kiện | Mô tả |
---|---|
INSERT | Kích hoạt cho sự kiện INSERT |
UPDATE | Kích hoạt cho sự kiện UPDATE |
DELETE | Kích hoạt cho sự kiện DELETE |
⚡️ TRIGGER TYPE trong MySQL
Loại TRIGGER | Mô tả |
---|---|
FOR EACH ROW | Áp dụng trigger cho mỗi dòng dữ liệu |
FOR EACH STATEMENT | Áp dụng trigger cho mỗi câu lệnh thực hiện |
⚡️ Quản lý chỉ mục (Managing indexes)
Tạo một index trên c1 và c2 của bảng t
CREATE INDEX idx_name
ON t(c1,c2);
Tạo một unique index trên c3, c4 của bảng t
CREATE UNIQUE INDEX idx_name
ON t(c3,c4)
Xóa một index
DROP INDEX idx_name;
3. MySQL Data Types
⚡️ Kiểu chuỗi trong MySQL
Loại | Mô tả |
---|---|
CHAR | Chuỗi (0 - 255) |
VARCHAR | Chuỗi (0 - 255) |
TINYTEXT | Chuỗi (0 - 255) |
TEXT | Chuỗi (0 - 65535) |
BLOB | Chuỗi (0 - 65535) |
MEDIUMTEXT | Chuỗi (0 - 16777215) |
MEDIUMBLOB | Chuỗi (0 - 16777215) |
LONGTEXT | Chuỗi (0 - 4294967295) |
LONGBLOB | Chuỗi (0 - 4294967295) |
ENUM | Một trong các lựa chọn cố định |
SET | Lựa chọn từ các tùy chọn cố định |
⚡️ Date & Time trong MySQL
Loại | Định dạng |
---|---|
DATE | yyyy-MM-dd |
TIME | hh:mm:ss |
DATETIME | yyyy-MM-dd hh:mm:ss |
TIMESTAMP | yyyy-MM-dd hh:mm:ss |
YEAR | yyyy |
⚡️ Số (Numberic) trong MySQL
LOẠI | PHẠM VI |
---|---|
TINYINT x | Số nguyên (-128 đến 127) |
SMALLINT x | Số nguyên (-32768 đến 32767) |
MEDIUMINT x | Số nguyên (-8388608 đến 8388607) |
INT x | Số nguyên (-2147483648 đến 2147483647) |
BIGINT x | Số nguyên (-9223372036854775808 đến 9223372036854775807) |
FLOAT | Số thập phân (chính xác đến 23 chữ số) |
DOUBLE | Số thập phân (24 đến 53 chữ số) |
DECIMAL | "DOUBLE" lưu trữ dưới dạng chuỗi |
4. MySQL Functions & Operators
👉 Xem chi tiết tại đây
II. Tài liệu tham khảo
Website không chứa bất kỳ quảng cáo nào, mọi đóng góp để duy trì phát triển cho website (donation) xin vui lòng gửi về STK 90.2142.8888 - Ngân hàng Vietcombank Thăng Long - TRAN VAN BINH
=============================
Nếu bạn không muốn bị AI thay thế và tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp hay làm chủ Database thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ bí kíp thực chiến, thủ tục, quy trình của gần 20 năm kinh nghiệm (mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google) từ đó giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
=============================
AI, trí tuệ nhân tạo, artificial intelligence, machine learning, deep learning, LLM, ChatGPT, DeepSeek, Grok, oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty