Nếu bạn là người mới tìm hiểu về SQL thì đây chính xác là bài viết bạn nên tham khảo. Tôi sẽ trình bày tổng quan về SQL là gì, các lệnh cơ bản trong lập trình cơ sở dữ liệu và rất nhiều thứ khác về SQL.
MỤC LỤC
1. SQL là gì?
2. Tại sao sử dụng SQL?
3. Tóm tắt lịch sử của SQL
4. Chức năng của SQL là gì?
5. Ưu điểm của SQL là gì?
6. Nhược điểm của SQL là gì?
7. Phân loại câu lệnh SQL
7.1. SQL DDL (Data Definition Language) là gì?
7.2. SQL DML (Data Manipulation Language) là gì?
7.3. SQL DCL (Data Control Language) là gì?
8. Các câu lệnh SQL phổ biến
8.1. Truy vấn Update trong SQL là gì?
8.2. Truy vấn Insert trong SQL là gì?
8.3. Truy vấn Select trong SQL là gì?
8.4. Mệnh đề Order By
8.5. Mệnh đề Group By
8.6. Từ khóa Distinct
8.7. Mệnh đề Where
8.8. Mệnh đề AND & OR
8.9 Mệnh đề HAVING
SQL là gì?
SQL là loại ngôn ngữ máy tính, giúp cho thao tác lưu trữ và truy xuất dữ liệu được lưu trữ trong một cơ sở dữ liệu quan hệ. SQL là viết tắt của Structured Query Language là ngôn ngữ truy vấn có cấu trúc.
Ứng dụng thực tế của SQL là gì? Tiếp tục tìm hiểu nhé!
Tất cả RDBMS (hệ thống quản lý cơ sở dữ liệu quan hệ) như MySQL, Oracle, MS Access, Sybase, Informix, Postgres và SQL Server đều sử dụng SQL như là ngôn ngữ cơ sở dữ liệu chuẩn.
SQL là một ngôn ngữ được tiêu chuẩn hóa bởi ANSI (American National Standards Institute) – Viện tiêu chuẩn quốc gia Hoa Kỳ. Đây cũng đồng thời là ngôn ngữ được sử dụng phổ biến trong các hệ thống quản lý cơ sở dữ liệu quan hệ và hỗ trợ sử dụng trong các công ty lớn về công nghệ.
Tại sao sử dụng SQL?
Ngoài việc là một ngôn ngữ máy tính phổ biến, SQL còn là ngôn ngữ máy tính hữu dụng. Vì vậy, người ta thường sử dụng SQL cho các mục đích:
- Tạo cơ sở dữ liệu, bảng và view mới.
- Để chèn các bản ghi vào trong một cơ sở dữ liệu.
- Để xóa các bản ghi từ một cơ sở dữ liệu.
- Để lấy dữ liệu từ một cơ sở dữ liệu.
Hiện nay hầu hết các website đều sử dụng MySQL làm cơ sở quản lý dữ liệu cho website trên hosting. Việc hiểu biết về ngôn ngữ lập trình SQL sẽ giúp bạn thao tác dữ liệu tốt hơn mà không cần nhờ đến hỗ trợ từ các dịch vụ cho thuê hosting. Bạn có thể tìm hiểu thêm về MySQL trong bài viết “MySQL là gì?“. Với hệ thống lớn thì thường dùng Oracle, SQL Server, DB2.
MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (gọi tắt là RDBMS) hoạt động theo mô hình client-server. Với RDBMS là viết tắt của Relational Database Management System. MySQL được tích hợp apache, PHP. MySQL quản lý dữ liệu thông qua các cơ sở dữ liệu. Mỗi cơ sở dữ liệu có thể có nhiều bảng quan hệ chứa dữ liệu. MySQL cũng có cùng một cách truy xuất và mã lệnh tương tự với ngôn ngữ SQL.
Tóm tắt lịch sử của SQL
Nhìn chung, để phát triển được như ngày nay, SQL đã phải trải qua giai đoạn hình thành và thay đổi suốt nhiều năm:
- 1970 – Tiến sĩ Edgar F. “Ted” Codd của IBM được biết đến như là cha đẻ của các cơ sở dữ liệu quan hệ mô tả một mô hình quan hệ cho cơ sở dữ liệu trong quyển sách của mình.
- 1974 – Structured Query Language đầu tiên được phát triển.
- 1978 – IBM đã làm việc để phát triển các ý tưởng của Codd và đưa ra một sản phẩm có tên System / R. Cùng thời điểm đó Relational Software, Inc cũng phát triển cơ sở dữ liệu của riêng họ.
- 1979 – Relational Software, Inc. giới thiệu Oracle V2 và nhận được nhiều sự chú ý từ công chúng.
- 1986 – IBM đã phát triển nguyên mẫu đầu tiên của cơ sở dữ liệu quan hệ và được tiêu chuẩn hóa bởi ANSI. Cơ sở dữ liệu quan hệ đầu tiên được phát hành bởi Relational Software sau này được gọi là Oracle.
Chức năng của SQL là gì?
Một trong những lý do khiến cho SQL được sử dụng phổ biến, chính là nó đã cho phép người dùng thực hiện đa dạng các chức năng sau:
- Cho phép người dùng truy cập dữ liệu trong các hệ thống quản lý cơ sở dữ liệu quan hệ.
- Cho phép người dùng mô tả dữ liệu.
- Cho phép người dùng xác định dữ liệu trong cơ sở dữ liệu và thao tác dữ liệu đó.
- Cho phép nhúng trong các ngôn ngữ khác sử dụng mô-đun SQL, thư viện và trình biên dịch trước.
- Cho phép người dùng tạo và thả các cơ sở dữ liệu và bảng.
- Cho phép người dùng tạo chế độ view, thủ tục lưu trữ, chức năng trong cơ sở dữ liệu.
- Cho phép người dùng thiết lập quyền trên các bảng, thủ tục và view.
Ưu điểm của SQL là gì?
Tại sao cần sử dụng SQL? Với SQL, người dùng dường như khai thác được khá nhiều lợi ích. Dưới đây là một số ưu điểm của SQL:
- Dữ liệu có ở mọi nơi: Dữ liệu xuất hiện ở mọi nơi trên màn hình từ laptop đến điện thoại của bạn. Việc học tập và tìm hiểu SQL sẽ giúp bạn biết được cách thức hoạt động của những dữ liệu này.
- Thêm, sửa, đọc và xóa dữ liệu dễ dàng: với SQL, các thao tác xử lý dữ liệu trở nên dễ dàng hơn bao giờ hết. Bạn chỉ cần thực hiện một số thao tác với dữ liệu đơn giản trên SQL thay vì phải dùng nhiều câu lệnh phức tạp trên các loại ngôn ngữ khác.
- SQL giúp công việc lập trình dễ dàng hơn: bạn có thể lưu nhiều dữ liệu cho nhiều ứng dụng khác nhau trên cũng một cơ sở dữ liệu và việc truy cập các cơ sở dữ liệu này trở lên đơn giản hơn nhờ một cách thức giống nhau.
- Được sử dụng và hỗ trợ bởi nhiều công ty lớn: tất cả các công ty lớn về công nghệ trên thế giới hiện nay như Microsoft, IBM, Oracle… đều hỗ trợ việc phát triển ngôn ngữ SQL.
- Lịch sử hơn 40 năm: với lịch sử phát triển hơn 40 năm từ 1970, SQL vẫn tồn tại và trụ vững đến ngày nay. Điều này cho thấy vị trí của SQL hiện tại rất khó bị thay thế bởi bất kỳ một ngôn ngữ máy tính nào khác.
Nhược điểm của SQL là gì?
Mặc dù là ngôn ngữ được sử dụng phổ biến, thế nhưng, không một ngôn ngữ nào là hoàn hảo. Vì vậy, SQL cũng tồn tại một số hạn chế dưới đây:
- Giao diện khó dùng: SQL có giao diện phức tạp khiến một số người dùng khó truy cập.
- Không được toàn quyền kiểm soát: Các lập trình viên sử dụng SQL không có toàn quyền kiểm soát cơ sở dữ liệu.
- Thực thi: Hầu hết các chương trình cơ sở dữ liệu SQL đều có phần mở rộng độc quyền riêng.
- Giá cả: Chi phí vận hành của một số phiên bản SQL khá cao khiến một số lập trình viên gặp khó khăn khi tiếp cận.
Phân loại câu lệnh SQL
SQL DDL (Data Definition Language) là gì?
DDL là ngôn ngữ định nghĩa dữ liệu. Các lệnh DDL bao gồm:
- Lệnh CREATE: Tạo một bảng, một View của bảng, hoặc đối tượng khác trong Database.
- Lệnh ALTER: Sửa đổi một đối tượng Database đang tồn tại, ví dụ như một bảng.
- Lệnh DROP: Xóa toàn bộ một bảng, một View của bảng hoặc đối tượng khác trong một Database.
SQL DML (Data Manipulation Language) là gì?
DML là ngôn ngữ thao tác dữ liệu. Các lệnh DML bao gồm:
- Lệnh SELECT: Lấy các bản ghi cụ thể từ một hoặc nhiều bảng.
- Lệnh INSERT: Tạo một bản ghi.
- Lệnh UPDATE: Sửa đổi các bản ghi.
- Lệnh DELETE: Xóa các bản ghi.
SQL DCL (Data Control Language) là gì?
DCL là ngôn ngữ điều khiển dữ liệu. Các lệnh DCL bao gồm:
- Lệnh GRANT: Trao một quyền tới người dùng.
- Lệnh REVOKE: Thu hồi quyền đã trao cho người dùng.
Các câu lệnh SQL phổ biến
Trong SQL có khá nhiều câu lệnh, mệnh đề khác nhau. Tuy nhiên dưới đây là một số những truy vấn thường gặp nhất. Chúng ta sẽ cùng tìm hiểu chi tiết ngay bên dưới:
- Truy vấn Update
- Truy vấn Insert
- Truy vấn Select
- Mệnh đề Order By
- Mệnh đề Group By
- Từ khóa Distinct
- Mệnh đề Where
- Mệnh đề AND & OR
Truy vấn Update trong SQL là gì?
Truy vấn UPDATE trong SQL được sử dụng để sửa đổi các bản ghi đang tồn tại trong một bảng. Bạn có thể sử dụng mệnh đề WHERE với truy vấn UPDATE sửa đổi các hàng đã lựa chọn, nếu không, hệ thống sẽ mặc định là tất cả các hàng đều bị tác động.
Cú pháp:
UPDATE ten_bang
SET cot1 = giatri1, cot2 = giatri2...., cotN = giatriN
WHERE [dieu_kien];
Truy vấn Insert trong SQL là gì?
Lệnh INSERT INTO trong SQL được sử dụng để thêm các hàng dữ liệu mới vào một bảng trong Database.
Cú pháp:
- Xác định cột để chèn dữ liệu:
INSERT INTO TABLE_TEN (cot1, cot2, cot3,...cotN)]
VALUES (giatri1, giatri2, giatri3,...giatriN);
- Thao tác trên tất cả các cột trong bảng
INSERT INTO TABLE_TEN VALUES (giatri1,giatri2,giatri3,...giatriN);
Truy vấn Select trong SQL là gì?
Lệnh SELECT trong SQL được sử dụng để lấy dữ liệu từ một bảng trong Database mà trả về dữ liệu ở dạng bảng dữ liệu kết quả.
Cú pháp:
- Xác định cột có giá trị muốn lấy:
SELECT cot1, cot2, cotN FROM ten_bang;
- Thao tác trên tất cả các cột trong bảng:
SELECT * FROM ten_bang;
Mệnh đề Order By
Mệnh đề ORDER BY trong SQL được sử dụng để sắp xếp dữ liệu theo thứ tự tăng dần hoặc theo thứ tự giảm dần, trên một hoặc nhiều cột.
Cú pháp:
SELECT danh_sach_cot
FROM ten_bang
[WHERE dieu_kien]
[ORDER BY cot1, cot2, .. cotN] [ASC | DESC];
Mệnh đề Group By
Mệnh đề GROUP BY trong SQL được sử dụng kết hợp với lệnh SELECT để sắp xếp dữ liệu đồng nhất vào trong các nhóm.
Cú pháp:
SELECT cot1, cot2
FROM ten_bang
WHERE [ dieu_kien ]
GROUP BY cot1, cot2
ORDER BY cot1, cot2
Từ khóa Distinct
Mệnh đề DISTINCT trong SQL được sử dụng kết hợp với lệnh SELECT để loại tất cả các bản sao của bản ghi và chỉ lấy các bản ghi duy nhất.
Cú pháp:
SELECT DISTINCT cot1, cot2,.....cotN
FROM ten_bang
WHERE [dieu_kien]
Mệnh đề Where
Mệnh đề WHERE trong SQL được sử dụng để xác định một điều kiện trong khi lấy dữ liệu từ bảng đơn hoặc nhiều bảng kết hợp. Bạn sẽ sử dụng mệnh đề WHERE để lọc các bản ghi và chỉ lấy lại các bản ghi cần thiết.
Cú pháp:
SELECT cot1, cot2, cotN
FROM ten_bang
WHERE [dieu_kien]
Mệnh đề AND & OR
Các toán tử AND và OR trong SQL được sử dụng để kết hợp nhiều điều kiện để thu hẹp phạm vi dữ liệu trong một lệnh SQL. Hai loại toán tử này được gọi là toán tử liên hợp. Nó cho phép tồn tại nhiều điều kiện trong mệnh đề WHERE của một lệnh SQL.
Cú pháp:
SELECT cot1, cot2, cotN
FROM ten_bang
WHERE [dieu_kien_1] AND [dieu_kien_2]...AND [dieu_kien_N];
Mệnh đề HAVING
SELECT cot1, count(*)
FROM ten_bang
WHERE [dieu_kien_1] AND [dieu_kien_2]...AND [dieu_kien_N]
group by cot1
HAVING count(*) > 1000;
Hy vọng hữu ích cho bạn.
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* 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
=============================
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: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Đị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
=============================
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, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, 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