SQL Là Gì? Các Câu Lệnh Của SQL Và Lý Do Nên Học Ngôn Ngữ Truy Vấn Có Cấu Trúc

Hiểu và có thể sử dụng ngôn ngữ SQL là điều vô cùng quan trọng đối với các lập trình viên. Vậy SQL là gì? Học SQL để làm gì? Nếu bạn cũng có chung những thắc mắc này, hãy đọc ngay bài viết dưới đây. VpsTTT.com sẽ giúp bạn hiểu rõ hơn về ngôn ngữ này.

SQL là gì?

SQL là gì? Hay SQL là ngôn ngữ gì? Đó thường là thắc mắc của nhiều người dùng khi tìm hiểu về công nghệ thông tin. Cụ thể, SQL là viết tắt của Structured Query Language là ngôn ngữ truy vấn dữ liệu mang tính cấu trúc. SQL là loại ngôn ngữ máy tính phổ biến để tạo, sửa và lấy dữ liệu từ một hệ quản trị cơ sở dữ liệu quan hệ như: MySQL, Oracle, Database, MySQL Server.

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

SQL là gì?

Bất kỳ công ty lớn nào cũng đều sử dụng xây dựng cho mình một hệ thống để lữu trữ dữ liệu. Mọi thứ trong cơ sở dữ liệu này sẽ diễn ra thành nhiều bảng và có mối quan hệ với nhau. Để truy vấn và lấy dữ liệu từ bảng này nhằm tổng hợp thành thông tin khi người dùng sử dụng SQL qua câu Query.

SQL là gì

SQL server là gì?

Microsoft SQL Server là hệ quản trị cơ sở dữ liệu được phát triển bởi Microsoft, đóng vai trò thiết yếu trong việc lưu trữ, quản lý và truy xuất dữ liệu cho các ứng dụng phần mềm. Nền tảng này cung cấp khả năng vận hành linh hoạt, có thể cài đặt trên cùng máy tính với ứng dụng hoặc trên máy chủ riêng biệt trong mạng, bao gồm cả Internet.

File SQL là gì?

File SQL là những tệp có phần mở rộng .sql có chứa mã nhằm hoạt động với cơ sở dữ liệu có quan hệ với nhau. File SQL cho phép người dùng thực hiện các thao tác CRUD (tạo, đọc, cập nhật, xóa) trên dữ liệu một cách hiệu quả. Các file SQL phổ biến khi người dùng làm việc với máy tính để bàn hoặc cơ sở dữ liệu dựa trên web.

File SQL là gì?
File SQL là gì?

Mặc dù SQL là ngôn ngữ truy vấn phổ biến nhất, vẫn có một số lựa chọn thay thế như: Java Persistence Query Language (JPQL), LINQ, HTSQL, 4D QL. Microsoft SQL Server, MySQL… Để mở tệp SQL bạn có thể dùng các trình chỉnh sửa truy vấn như Microsoft SQL Server, MySQL và các trình soạn thảo văn bản thuần túy khác như Notepad trên HĐH Windows.

SQL làm được những gì?

Tiếp theo, chúng ta hãy thử xem ngôn ngữ SQL có thể làm được những gì. Ngôn ngữ lập trình này có nhiều mục đích sử dụng cho các nhà phân tích dữ liệu và các chuyên gia khoa học dữ liệu. SQL đặc biệt hữu ích vì có thể:

  • Thực thi các truy vấn dựa trên cơ sở dữ liệu.
  • Lấy dữ liệu từ cơ sở dữ liệu.
  • Chèn bản ghi vào cơ sở dữ liệu.
  • Cập nhật bản ghi trong cơ sở dữ liệu.
  • Xóa bản ghi khỏi cơ sở dữ liệu.
  • Tạo cơ sở dữ liệu mới hoặc bảng mới trong cơ sở dữ liệu.
  • Tạo các thủ tục và chế độ xem được lưu trữ trong cơ sở dữ liệu.
  • Đặt quyền trên bảng (table), thủ tục (procedure) và dạng xem (view).
  • SQL làm được những gì?SQL làm được những gì?

Lịch sử phát triển SQL

