sql

Tổng hợp những câu SQL cơ bản

Hướng dẫn này cung cấp cho bạn một sự khởi đầu nhanh với SQL bằng cách liệt kê tất cả cú pháp SQL cơ bản.

Tất cả các câu lệnh SQL bắt đầu bằng bất kỳ từ khoá nào như SELECT, INSERT, UPDATE, DELETE, ALTER, DROP, CREATE, USE, SHOW và tất cả các câu kết thúc bằng dấu chấm phẩy (;).

Điểm quan trọng nhất cần lưu ý ở đây là SQL không phân biệt chữ hoa và chữ thường, có nghĩa là SELECT và select có cùng ý nghĩa trong câu lệnh SQL. Trong khi đó, MySQL có sự khác biệt trong tên bảng. Vì vậy, nếu bạn làm việc với MySQL thì bạn cần phải khai báo tên bảng như tên của nó trong cơ sở dữ liệu.

1. Tạo cơ sở dữ liệu

Câu lệnh SQL CREATE DATABASE được sử dụng để tạo một cơ sở dữ liệu mới. Cú pháp của nó được đưa ra như bên dưới:

CREATE DATABASE databaseName;

Bằng cách sử dụng câu lệnh này, chúng ta thực hiện tạo một cơ sở dữ liệu với tên là databaseName. Trong trường hợp của bài viết này, tên cơ sở dữ liệu là user_system, do đó, SQL để tạo cơ sở dữ liệu sẽ là:

CREATE DATABASE user_system;

Sau khi tạo cơ sở dữ liệu, bạn có thể xem cơ sở dữ liệu bằng câu lệnh dưới đây.

SHOW DATABASES;

2. Tạo bảng

Câu lệnh CREATE TABLE chủ yếu được sử dụng để tạo một bảng mới trong cơ sở dữ liệu. Đối với trường hợp trong bài viết này, câu lệnh tạo bảng user_info sẽ là:

create table user_info ( id int auto_increment primary key, full_name varchar(45) not null, email varchar(45) null, country varchar(45) default 'USA' not null );
Code language: JavaScript (javascript)

Trong đó, các cột của bảng user_info là id, full_name và email.

Bây giờ, câu lệnh SQL tạo bảng user_details có dạng như sau:

CREATE TABLE `user_system`.`user_details` ( `id` INT NOT NULL AUTO_INCREMENT, `user_info_id` INT NOT NULL, `gender` VARCHAR(45) NOT NULL, `address` VARCHAR(45) NULL, PRIMARY KEY (`id`), CONSTRAINT `user_details_user_info_id` FOREIGN KEY (`id`) REFERENCES `user_system`.`user_info` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION);
Code language: JavaScript (javascript)

Trong đó, bảng user_details:

  1. Có ID là khóa chính và tự động tăng.
  2. user_info_id là khóa ngoại được tham chiếu đến bảng user_info
  3. Chèn dữ liệu vào bảng

Câu lệnh SQL để chèn dữ liệu cho bảng user_info có dạng như sau:

INSERT INTO `user_system`.`user_info` (`full_name`, `email`) VALUES ('Sajedul Karim', 'mesukcse08@gmail.com');
Code language: JavaScript (javascript)

Trong đó, tôi thêm full_name và email. Trường id là tự động tăng dần nên nó sẽ tự động tạo.

Để chèn dữ liệu vào bảng user_details, bạn phải thêm id bảng user_info làm khóa ngoại.

INSERT INTO `user_system`.`user_details` (`user_info_id`, `gender`, `address`) VALUES ('1', 'Male', 'Dhaka');
Code language: JavaScript (javascript)

3. Lấy dữ liệu

Đây là câu lệnh cần thiết và được sử dụng nhiều nhất trong SQL. Mục đích của nó là lấy dữ liệu từ bảng của một cơ sở dữ liệu cụ thể.

Câu lệnh để lấy ra tất cả dữ liệu từ bảng có dạng như sau:

SELECT * FROM user_info;

Câu lệnh lấy ra các bản ghi cụ thể từ bảng cơ sở dữ liệu:

