SQL là gì? Các lệnh cơ bản trong lập trình cơ sở dữ liệu SQL

Mắt Bão 27/12/2021 15 phút đọc

 

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. Mắt Bão 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.

Let’s go.

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é!

SQL là gì?
Ngôn ngữ SQL được tiêu chuẩn hóa bởi Viện tiêu chuẩn quốc gia Hoa Kỳ

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?

sql là gì? Thế mạnh của ngôn ngữ SQL phát huy trong nhiều trường hợp sử dụng khác nhau
Thế mạnh của ngôn ngữ SQL phát huy trong nhiều trường hợp sử dụng khác nhau

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ì?

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 SystemMySQL được tích hợp apachePHPMySQL 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

SQL là gì? Đến nay, SQL đã hình thành và phát triển hơn 40 năm
Đến nay, SQL đã hình thành và phát triển hơn 40 năm

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ì?

sql là gì? SQL cho phép người dùng thực hiện đa dạng các chức năng
SQL cho phép người dùng thực hiện đa dạng các chức năng

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ì?

SQL là gì? Ưu điểm của SQL giúp nó an toàn duy trì đến hôm nay
Ưu điểm của SQL giúp nó an toàn duy trì đến hôm nay

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ì?

SQL là gì? Một số phiên bản SQL đòi hỏi chi phí vận hành khá cao gây khó khăn cho người lập trình
Một số phiên bản SQL đòi hỏi chi phí vận hành khá cao gây khó khăn cho người lập trình

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 có ba nhóm lệnh phổ biến
SQL có ba nhóm lệnh phổ biến

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
SQL có nhiều câu lệnh thể hiện sự cho phép thao tác đa dạng
SQL có nhiều câu lệnh thể hiện sự cho phép thao tác đa dạng

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ử ANDOR 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];

Hy vọng bài viết của “Mắt Bão – Nhà cung cấp dịch vụ kiểm tra tên miềnđăng ký tên miền uy tín hàng đầu” đã cho bạn đọc cái nhìn tổng quan về SQL là gì? Đồng thời giúp việc tìm hiểu loại ngôn ngữ này của bạn linh hoạt và dễ dàng hơn.

Các bài viết liên quan mà bạn nên tham khảo:






Bài viết liên quan