Dưới đây là những dấu mốc quan trọng trong lịch sử của ngôn ngữ SQL:

  • 1970 – Tiến sĩ Edgar F. “Ted” Codd của IBM mô tả một mô hình quan hệ cho cơ sở dữ liệu, đặt cơ sở cho các RDBMS.
  • 1974 – Các nhà nghiên cứu của IBM xuất bản một bài báo giới thiệu Ngôn ngữ truy vấn có cấu trúc (Structured Query Language).
  • 1977 – Công ty Relational Software Inc. trở thành Oracle, bắt đầu xây dựng một RDBMS thương mại.
  • 1979 – Oracle xuất xưởng RDBMS thương mại đầu tiên cho các hệ thống máy tính mini của Digital Equipment Corp.
  • 1982 – IBM xuất xưởng SQL / Data System, một SQL RDBMS cho các máy tính lớn của IBM.
  • 1985 – IBM xuất xưởng cơ sở dữ liệu 2, SQL RDBMS cho hệ điều hành máy tính lớn nhiều lưu trữ ảo của IBM.
  • 1986 – Một ủy ban ANSI và ISO chấp nhận SQL làm tiêu chuẩn.
  • 1989 – Bản sửa đổi đầu tiên của tiêu chuẩn ISO SQL, SQL-89 được xuất bản.
  • 1992 – Bản sửa đổi lớn đầu tiên của tiêu chuẩn SQL ISQ, SQL-92 được xuất bản.
  • 1999 – Phiên bản đầu tiên được đặt tên theo tiêu chuẩn đặt tên của ISO, ISO / IEC SQL: 1999, bổ sung thêm chức năng lập trình và hỗ trợ cho Java.
  • 2003 – ISO / IEC SQL: 2003 bổ sung hỗ trợ kiểu dữ liệu xác định trước cho các đối tượng ngôn ngữ đánh dấu có thể mở rộng (XML).
  • 2006 – ISO / IEC SQL: 2006 mở rộng chức năng liên quan đến XML.
  • 2008 – ISO / IEC SQL: 2008 bổ sung hỗ trợ cho các JOIN được phân vùng, một phương pháp để liên kết hai hoặc nhiều bảng coi các bảng đã nối là một bảng duy nhất.
  • 2011 – ISO / IEC SQL: 2011 cải thiện hỗ trợ cho cơ sở dữ liệu quan hệ chứa dữ liệu liên quan đến thời gian.
  • 2016. ISO / IEC SQL: 2016 bổ sung các tính năng mới tùy chọn, bao gồm các thay đổi liên quan đến ký hiệu đối tượng JavaScript, hỗ trợ các hàm bảng đa hình và đối sánh mẫu hàng.
Lịch sử phát triển SQL
Lịch sử phát triển SQL

Ưu điểm của SQL là gì?

Là một ngôn ngữ đáng tin cậy và hiệu quả, SQL đóng vai trò thiết yếu trong việc giao tiếp với cơ sở dữ liệu. Dưới đây là những điểm mạnh nổi bật của lập trình SQL:

  • Xử lý truy vấn nhanh hơn: SQL cho phép truy xuất lượng dữ liệu khổng lồ một cách nhanh chóng và hiệu quả. Các thao tác như chèn, xóa, cập nhật dữ liệu cũng được thực hiện gần như tức thì, tiết kiệm thời gian tối đa cho người dùng.
  • Không có kỹ năng mã hóa: SQL không đòi hỏi người dùng phải viết hàng loạt dòng mã phức tạp. Tất cả các từ khóa cơ bản như SELECT, INSERT INTO, UPDATE,… các quy tắc cú pháp đơn giản giúp SQL trở thành một ngôn ngữ thân thiện với người dùng.
  • Ngôn ngữ chuẩn hóa: Với lịch sử phát triển lâu đời và hệ thống tài liệu hướng dẫn đầy đủ, SQL tạo dựng nền tảng thống nhất cho người dùng trên toàn thế giới. Nhờ tính chuẩn hóa này, việc trao đổi và cộng tác dữ liệu trở nên dễ dàng và hiệu quả hơn bao giờ hết.
  • Portable: SQL có thể hoạt động trên mọi hệ điều hành phổ biến như Windows, LinuxmacOs,… Tính linh hoạt này giúp SQL dễ dàng tích hợp với các ứng dụng khác, mở rộng khả năng ứng dụng trong nhiều lĩnh vực khác nhau.
  • Ngôn ngữ tương tác: Dễ học và dễ hiểu, có thể nhận được câu trả lời cho các truy vấn phức tạp trong vài giây.
Ưu điểm của SQL là gì?
Ưu điểm của SQL là gì?

Nhược điểm của SQL là gì?

Mặc dù SQL có nhiều ưu điểm nhưng vẫn tồn tại một vài nhược điểm như sau: 

  • Giao diện phức tạp: SQL có một giao diện phức tạp, khiến một số người dùng cảm thấy khó khăn trong khi xử lý cơ sở dữ liệu. 
  • Chi phí: Một số phiên bản đắt tiền, khiến các lập trình viên không thể truy cập. 
  • Chỉ được kiểm soát một phần: Do các quy tắc nghiệp vụ ẩn, cơ sở dữ liệu không được kiểm soát hoàn toàn. 

