SQL là gì? Các câu lệnh trong Structured Query Language là gì? Các ưu, nhược điểm và ứng dụng của SQL là gì? Vì sao SQL phổ biến ở mọi lĩnh vực? SQL là gì mà lại quan trọng đối với các lập trình viên? Nếu bạn đang có những thắc mắc như vậy, hãy theo dõi bài viết bên dưới của 200Lab để được giải đáp nhé!
Trước khi bắt đầu học một ngôn ngữ lập trình mới, bạn có thể sẽ tự hỏi: "SQL là gì?". SQL, viết tắt của Structured Query Language, là một ngôn ngữ truy vấn có cấu trúc, phổ biến trong lĩnh vực lưu trữ, xử lý và truy xuất dữ liệu trong cơ sở dữ liệu quan hệ. SQL thường được sử dụng làm ngôn ngữ chuẩn cho các hệ quản trị cơ sở dữ liệu quan hệ.
SQL thực ra được phát âm là 'sequel' nhưng mọi người vẫn chỉ đọc các từ viết tắt là S, Q và L thành SQL.
SQL đóng một vai trò quan trọng trong việc quản lý thông tin trong cơ sở dữ liệu quan hệ, mà tổ chức dữ liệu dưới dạng bảng với các hàng và cột đại diện cho các thuộc tính dữ liệu và mối quan hệ giữa chúng. Bằng cách sử dụng SQL, người dùng có khả năng thực hiện các thao tác như lưu trữ, cập nhật, xóa, tìm kiếm và truy xuất thông tin từ cơ sở dữ liệu. SQL cũng đóng vai trò quan trọng trong việc duy trì và tối ưu hiệu suất của cơ sở dữ liệu.
SQL không chỉ phổ biến trong lĩnh vực quản lý cơ sở dữ liệu mà còn là một ngôn ngữ truy vấn được sử dụng rộng rãi trong đa dạng các ứng dụng. Người làm việc trong lĩnh vực phân tích và phát triển dữ liệu thường cần nắm vững và sử dụng SQL, nhờ vào tính linh hoạt và khả năng tích hợp của nó với nhiều ngôn ngữ lập trình khác.
SQL được phát minh vào năm 1960 nhưng mãi đến năm 1980 mới được ra mắt công chúng. Đây là ngôn ngữ cơ sở dữ liệu được sử dụng để tạo, xóa, tìm nạp và sửa đổi các hàng.
Sau đây là những lý do giải thích tại sao SQL được sử dụng rộng rãi và phổ biến:
Dữ liệu có mặt ở khắp mọi nơi. Theo Diễn đàn kinh tế thế giới, trong thời đại kỹ thuật số vào năm 2020 sẽ có tới 44 Zettabytevới 1.000.000.000.000.000.000.000 byte dữ liệu.
Lúc này chúng ta sẽ đặt ra câu hỏi, vậy với nguồn dữ liệu khổng lồ như vậy thì sẽ được lưu trữ ở đâu?
Sẽ được lưu trữ trong SQL, nếu không có SQL thì những byte dữ liệu đó sẽ là vô nghĩa. Vậy đâu là những ngành có khối lượng dữ liệu lớn cần duy trì.
Các ngân hàng đều lưu trữ mọi thông tin giao dịch của khách hàng thông qua hệ thống của họ. Vì thế mà các văn phòng tín dụng sẽ có hồ sơ về các khoản thế chấp, thẻ tín dụng và các khoản vay sinh viên.
Các công ty bảo hiểm cũng lưu giữ hồ sơ về chính sách, thanh toán, khiếu nại và thông tin cá nhân nhạy cảm. Tất cả các dữ liệu này sẽ nằm trong cơ sở dữ liệu được mức bảo mật ở mức cao nhất trong ngôn ngữ SQL.
Khi khách hàng đến mua hàng, nhân viên cửa hàng sẽ thu thập thông tin cá nhân của khách hàng như mô tả sản phẩm cá nhân, tên, số điện thoại, địa chỉ, thời gian mua,...
Các công ty sẽ sử dụng thông tin trong cơ sở dữ liệu như lịch sử mua hàng và sở thích mua sắm của khách hàng để cho ra các ưu đãi khuyến mãi trực tuyến.
Mỗi bài đăng trên Facebook, ảnh Instagram hoặc tin nhắn Snapchat sẽ được lưu trữ ở đâu đó. Quá trình truy vấn dữ liệu sẽ yêu cầu SQL.
Nếu không có ngôn ngữ lập trình tiêu chuẩn, sẽ không thể thao tác dữ liệu để trả lời yêu cầu tìm kiếm tùy chỉnh của người dùng.
Facebook hoặc các ứng dụng khác sẽ không thể quảng cáo và đưa ra các khuyến mãi cho đúng đối tượng người dùng được nếu không có cơ sở dữ liệu.
Ba ngành trên chỉ là một phần nhỏ những ngành cần đến cơ sở dữ liệu. Vì cơ sở dữ liệu và nhu cầu về SQL có ở khắp mọi nơi trên thế giới.
Bằng cách sử dụng các truy vấn SQL, người dùng có thể truy xuất nhanh chóng một lượng lớn hồ sơ từ cơ sở dữ liệu.
Rất dễ để quản lý các hệ thống cơ sở dữ liệu bằng việc sử dụng SQL chuẩn mà không cần phải viết code.
SQL đã được thiết lập từ lâu và được công bố chuẩn đầu tiên bởi ISO và ANSI.
SQL có thể sử dụng trên PC, server và thậm chí là trên smart phone.
Ngôn ngữ truy vấn cấu trúc dữ liệu có thể được sử dụng để giao tiếp với cơ sở dữ liệu và nhận câu trả lời cho các câu hỏi phức tạp trong vài giây.
Với sự trợ giúp của ngôn ngữ SQL, người dùng có thể tạo các hiển thị khác nhau về cấu trúc cơ sở dữ liệu và cơ sở dữ liệu cho những người dùng khác.
Chi phí vận hành của một số phiên bản SQL khá cao. Đó là lý do tại sao một số lập trình viên không thể sử dụng SQL được.
Một bất lợi lớn khác là giao diện của SQL khá là phức tạp, điều này đã gây ra cản trở cho những người dùng SQL trong việc truy cập và quản lý nó.
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 do các quy tắc nghiệp vụ bị ẩn.
Các câu lệnh SQL được sử dụng để giao tiếp với cơ sở dữ liệu. Nó cũng được sử dụng để thực hiện các tác vụ, chức năng và truy vấn dữ liệu cụ thể.
SQL có thể thực hiện các tác vụ khác nhau như tạo bảng, thêm dữ liệu vào bảng, thả bảng, sửa đổi bảng, đặt quyền cho người dùng.
Dưới đây là năm loại truy vấn SQL được sử dụng rộng rãi.
Data Definition Language hay còn gọi là ngôn ngữ định nghĩa dữ liệu được viế tắt là DDL.
Được gọi là lệnh định nghĩa dữ liệu vì chúng thay đổi cấu trúc của bảng như tạo bảng, xóa bảng, thay đổi bảng.
Tất cả lệnh của DDL đều được tự động cam kết nghĩa là nó lưu vĩnh viễn tất cả các thay đổi trong cơ sở dữ liệu.
Dưới đây là một số lệnh thuộc DDL:
Tạo một bảng mới trong cơ sở dữ liệu với cú pháp:
CREATE TABLE TABLE_NAME (COLUMN_NAME DATATYPES[,....]);Ví dụ:
CREATE TABLE EMPLOYEE(Name VARCHAR2(20), Email VARCHAR2(100), DOB DATE);Được sử dụng để xóa toàn bộ một bảng hoặc các đối tượng khác được lưu trữ trong bảng với cú pháp
DROP TABLE table_name;Ví dụ:
DROP TABLE EMPLOYEE;Được sử dụng để sửa đổi một đối tượng của cơ sở dữ liệu. Thay đổi này có thể là sửa đổi các đặc điểm của một thuộc tính hiện có hoặc thêm một thuộc tính mới.
Cú pháp: thêm một cột mới vào bảng
ALTER TABLE table_name ADD column_name COLUMN-definition;Để sửa đổi cột hiện có trong bảng, sử dụng cú pháp:
ALTER TABLE table_name MODIFY(column_definitions....);Ví dụ:
ALTER TABLE STU_DETAILS ADD(ADDRESS VARCHAR2(20)); ALTER TABLE STU_DETAILS MODIFY (NAME VARCHAR2(20));Được sử dụng để xóa tất cả các hàng khỏi bảng và giải phóng không gian chứa bảng với cú pháp.
TRUNCATE TABLE table_name;Ví dụ:
TRUNCATE TABLE EMPLOYEE;Data Manipulation Language hay còn gọi là ngôn ngữ thao tác dữ liệu thường được viết tắt là DML.
Được sử dụng để sửa đổi cơ sở dữ liệu trong các bảng hiện có bằng cách thêm, thay đổi hoặc xóa dữ liệu. Không giống như lệnh DDL xác định cách lưu trữ dữ liệu, lệnh DML hoạt động trong các bảng được xác định với các lệnh DDL.
Dưới đây là một số lệnh thuộc DML:
Tạo một bảng ghi với cú pháp
INSERT INTO TABLE_NAME (col1, col2, col3,.... col N) VALUES (value1, value2, value3, .... valueN);Hoặc
INSERT INTO TABLE_NAME VALUES (value1, value2, value3, .... valueN);Ví dụ
INSERT INTO javatpoint (Author, Subject) VALUES ("Sonoo", "DBMS");Cập nhật hoặc sửa đổi giá trị của một cột trong bảng với cú pháp
UPDATE table_name SET [column_name1= value1,...column_nameN = valueN] [WHERE CONDITION]Ví dụ
UPDATE students SET User_Name = 'Sonoo' WHERE Student_Id = '3'Xóa bảng ghi với cú pháp
DELETE FROM table_name [WHERE condition];Ví dụ
DELETE FROM javatpoint WHERE Author="Sonoo";Data Control Language hay còn gọi là ngôn ngữ điều khiển dữ liệu thường được viết tắt là DCL.
Được sử dụng để cấp hoặc thu hồi đặc quyền truy cập người dùng.
Dưới đây là một số lệnh thuộc DML:
Cung cấp một quyền cho người dùng với ví dụ sau
GRANT SELECT, UPDATE ON MY_TABLE TO SOME_USER, ANOTHER_USER;Lấy lại các quyền được cấp từ người dùng với ví dụ sau:
REVOKE SELECT, UPDATE ON MY_TABLE FROM USER1, USER2;Transaction Control Language hay còn gọi là ngôn ngữ kiểm soát giao dịch thường được viết tắt là TCL.
Được sử dụng để thay đổi trạng thái của một số dữ liệu. Ví dụ, để commit các thay đổi giao dịch hoặc thay đổi giao dịch rollback.
Dưới đây là một số lệnh thuộc TCL:
Được sử dụng để lưu tất cả các giao dịch vào cơ sở dữ liệu với cú pháp
COMMIT;Ví dụ
DELETE FROM CUSTOMERS WHERE AGE = 25; COMMIT;Được sử dụng để hoàn tác các giao dịch chưa được lưu vào cơ sở dữ liệu với cú pháp
ROLLBACK;Ví dụ
DELETE FROM CUSTOMERS WHERE AGE = 25; ROLLBACK;Được sử dụng để quay trở lại một giao dịch bất kỳ mà không cần trở về toàn bộ giao dịch với cú pháp
SAVEPOINT SAVEPOINT_NAME;Data Query Language hay còn gọi là ngôn ngữ truy vấn dữ liệu thường được viết tắt là DQL.
DQL chỉ bao gồm một lệnh, chọn, được sử dụng để lấy dữ liệu cụ thể từ các bảng. Lệnh này đôi khi được nhóm lại với các lệnh DML.
Tất cả lệnh của DDL đều được tự động cam kết nghĩa là nó lưu vĩnh viễn tất cả các thay đổi trong cơ sở dữ liệu. Nó chỉ sử dụng một lệnh:
Được sử dụng để chọn thuộc tính dựa trên điều kiện được mô tả bởi mệnh đề WHERE với cú pháp
SELECT expressions FROM TABLES WHERE conditions;Ví dụ
SELECT emp_name FROM employee WHERE age > 20;Hy vọng rằng những chia sẻ của 200Lab có thể giúp bạn hiểu rõ hơn về ngôn ngữ SQL - Structured Query Language. Bên cạnh đó, bạn cũng có thể cập nhật kiến thức cơ bản về các câu lệnh thường gặp trong SQL, cũng như lịch sử hình thành thú vị của ngôn ngữ này.
Con đường trở thành Data Analyst không đơn giản nhưng cũng đỡ vất vả hơn với sự đồng hành của 200Lab. Đừng quên theo dõi trang Blog của 200Lab để học hỏi thêm nhiều thông tin hữu ích và tìm đọc các bài viết có liên quan nữa nhé!
Bạn đã bắt đầu học SQL hay chưa?
Một vài bài viết có thể bạn sẽ thích:
Link nội dung: https://khangdienreal.vn/ngon-ngu-co-so-du-lieu-duoc-su-dung-pho-bien-hien-nay-a42008.html