SELECT id, full_name, country FROM user_system.user_info;
Code language: CSS (css)

4. Lọc dữ liệu

Chúng ta có thể sử dụng mệnh đề WHERE để lọc dữ liệu từ một bảng.

Ví dụ:

SELECT id, full_name, country FROM user_system.user_info where country = 'Bangladesh';
Code language: JavaScript (javascript)

5. Sắp xếp dữ liệu

Chúng ta có thể sắp xếp các bản ghi theo thứ tự bằng cách sử dụng mệnh đề ORDER BY.

Ví dụ:

SELECT id, full_name, country FROM user_system.user_info where country = 'Bangladesh' order by id desc;
Code language: JavaScript (javascript)

Câu truy vấn này sẽ hiển thị tất cả dữ liệu mà quốc gia có tên là Bangladesh và nó sẽ sắp xếp theo id theo thứ tự giảm dần.

6. Nhóm dữ liệu

Câu lệnh SQL GROUP BY được sử dụng để nhóm các hàng có cùng giá trị. Mệnh đề GROUP BY được sử dụng trong câu lệnh SELECT.

Trong các trường hợp khác, nó thường được sử dụng với các hàm tổng hợp bao gồm COUNT(), MAX(), MIN(), SUM(), AVG() để nhóm tập hợp kết quả theo một hoặc nhiều cột để tạo báo cáo tóm tắt từ cơ sở dữ liệu.

Ví dụ:

SELECT country, count(*) 'count' FROM user_system.user_info GROUP BY country;
Code language: JavaScript (javascript)

Câu lệnh SQL bên trên sẽ thực hiện đếm số người theo từng nước.

7. Lấy dữ liệu bằng cách kết nối bảng

Một câu lệnh SQL JOIN được sử dụng để kết hợp các bản ghi có liên quan từ hai bảng dựa trên các giá trị cột tương ứng trong hai bảng. Một câu truy vấn có thể chứa 0, một hoặc nhiều thao tác JOIN.

Chủ yếu có 4 kiểu thao tác JOIN: Inner, Left, Right, và Full JOIN

7.1. Inner Join

Câu lệnh này sẽ chỉ lấy dữ liệu chung giữa cả hai bảng.

Ví dụ:

SELECT ui.id, ui.full_name, ui.country, ud.gender, ud.address FROM user_system.user_info ui inner join user_system.user_details ud ON (ui.id = ud.user_info_id)

7.2. Left

Tìm kiếm các bản ghi trong bảng bên phải trùng khớp với bản ghi trong bảng bên trái. Bảng bên trái có thể có bản ghi rỗng nhưng bảng bên phải phải có bản ghi.

Ví dụ:

SELECT ui.id, ui.full_name, ui.country, ud.gender, ud.address FROM user_system.user_info ui left join user_system.user_details ud ON (ui.id = ud.user_info_id);

7.3. Right

Tìm kiếm các bản ghi trong bảng bên phải trùng khớp với bản ghi trong bảng bên trái. Bảng bên trái có thể có bản ghi rỗng nhưng bảng bên phải phải có bản ghi.

Ví dụ:

SELECT ui.id, ui.full_name, ui.country, ud.gender, ud.address FROM user_system.user_info ui right join user_system.user_details ud ON (ui.id = ud.user_info_id);

7.4. Full

Câu lệnh SQL này chọn tất cả các bản ghi đáp ứng các bản ghi bảng bên trái hoặc bên phải.

8. Sử dụng các hàm tập hợp

Hàm tổng hợp được sử dụng để tính toán một tập hợp các giá trị và trả về một giá trị duy nhất. Chúng ta thường sử dụng các hàm tổng hợp với mệnh đề GROUP BY và HAVING của câu lệnh SELECT.

Các hàm tổng hợp được sử dụng phổ biến nhất là:

  1. AVG – tính giá trị trung bình giữa một tập hợp các giá trị.
  2. COUNT – được sử dụng để đếm các hàng trên một bảng.
  3. MIN – được sử dụng để chọn giá trị nhỏ nhất từ các hàng trên bảng.
  4. MAX – được sử dụng để chọn giá trị lớn nhất từ các hàng trên bảng.
  5. SUM – tính tổng các giá trị.

