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àm sao ước tính chi phí triển khai IaaS cho hạ tầng CNTT doanh nghiệp nhỏ? Dự toán và tối ưu ngân sách
Làm sao ước tính chi phí triển khai IaaS cho hạ tầng CNTT doanh nghiệp nhỏ? Tìm hiểu các khoản phí, cách lập ngân sách và giải pháp tối ưu chi phí cùng Viettel IDC.
Nên chọn IaaS, PaaS hay SaaS cho startup mới thành lập tại Việt Nam? So sánh và hướng dẫn lựa chọn
Nên chọn IaaS, PaaS hay SaaS cho startup mới thành lập tại Việt Nam? Khám phá cách lựa chọn mô hình Cloud phù hợp để tối ưu chi phí và phát triển bền vững.
Top các nhà cung cấp IaaS phổ biến tại Việt Nam cho doanh nghiệp
Khám phá các nhà cung cấp IaaS phổ biến tại Việt Nam, so sánh thế mạnh và tiêu chí lựa chọn để doanh nghiệp tối ưu chi phí, bảo mật và hiệu quả vận hành.
Rust là gì? Tìm hiểu đặc điểm và ứng dụng của ngôn ngữ Rust
Rust là gì? Khám phá cách ngôn ngữ lập trình Rust kết hợp hiệu suất cao và an toàn bộ nhớ, phù hợp với các dự án phần mềm hiện đại.
Làm thế nào để mua, cài đặt và gia hạn PositiveSSL trên hosting Việt Nam?
Hướng dẫn mua, cài đặt và gia hạn PositiveSSL trên hosting Việt Nam chi tiết, giúp bảo mật website và duy trì kết nối HTTPS an toàn.
Dịch vụ quản trị máy chủ có hỗ trợ những công cụ bảo mật và sao lưu nào phổ biến?
Dịch vụ quản trị máy chủ hỗ trợ những công cụ bảo mật và sao lưu nào? Khám phá các giải pháp phổ biến giúp bảo vệ dữ liệu và khôi phục hệ thống.
File Server là gì? Giải pháp lưu trữ và chia sẻ dữ liệu tập trung
File Server là gì? Tìm hiểu cách hoạt động, ưu nhược điểm và cách triển khai hệ thống lưu trữ, chia sẻ dữ liệu tập trung cho doanh nghiệp.
Blog công nghệ nào tốt ở Việt Nam? 8 website đáng theo dõi
Blog công nghệ nào tốt ở Việt Nam? Khám phá 8 website nổi bật giúp bạn cập nhật tin tức, tìm hiểu thiết bị và học kiến thức công nghệ.
Viettel IDC dẫn đầu bảng xếp hạng Enterprise of Choice 2026 tại nhiều hạng mục quan trọng
Viettel IDC đạt 6 thứ hạng nổi bật tại Enterprise of Choice 2026, trong đó có 5 vị trí Top 1 ở các hạng mục về công nghệ thông tin, phát triển bền vững, doanh nghiệp được yêu thích bởi người lao động, lãnh đạo và thế hệ trẻ. Kết quả ghi nhận những nỗ lực của doanh nghiệp trong xây dựng môi trường làm việc tích cực, lấy con người làm trung tâm.
So sánh các dịch vụ cloud backup phổ biến tại Việt Nam
So sánh các dịch vụ cloud backup phổ biến tại Việt Nam về phạm vi sao lưu, bảo mật, khôi phục, chi phí và mô hình triển khai để doanh nghiệp dễ lựa chọn.
Bình luận ()