Các lệnh truy vấn SQL căn bản và thường sử dụng để truy vấn và làm việc với Cơ sở dữ liệu MySQL.
1) Lệnh Create/Drop Database
a) Lệnh Create DB
- Chức năng: Dùng để tạo database
- Cú pháp:
CREATE DATABASE [IF NOT EXISTS] db_name
CHARACTER SET utf8 COLLATE utf8_bin;
Giá trị Collate values:
utf8_general_ci - Đây là giá trị mà dữ liệu có dấu thường dùng
b) Lệnh Drop Database
- Chức năng: Dùng để xóa một database trong CSDL
- Cú pháp: DROP DATABASE [IF EXISTS] db_name
2) Lệnh Create/Drop table
a) Lệnh Create table
- Chức năng: Dùng để tạo bảng trong database
ví dụ:
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (
p_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
p_ref TINYINT UNSIGNED NOT NULL,
p_title VARCHAR(10) NOT NULL,
p_amount DECIMAL(8,2) NOT NULL,
p_code CHAR(6),
p_status ENUM ('ACTV', 'CLOS') NOT NULL DEFAULT 'ACTV',
p_u_id INT UNSIGNED NOT NULL REFERENCES users(u_id),
modify_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
create_time TIMESTAMP DEFAULT 0,
PRIMARY KEY (p_id)
) ENGINE = MyISAM;
b) Lệnh Alter table
- Chức năng: Dùng để chỉnh sửa, thêm bớt cấu trúc table trong database
Ví dụ:
ALTER TABLE tbl ADD INDEX idx_tbl_uid (u_id);
ALTER TABLE tbl ADD CONSTRAINT uk_tbl_pid UNIQUE (p_id);
c) Lệnh Drop table
- Chức năng: Dùng để xóa hẳn table trong database (Xóa luôn cấu trúc và dữ liệu đang tồn tại trong database)
- Cú pháp:
DROP [TEMPORARY] TABLE [IF EXISTS]
tbl_name [, tbl_name] ...
[RESTRICT | CASCADE]
d) Lệnh Insert
- Chức năng: Dùng để thêm dữ liệu vào trong table của database
Ví dụ 1: INSERT INTO tbl (v1,v2,v3) VALUES(1,2,3),(4,5,6),(7,8,9);
Ví dụ 2: INSERT INTO tbl (v1, v2)
SELECT d1, d2
FROM tbl2 WHERE d1 > 100;
Ví dụ 3: Insert và nếu trùng khóa dữ liệu thì update
INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE b=2, c=3;
Các tham số insert khác:
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
e) Lệnh Update
- Chức năng: Dùng cập nhật các trường dữ liệu của table trong database
- Cú pháp:
UPDATE [LOW_PRIORITY] [IGNORE] tb11, tbl2, tbl3
SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]
Ví dụ 1:
Update tbl1
set col1='abc'
where key=1
Ví dụ 2:
UPDATE tbl1 AS t1
INNER JOIN tbl2 AS t2 ON t1.v1 = t2.v1
SET t1.v2 = t2.v2;
f) Lệnh Delete
- Chức năng: Dùng xóa các dòng dữ liệu của table trong database
Ví dụ 1:
DELETE FROM tbl1 WHERE user = 'usertest'
ORDER BY timestamp_column LIMIT 1;
Ví dụ 2:
DELETE t1 FROM t1
LEFT JOIN t2 ON t1.id=t2.id
WHERE t2.id IS NULL;
Tham số khác của lệnh delete:
DELETE [LOW_PRIORITY] [QUICK] [IGNORE] ...
g) Lệnh Truncate
- Chức năng: Xóa và tạo lại cấu trúc bảng trong database, lệnh này dùng khi muốn xóa toàn bộ dữ liệu của bảng mà không xóa cấu trúc bảng. Dùng lệnh này sẽ thực hiện nhanh hơn dùng lệnh delete khi muốn xóa toàn bộ dữ liệu bảng
- Cú pháp: TRUNCATE [TABLE] tbl_name
h) Lệnh Select
- Cú pháp:
SELECT
[ALL | DISTINCT | DISTINCTROW ]
[HIGH_PRIORITY]
[STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
select_expr [, select_expr ...]
[FROM table_references
[WHERE where_condition]
[GROUP BY {col_name | expr | position}
[ASC | DESC], ... [WITH ROLLUP]]
[HAVING where_condition]
[ORDER BY {col_name | expr | position}
[ASC | DESC], ...]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
[PROCEDURE procedure_name(argument_list)]
[INTO OUTFILE 'file_name'
[CHARACTER SET charset_name]
export_options
| INTO DUMPFILE 'file_name'
| INTO var_name [, var_name]]
[FOR UPDATE | LOCK IN SHARE MODE]]
Ví dụ:
(SELECT a FROM t1 WHERE a=10 AND B=1)
UNION
(SELECT a FROM t2 WHERE a=11 AND B=2)
ORDER BY a LIMIT 10;
Xin cảm ơn bạn đã đọc bài viết của chúng tôi, xin chúc bạn thành công !