Ví dụ:

SELECT ui.country, count(ui.id) 'user_count' FROM user_info ui GROUP BY ui.country;
Code language: JavaScript (javascript)

9. Xóa bản ghi

Chúng ta sẽ sử dụng câu lệnh SQL DELETE để xóa các bản ghi.

Ví dụ:

DELETE from user_info where full_name = 'Imran Khan';
Code language: JavaScript (javascript)

Câu lệnh bên trên sẽ xóa các bản ghi có trường full_name là ‘Imran Khan’.

10. Thay đổi bảng

Câu lệnh SQL ALTER TABLE chủ yếu được sử dụng để thay đổi bảng (ví dụ, thêm, xóa hoặc sửa đổi các cột trong bảng hiện có). Câu lệnh này cũng được sử dụng để thêm hoặc bớt các ràng buộc khác nhau trên một bảng hiện có.

Ví dụ:

ALTER TABLE `user_system`.`user_info` ADD COLUMN `password` VARCHAR(45) NOT NULL AFTER `country`;
Code language: JavaScript (javascript)

Câu lệnh SQL bên trên sẽ thực hiện thêm một cột địa chỉ (address) vào trong bảng user.

11. Xóa các bản ghi trong bảng bằng TRUNCATE

Câu lệnh TRUNCATE TABLE sẽ xóa tất cả các hàng khỏi bảng.

Sự khác biệt chính giữa TRUNCATE và DROP trong bảng là cấu trúc của bảng và các cột, ràng buộc, chỉ số và các cột khác của nó sẽ không thay đổi.

Để xóa định nghĩa của bảng và dữ liệu của nó, hãy sử dụng câu lệnh DROP TABLE.

Ví dụ:

TRUNCATE TABLE user_system.user_info;
Code language: CSS (css)

12. Xóa bảng

Câu lệnh DROP TABLE sẽ xóa bảng đó cùng với dữ liệu khỏi cơ sở dữ liệu.

Ví dụ:

DROP TABLE user_system.user_info;
Code language: CSS (css)

13. Tạo chỉ mục

Câu lệnh CREATE INDEX chủ yếu được sử dụng để tạo chỉ mục mới trong bảng. Bằng cách sử dụng chỉ mục, việc tìm kiếm dữ liệu dựa trên cột đó sẽ nhanh hơn trước. Người dùng không thể nhìn thấy các chỉ mục, nhưng trải nghiệm người dùng của họ sẽ được tăng lên khi tìm kiếm dữ liệu.

Ví dụ:

CREATE INDEX idx_fullName ON user_info (full_name);

Bằng cách sử dụng chỉ mục idx_fullName này, giờ đây việc tìm kiếm bằng full_name sẽ nhanh hơn trước.

14. Xóa chỉ mục

Câu lệnh DROP INDEX được sử dụng để xóa một chỉ mục khỏi bảng.

Ví dụ:

DROP INDEX idx_fullName ON user_info;

15. Xóa cơ sở dữ liệu

Câu lệnh SQL DROP DATABASE được sử dụng để loại bỏ một cơ sở dữ liệu hiện có.

Ví dụ:

DROP DATABASE user_system;

Như vậy, đối với tất cả các bạn lập trình viên, chúng ta cần có kiến thức cơ bản về các câu truy vấn liên quan đến cơ sở dữ liệu. Hy vọng rằng bài viết này sẽ giúp bạn.

Tổng kết

Trên đây là những câu SQL cơ bản. Mong rằng sẽ giúp ích cho bạn. Chúc bạn học tốt.

Xem thêm:

Cách sử dụng Google để có kết quả tìm kiếm tốt hơn

Học JavaScript


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.

Bài viết liên quan

Leave a Reply

Your email address will not be published.

TÀI LIỆU DEV WORLD
Cẩm nang phát triển bền vững với nghề lập trình!