Chat hỗ trợ
Chat ngay
Ngày đăng: 29/12/2021 | 140 lượt xem

MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở lớn nhất thế giới, đặc biết được dùng rất nhiều cho các ứng dụng, website trên internet. Để hiểu và làm việc được với MySQL chúng ta cần phải biết các câu lệnh truy vấn trong MySQL. Bài viết này tổng hợp các truy vấn thường xuyên được sử dụng làm việc trong MySQL.

I - DATABASE

1. Thêm database

CREATE DATABASE theanh;

2. Xóa database

DROP DATABASE theanh;

II - TABLE

3. Thêm bảng

CREATE TABLE theanh.student(
    id int NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT,
    name varchar(50),
    email varchar(20),
    age int
);

4. Thêm khóa chính cho bảng sẵn có

ALTER TABLE theanh.student ADD PRIMARY KEY(id)

5. Thêm khóa ngoại cho bảng

CREATE TABLE theanh.father(
    id int NOT NULL PRIMARY KEY UNIQUE AUTO_INCREMENT,
    name varchar(50) NOT NULL,
    age int,
    parent_id int,
    FOREIGN KEY(parent_id) REFERENCES mother(id)
);

6. Xóa bảng

DROP TABLE theanh.student;

III - COLUMN

7. Thêm cột

ALTER TABLE theanh.student ADD sex varchar(20), ADD address varchar(50);

8. Xóa cột

ALTER TABLE theanh.student DROP COLUMN dob, DROP COLUMN sex;

9. Sửa cột

ALTER TABLE theanh.student MODIFY COLUMN email varchar(100);

10. Đổi tên cột

ALTER TABLE theanh.student CHANGE avg diemtrungbinh float;

11. Thêm ràng buộc cho cột

ALTER TABLE theanh.student CHANGE name varchar(50) NOT NULL;

12. Thêm ràng buộc cho nhiều cột

ALTER TABLE theanh.student MODIFY name varchar(50) NOT NULL, MODIFY add varchar(50) NOT NULL;

13. Xóa ràng buộc unique cho cột

ALTER TABLE theanh.student DROP INDEX id;

IIII - ROW DATA

14. Thêm dữ liệu

INSERT INTO theanh.father (name, age) VALUES('Thắng', 60)

15. Sửa dữ liệu

UPDATE theanh.sister SET name = 'Hằng' WHERE id = 1

16. Xóa dữ liệu

DELETE FROM theanh.sister WHERE id = 1

17 Mệnh đề AND

SELECT * FROM theanh.sister WHERE id = 1 AND name = 'Vân'

18 Mệnh đề OR

SELECT * FROM theanh.sister WHERE id = 1 OR name = 'Vân'

19. Mệnh đề LIKE tìm kiếm

SELECT * FROM theanh.sister WHERE name LIKE '%an%'

20. Sắp xếp dữ liệu( DESC: Giảm dần; ASC: Tăng dần)

SELECT * FROM theanh.sister ORDER BY id DESC

SELECT * FROM theanh.sister ORDER BY RAND()

21. Giới hạn dữ liệu

SELECT * FROM theanh.sister ORDER BY id DESC LIMIT 2

SELECT * FROM theanh.sister ORDER BY id DESC LIMIT 1,2

22. INNER JOIN lấy dữ liệu từ nhiều bảng

Có 3 kiểu JOIN trong SQL

INNER JOIN – trả về hàng khi có một sự phù hợp trong tất cả các bảng được join.

SELECT * FROM theanh.father INNER JOIN theanh.sister ON theanh.father.id = theanh.sister.parent_id

 

LEFT JOIN trả về tất cả bản ghi bảng bên trái, ngay cả khi không có sự phù hợp trong bảng bên phải, còn những bản ghi nào của bảng bên phải phù hợp với bảng trái thì dữ liệu bản ghi đó được dùng để kết hợp với bản ghi bảng trái, nếu không có dữ liệu sẽ NULL

SELECT * FROM theanh.father LEFT JOIN theanh.sister ON theanh.father.id = theanh.sister.parent_id ( Lấy dữ liệu của bảng father và dữ liệu của bảng sister có parent_id = id và parent_id = NULL (father)

 

RIGHT JOIN – trả về tất cả các hàng từ bảng bên phải, ngay cả khi không có sự phù hợp nào ở bảng bên trái.

SELECT * FROM theanh.father RIGHT JOIN theanh.sister ON theanh.father.id = theanh.sister.parent_id ( Lấy dữ liệu của bảng father và dữ liệu của bảng sister có parent_id = id (father)

23. Đếm tất cả các DATA trong bảng

SELECT *, count(*) FROM sister

24. Mệnh đề GROUP BY - nhóm các dữ liệu theo trường

SELECT age, count(*) FROM theanh.sister GROUP BY age

25. Mệnh đề điều kiện nếu sử dụng GROUP BY

SELECT age, count(*) FROM theanh.sister GROUP BY age HAVING count(*) >= n

Chú ý: Nếu kết 2 bảng phải dùng JOIN, INNER JOIN, LEFT JOIN, RIGHT JOIN

26. Kết hợp INNER JOIN với LIKE

SELECT * FROM brother INNER JOIN father ON brother.parent_id = father.id WHERE brother.name LIKE '%un%' OR father.name LIKE '%an%'