Thành phần của hệ thống SQL

1. Bảng SQL

Đây là phần tử cơ bản của cơ sở dữ liệu quan hệ gồm các hàng và cột để lưu trữ dữ liệu. Kỹ sư cơ sở dữ liệu sẽ thiết lập mối quan hệ giữa các bảng để tối ưu hóa dung lượng lưu trữ.

Chẳng hạn như, một bảng SQL cho các sản phẩm trong cửa hàng: 

ID sản phẩmSản phẩmID màu
0011Áo sơ miMàu 1
0012Áo thunMàu 2
                                                    SQL cho các sản phẩm trong cửa hàng
 
Theo đó, kỹ sư cơ sở dữ liệu liên kết bảng sản phẩm với bảng màu có ID màu:
 
 
ID màuTên màu
Màu 1Màu đen
Màu 2Màu trắng
                                                               ID màu
 
Thành phần của hệ thống SQL
Thành phần của hệ thống SQL

2. Câu lệnh SQL

Hệ thống quản lý cơ sở dữ liệu quan hệ sử dụng Câu lệnh SQL (hay Truy vấn SQL) để thực hiện các thao tác quản lý dữ liệu. Các nhà phát triển phần mềm xây dựng những câu lệnh này bằng cách kết hợp các Phần tử ngôn ngữ SQL (mã định danh, biến, điều kiện tìm kiếm,…).

Ví dụ: Sử dụng một câu lệnh SQL sử dụng lệnh INSERT để thêm thông tin về Sản phẩm thương hiệu A có giá 500 USD vào bảng Mattress_table:

SQL

INSERT INTO Mattress_table (brand_name, cost)

VALUES (‘A’, 500);

Giải thích:

  • INSERT INTO: Lệnh thêm dữ liệu mới vào bảng.
  • Mattress_table: Tên bảng muốn thêm dữ liệu.
  • brand_name, cost: Tên các cột muốn thêm dữ liệu.
  • ‘A’, 500: Giá trị tương ứng cho từng cột.

3. Quy trình được lưu trữ

Quy trình được lưu trữ là tập hợp các câu lệnh SQL được lưu trữ trong hệ thống quản trị cơ sở dữ liệu quan hệ giúp tối ưu hóa hiệu quả và hiệu suất cho các nhà phát triển phần mềm.

Lý do nên sử dụng SQL là gì?

SQL là một ngôn ngữ máy tính phổ biến thường được sử dụng với các mục đích như:

  • Tạo bảng cơ sở dữ liệu, view mới.
  • Để chèn bản ghi 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ừ cơ sở dữ liệu.
Lý do nên sử dụng SQL là gì?
Lý do nên sử dụng SQL là gì?

Hiện nay, thì người dùng thường sử dụng MySQL để làm cơ sở dữ liệu trên Hosting. Nhưng việc hiểu và biết về SQL thì sẽ giúp bạn thao tác dữ liệu tốt hơn mà không cần nhờ đến sự hỗ trợ của các nhà cung cấp dịch vụ Web Hosting.

My SQL là gì?

MySQL là một hệ thống quản lý cơ sở dữ liệu quan hệ mã nguồn mở được phát triển bởi Oracle. MySQL cho phép người dùng tải xuống, sử dụng và sửa đổi mã nguồn miễn phí, mang đến sự linh hoạt và khả năng tùy chỉnh cao cho các nhu cầu cụ thể. MySQL trở thành lựa chọn hàng đầu cho các ứng dụng web và nhiều dự án khác nhau. MySQL được tối ưu hóa cho tốc độ truy xuất dữ liệu nhanh chóng.

My SQL là gì?
My SQL là gì?

So sánh giữa MySQL và SQL 

SQL được xem như một tiêu chuẩn để tạo và thao tác với database. MySQL là một chương trình cơ sở dữ liệu quan hệ để sử dụng các lệnh SQL và thường được nâng cấp và cải tiến về hiệu năng.

Các câu lệnh SQL là gì?

Lệnh SQL là những từ khóa hoặc là câu lệnh SQL, được các developer sử dụng để thực hiện thao tác với các dữ liệu được lưu trong database. SQL sử dụng các lệnh nhất định như Create, Drop, Insert,… để thực hiện các tác vụ cần thiết. Các lệnh SQL này chủ yếu được phân loại thành bốn loại như sau: 

  1. DDL – Ngôn ngữ định nghĩa dữ liệu.
  2. DQl – Ngôn ngữ truy vấn dữ liệu.
  3. DML – Ngôn ngữ thao tác dữ liệu.
  4. DCL – Ngôn ngữ điều khiển dữ liệu.
  5. TCL – Ngôn ngữ kiểm soát giao dịch.
