SQL là gì? Toàn tập về ngôn ngữ SQL cho người mới bắt đầu
23/09/2024Để lấy thông tin từ cơ sở dữ liệu, người dùng cần diễn đạt yêu cầu bằng một ngôn ngữ mà hệ thống hiểu được. SQL đảm nhiệm vai trò này, giúp truy vấn và xử lý dữ liệu thông qua các câu lệnh có cấu trúc rõ ràng. Cùng Viettel IDC tìm hiểu SQL là gì, cách hoạt động và cách viết truy vấn cơ bản qua ví dụ thực tế.
SQL là gì?
SQL (Structured Query Language), hay ngôn ngữ truy vấn có cấu trúc, là ngôn ngữ dùng để truy vấn và quản lý dữ liệu trong cơ sở dữ liệu quan hệ. Thông qua các câu lệnh SQL, người dùng tạo bảng, thêm, sửa, xóa bản ghi và lấy thông tin theo điều kiện cụ thể. Dữ liệu được tổ chức thành các bảng gồm hàng và cột, với mối liên hệ giữa các bảng.
SQL ra đời vào những năm 1970, do hai nhà nghiên cứu Donald Chamberlin và Raymond Boyce tại IBM phát triển để thao tác và truy xuất dữ liệu trong dự án cơ sở dữ liệu System R. Ngôn ngữ ban đầu mang tên SEQUEL (Structured English Query Language). Sau đó tên gọi được đổi thành SQL do vấn đề liên quan đến nhãn hiệu.
SQL hoạt động như thế nào?
SQL giúp người dùng mô tả dữ liệu cần lấy hoặc thao tác cần thực hiện thông qua các câu lệnh. Hệ quản trị cơ sở dữ liệu tiếp nhận câu lệnh SQL, xác định cách xử lý và trả về kết quả. Người dùng nêu yêu cầu, còn hệ quản trị quyết định phương án truy cập dữ liệu.
Với một truy vấn lấy dữ liệu, quy trình xử lý được khái quát như sau:
- Tiếp nhận truy vấn: Người dùng hoặc ứng dụng gửi câu lệnh SQL đến hệ quản trị cơ sở dữ liệu.
- Phân tích câu lệnh: Hệ thống kiểm tra cú pháp, xác định các bảng, cột và biểu thức được tham chiếu. Những yêu cầu không hợp lệ sẽ được báo lỗi.
- Lập kế hoạch xử lý: Bộ tối ưu truy vấn đánh giá các phương án, chẳng hạn quét bảng hoặc sử dụng chỉ mục, để chọn kế hoạch có chi phí ước tính phù hợp.
- Thực thi và trả kết quả: Hệ thống chạy kế hoạch đã chọn, thực hiện các thao tác như lọc, nối bảng, tổng hợp hoặc sắp xếp rồi gửi kết quả về ứng dụng.
Ví dụ, doanh nghiệp muốn lấy tên và giá của các sản phẩm có giá trên 1 triệu đồng:
Trong truy vấn này, FROM xác định bảng SanPham, WHERE đặt điều kiện giá trên 1 triệu đồng và SELECT chọn hai cột cần hiển thị. Hệ quản trị xử lý yêu cầu rồi trả về danh sách sản phẩm đáp ứng điều kiện.
Xem thêm:
- Database là gì? Có những loại Database nào?
- Cơ sở dữ liệu đám mây (Database cloud): Lợi ích và cách hoạt động
- Chia sẻ dữ liệu là gì? Vai trò của chia sẻ dữ liệu
Các thành phần cơ bản khi làm việc với SQL
Để đọc hiểu và viết truy vấn SQL, người mới cần nắm cách tổ chức dữ liệu và vai trò của từng thành phần. Dưới đây là những thành phần nền tảng:
Các chức năng chính của SQL
SQL hỗ trợ tổ chức, cập nhật và khai thác dữ liệu trong cơ sở dữ liệu quan hệ. Những chức năng chính gồm:
- Truy vấn dữ liệu: Tìm kiếm, lọc và sắp xếp thông tin theo yêu cầu, chẳng hạn lấy danh sách đơn hàng trong tháng.
- Thêm, sửa và xóa dữ liệu: Ghi nhận bản ghi mới, cập nhật thông tin đã lưu hoặc loại bỏ dữ liệu không còn cần thiết.
- Quản lý cấu trúc cơ sở dữ liệu: Tạo, điều chỉnh và xóa các đối tượng như bảng, chỉ mục hoặc khung nhìn.
- Tổng hợp và phân tích: Đếm số lượng, tính tổng, tính trung bình và nhóm dữ liệu để lập báo cáo.
- Kết hợp dữ liệu từ nhiều bảng: Liên kết thông tin liên quan, chẳng hạn ghép dữ liệu khách hàng với lịch sử mua hàng.
- Kiểm soát quyền truy cập: Cấp hoặc thu hồi quyền đọc, chỉnh sửa dữ liệu cho người dùng và vai trò.
- Quản lý giao dịch: Xác nhận hoặc hoàn tác các thay đổi, giúp những thao tác liên quan được xử lý đồng bộ.
Các nhóm câu lệnh SQL cơ bản
Các câu lệnh SQL được phân nhóm theo chức năng, giúp người dùng lựa chọn đúng lệnh khi xây dựng và khai thác cơ sở dữ liệu. Dưới đây là 4 nhóm cơ bản phục vụ định nghĩa cấu trúc, thao tác dữ liệu, truy vấn và phân quyền.
DDL (Ngôn ngữ định nghĩa dữ liệu)
DDL (Data Definition Language) dùng để tạo và thay đổi cấu trúc các đối tượng trong cơ sở dữ liệu như bảng, chỉ mục và khung nhìn. Ví dụ, doanh nghiệp sử dụng DDL để tạo bảng khách hàng hoặc bổ sung cột số điện thoại vào bảng đã có.
DML (Ngôn ngữ thao tác dữ liệu)
DML (Data Manipulation Language) dùng để thêm, chỉnh sửa và xóa các bản ghi trong bảng. Nhóm lệnh này phục vụ những thao tác hằng ngày như lưu đơn hàng mới, cập nhật thông tin khách hàng hoặc xóa dữ liệu không còn cần thiết.
DQL (Ngôn ngữ truy vấn dữ liệu)
DQL (Data Query Language) dùng để truy xuất thông tin từ cơ sở dữ liệu với câu lệnh chính là SELECT. Khi kết hợp các mệnh đề như WHERE, GROUP BY và ORDER BY, người dùng lọc, tổng hợp và sắp xếp dữ liệu theo nhu cầu.
Các toán tử AND và OR giúp kết hợp điều kiện: AND yêu cầu các điều kiện cùng đúng, còn OR yêu cầu ít nhất một điều kiện đúng. Ví dụ dưới đây lấy những sản phẩm có giá trên 1 triệu đồng và số lượng tồn lớn hơn 0, sau đó sắp xếp giá giảm dần:
DCL (Ngôn ngữ kiểm soát dữ liệu)
DCL (Data Control Language) dùng để cấp và thu hồi quyền truy cập cơ sở dữ liệu. Nhóm lệnh này giúp quản trị viên xác định người dùng nào được xem hoặc chỉnh sửa dữ liệu, chẳng hạn cấp quyền đọc bảng doanh thu cho nhân viên nhưng giới hạn quyền cập nhật.
TCL – Ngôn ngữ kiểm soát giao dịch
TCL (Transaction Control Language) dùng để quản lý các thay đổi trong một giao dịch. Giao dịch tập hợp những thao tác liên quan thành một đơn vị công việc, giúp xác nhận thay đổi khi hoàn tất hoặc hoàn tác khi cần. Ví dụ, giao dịch chuyển tiền cần xử lý đồng bộ thao tác trừ tiền ở tài khoản gửi và cộng tiền ở tài khoản nhận.
Ví dụ truy vấn SQL cho người mới
Giả sử doanh nghiệp có bảng SanPham lưu mã, tên và giá sản phẩm như dưới đây. Từ bảng này, bạn sẽ thực hiện các truy vấn để xem dữ liệu, chọn cột và lọc sản phẩm theo giá.
Để lấy toàn bộ dữ liệu trong bảng, sử dụng câu lệnh:
Dấu * đại diện cho tất cả các cột, còn FROM SanPham xác định bảng cần truy vấn. Câu lệnh trên trả về cả 4 bản ghi với đầy đủ mã, tên và giá sản phẩm.
Nếu chỉ cần xem tên và giá, bạn chỉ định các cột cần lấy:
Kết quả vẫn gồm 4 sản phẩm nhưng chỉ hiển thị hai cột TenSanPham và Gia. Để thu hẹp kết quả, chẳng hạn tìm sản phẩm có giá trên 1 triệu đồng và sắp xếp từ giá cao xuống thấp, hãy bổ sung WHERE và ORDER BY:
WHERE giữ lại các sản phẩm đáp ứng điều kiện giá, còn ORDER BY Gia DESC sắp xếp chúng theo giá giảm dần. Các thành phần này giúp chọn, lọc và sắp xếp dữ liệu trong cùng một truy vấn.
Kết quả trả về như sau:
Các hệ quản trị cơ sở dữ liệu dùng SQL phổ biến
Ngôn ngữ truy vấn SQL được sử dụng trong nhiều hệ quản trị cơ sở dữ liệu, từ ứng dụng nhỏ đến hệ thống doanh nghiệp. Các nền tảng dưới đây đều hỗ trợ SQL nhưng khác nhau về kiến trúc, tính năng và cách triển khai.
MySQL
MySQL là hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở, được sử dụng rộng rãi cho website và ứng dụng web. Phiên bản MySQL Community cho phép tải và sử dụng miễn phí, với hệ sinh thái công cụ cùng cộng đồng hỗ trợ lớn.
PostgreSQL
PostgreSQL là hệ quản trị cơ sở dữ liệu quan hệ đối tượng mã nguồn mở, nổi bật với khả năng mở rộng và hỗ trợ truy vấn phức tạp. Nền tảng sử dụng SQL, đồng thời cho phép bổ sung kiểu dữ liệu và hàm tùy chỉnh để đáp ứng những yêu cầu xử lý chuyên biệt.
Microsoft SQL Server
SQL Server là hệ quản trị cơ sở dữ liệu của Microsoft, sử dụng Transact-SQL (T-SQL) để truy vấn và thao tác dữ liệu. T-SQL mở rộng SQL với các thành phần lập trình, giúp xây dựng quy trình xử lý dữ liệu phục vụ ứng dụng doanh nghiệp.
Oracle Database
Oracle Database hỗ trợ SQL để quản lý và khai thác dữ liệu, kết hợp với PL/SQL để lập trình các quy trình xử lý ngay trong cơ sở dữ liệu. PL/SQL bổ sung những thành phần như biến, điều kiện và vòng lặp, giúp triển khai logic nghiệp vụ phức tạp.
SQLite
SQLite là bộ máy cơ sở dữ liệu SQL nhỏ gọn, được tích hợp trực tiếp vào ứng dụng và không cần tiến trình máy chủ riêng. Dữ liệu được lưu trong một tệp, phù hợp với ứng dụng di động, phần mềm máy tính và nhu cầu lưu trữ cục bộ.
Câu hỏi thường gặp về SQL
Phân biệt SQL, MySQL và SQL Server
SQL là ngôn ngữ truy vấn, còn MySQL và SQL Server là hai hệ quản trị cơ sở dữ liệu sử dụng ngôn ngữ này. Người dùng viết câu lệnh SQL để đưa ra yêu cầu; hệ quản trị tiếp nhận, xử lý và quản lý dữ liệu.
SQL và NoSQL khác nhau như thế nào?
SQL được hiểu là cơ sở dữ liệu quan hệ sử dụng SQL, còn NoSQL chỉ nhóm cơ sở dữ liệu theo các mô hình như tài liệu, khóa - giá trị, đồ thị hoặc cột rộng. Khác biệt chính nằm ở cách tổ chức dữ liệu và phương thức truy vấn.
Tại sao nên chọn học SQL?
SQL có cú pháp cơ bản dễ tiếp cận, giúp người học chủ động truy vấn, xử lý dữ liệu và lập báo cáo. Kiến thức này áp dụng trên nhiều hệ quản trị, đồng thời bổ trợ cho công việc lập trình, phân tích dữ liệu và quản trị cơ sở dữ liệu.
Kết luận
Hiểu SQL là gì giúp bạn nắm được vai trò của ngôn ngữ truy vấn trong quá trình làm việc với cơ sở dữ liệu. Khi biết kết hợp các câu lệnh và điều kiện phù hợp, bạn sẽ chủ động lấy, cập nhật và tổng hợp thông tin theo nhu cầu. Hãy bắt đầu với SELECT, FROM và WHERE để làm quen trước khi xây dựng những truy vấn phức tạp hơn.
Để tìm hiểu thêm về các sản phẩm, dịch vụ tại Viettel IDC, vui lòng liên hệ đến Viettel IDC:
- Hotline: 1800.8088 (miễn phí cước gọi)
- Fanpage: https://www.facebook.com/viettelidc
- Website: https://viettelidc.com.vn
Tin liên quan
Lỗi msvcr100.dll là gì? Hướng dẫn cách sửa lỗi msvcr100 dll nhanh chóng
Lỗi msvcr100.dll khiến phần mềm không khởi chạy trên Windows. Xem hướng dẫn khắc phục từng bước để bổ sung thư viện còn thiếu và sửa chữa chương trình bị lỗi.
Top 20 các extension visual studio code hữu ích cho lập trình viên
Các extension Visual Studio Code hữu ích mở rộng khả năng của trình soạn thảo, giúp lập trình viên tối ưu môi trường làm việc và nâng cao hiệu quả viết mã.
Bridge là gì? Cách hoạt động và ứng dụng trong mạng LAN
Bridge là gì? Cầu nối mạng hoạt động dựa trên địa chỉ MAC để kết nối các phân đoạn LAN, kiểm soát luồng dữ liệu và hỗ trợ triển khai mạng vật lý lẫn mạng ảo.
Lỗi Blocked due to other 4xx issue là gì? Nguyên nhân và cách fix lỗi
Lỗi Blocked due to other 4xx issue khiến Google không lập chỉ mục URL, cần xác định đúng mã HTTP và nguyên nhân để khắc phục hiệu quả trong Search Console.
Test case là gì? Cách viết test case và mẫu minh họa cho người mới
Test case là gì và làm sao để viết rõ ràng, đúng yêu cầu? Nắm vững cách xây dựng trường hợp kiểm thử qua ví dụ cụ thể để phát hiện sai lệch trong hoạt động phần mềm.
AI Inference là gì? Cơ chế và vai trò trong vận hành AI
AI inference là gì? Cách mô hình AI tạo kết quả sau huấn luyện, phân biệt với AI training, các hình thức triển khai và ứng dụng thực tế trong doanh nghiệp.
DBeaver là gì? Hướng dẫn cài đặt và kết nối cơ sở dữ liệu với DBeaver
DBeaver là gì? Khám phá tính năng quản lý cơ sở dữ liệu, các phiên bản miễn phí và trả phí cùng hướng dẫn cài đặt, kết nối, chạy truy vấn SQL cho người mới.
Cách thay đổi mật khẩu máy tính trên Windows 10, 11 đơn giản
Cách thay đổi mật khẩu máy tính trên Windows 10, 11 qua Settings, Control Panel, CMD và các công cụ quản trị được hướng dẫn chi tiết theo từng bước dễ thực hiện.
Microsoft Management Console là gì? Cách sử dụng MMC cho người mới
Microsoft Management Console là gì? Đây là nền tảng tập hợp các công cụ quản trị Windows, hỗ trợ quản lý hệ thống, thêm snap-in và lưu console theo nhu cầu sử dụng.
Rủi ro khi sử dụng giả lập online và cách phòng tránh
Rủi ro khi sử dụng giả lập online có thể gây lộ dữ liệu, mất quyền kiểm soát tài khoản, lừa đảo trực tuyến, vi phạm chính sách game, gián đoạn thao tác và phát sinh chi phí.
Bình luận ()