Phân loại câu lệnh SQL
Câu lệnh SQL là gì?

DDL (Ngôn ngữ Định nghĩa Dữ liệu)

DDL (Data Definition Language) bao gồm các lệnh SQL có thể được sử dụng để xác định lược đồ cơ sở dữ liệu. Nhờ DDL, các kỹ sư cơ sở dữ liệu có thể tạo dựng và chỉnh sửa các đối tượng dữ liệu theo yêu cầu nghiệp vụ.  Ví dụ: Lệnh CREATE thường dùng để các đối tượng cơ sở dữ liệu như bảng, chế độ xem và chỉ mục.

Dưới đây là danh sách các lệnh DDL: 

  • CREATE: Lệnh này được sử dụng để tạo cơ sở dữ liệu hoặc các đối tượng (như bảng, chỉ mục, hàm, dạng xem, thủ tục lưu trữ và trình kích hoạt).
  • DROP: Lệnh này dùng để xóa các đối tượng khỏi cơ sở dữ liệu.
  • ALTER: Sử dụng để thay đổi cấu trúc của cơ sở dữ liệu.
  • TRUNCATE: Sử dụng để xóa tất cả các bản ghi khỏi một bảng, bao gồm tất cả các khoảng trống được cấp cho các bản ghi sẽ bị xóa.
  • COMMENT: Sử dụng để thêm nhận xét vào từ điển dữ liệu.
  • RENAME: Sử dụng để đổi tên một đối tượng hiện có trong cơ sở dữ liệu.

DQL (Ngôn ngữ truy vấn dữ liệu)

Các câu lệnh DQL (Data Query Language) được sử dụng để thực hiện các truy vấn về dữ liệu trong các đối tượng lược đồ. Mục đích của lệnh DQL là lấy một số quan hệ lược đồ dựa trên truy vấn được chuyển đến. Thông thường, lệnh SELECT được sử dụng trong  các ứng dụng phần mềm để lọc và trả về kết quả cụ thể từ một bảng SQL.

DML (Ngôn ngữ thao tác dữ liệu)

DML (Data Manipulation Language) là ngôn ngữ thao tác dữ liệu.  Ví dụ: Lệnh INSERT được dụng để lưu trữ một bản ghi trong cơ sở dữ liệu của một ứng dụng tài chính.

Danh sách các lệnh DML bao gồm: 

  • INSERT: Được sử dụng để chèn dữ liệu vào bảng.
  • UPDATE: Được sử dụng để cập nhật dữ liệu hiện có trong bảng.
  • DELETE: Sử dụng để xóa các bản ghi khỏi một bảng cơ sở dữ liệu.
  • LOCK: Đồng thời điều khiển bảng.
  • CALL: Gọi một chương trình con PL/SQL hoặc Java.
  • EXPLAIN PLAN: Mô tả đường dẫn truy cập đến dữ liệu.
Ngôn ngữ thao tác dữ liệu
Ngôn ngữ thao tác dữ liệu

DCL (Ngôn ngữ điều khiển dữ liệu):

DCL (Data Control Language) là ngôn ngữ điều khiển dữ liệu, bao gồm các lệnh như GRANT và REVOKE chủ yếu giải quyết các quyền, quyền hạn và các điều khiển khác của hệ thống cơ sở dữ liệu. Ví dụ, kỹ sư có thể nhập lệnh GRANT để cho phép các ứng dụng nhất định thao tác với một hoặc nhiều bảng.

Danh sách các lệnh DCL: 

    • GRANT: Lệnh này cung cấp cho người dùng đặc quyền truy cập vào cơ sở dữ liệu.
    • REVOKE: Lệnh này thu hồi các đặc quyền truy cập của người dùng được cấp bằng cách sử dụng lệnh GRANT.

TCL (Ngôn ngữ kiểm soát giao dịch)

Ngôn ngữ kiểm soát giao dịch (TCL) thường được sử dụng trong các công cụ quan hệ để tự thực hiện các thay đổi đối với cơ sở dữ liệu một cách tự động. Lệnh ROLLBACK là một TCL dùng để hoàn tác một giao dịch bị lỗi.

Một ví dụ về lấy dữ liệu đầu ra
Một ví dụ về lấy dữ liệu đầu ra
sql-1 (1)