SQL , hay Ngôn ngữ truy vấn có cấu trúc , là ngôn ngữ lập trình được tiêu chuẩn hóa được sử dụng để quản lý cơ sở dữ liệu quan hệ và thực hiện các hoạt động khác nhau trên dữ liệu trong đó. SQL cực kỳ linh hoạt, được các quản trị viên cơ sở dữ liệu, nhà phân tích dữ liệu và nhà phát triển sử dụng để truy vấn, chèn, cập nhật và xóa dữ liệu trong cơ sở dữ liệu.
Trọng tâm của SQL là khái niệm về cơ sở dữ liệu . Cơ sở dữ liệu có thể được coi là tập hợp các dữ liệu liên quan được tổ chức theo cách tạo điều kiện thuận lợi cho việc quản lý và truy xuất dữ liệu. Cơ sở dữ liệu chủ yếu được phân loại thành hai loại: cơ sở dữ liệu quan hệ và cơ sở dữ liệu phi quan hệ . SQL chủ yếu được sử dụng với cơ sở dữ liệu quan hệ, nơi dữ liệu được lưu trữ trong các bảng được kết nối với nhau thông qua các mối quan hệ.
Có một số lệnh SQL cốt lõi cần thiết để làm việc với cơ sở dữ liệu quan hệ:
Một trong những thao tác thường xuyên nhất được thực hiện trên cơ sở dữ liệu là truy vấn dữ liệu bằng câu lệnh SELECT . Dạng đơn giản nhất của câu lệnh SELECT như sau:
CHỌN cột1, cột2 TỪ tên bảng;
Lệnh này sẽ trả về các cột được chỉ định từ bảng đã chỉ định. Để chọn tất cả các cột trong bảng, ký hiệu dấu hoa thị (*) được sử dụng:
CHỌN * TỪ tên bảng;
Để thu hẹp các kết quả được trả về bởi câu lệnh SELECT, có thể sử dụng mệnh đề WHERE . Mệnh đề này chỉ định các điều kiện mà dữ liệu phải đáp ứng để được chọn. Ví dụ:
CHỌN * TỪ nhân viên WHERE bộ phận = 'Bán hàng';
Lệnh này sẽ trả về tất cả các hàng trong bảng nhân viên trong đó giá trị của cột bộ phận là 'Doanh số'.
Trong cơ sở dữ liệu quan hệ, dữ liệu thường được phân phối trên nhiều bảng. Quá trình kết hợp các hàng từ hai hoặc nhiều bảng dựa trên một cột liên quan giữa chúng được gọi là nối. Thao tác nối phổ biến nhất là INNER JOIN , trả về các hàng khi có ít nhất một kết quả khớp trong cả hai bảng.
Ví dụ:
CHỌN nhân viên.name, phòng ban.name TỪ nhân viên INNER THAM GIA các phòng ban TRÊN nhân viên.department_id = Department.id;
Lệnh này nối các bảng nhân viên và phòng ban dựa trên các cột Department_id và id tương ứng và chọn các cột tên từ cả hai bảng.
SQL cho phép nhóm các hàng có cùng giá trị trong các cột được chỉ định thành dữ liệu tổng hợp, chẳng hạn như đếm số lượng nhân viên trong mỗi bộ phận. Điều này đạt được bằng cách sử dụng câu lệnh GROUP BY . Một truy vấn mẫu có thể trông như thế này:
CHỌN bộ phận, COUNT(*) NHƯ số_of_nhân viên TỪ nhân viên NHÓM THEO bộ phận;
Lệnh này nhóm các hàng trong bảng nhân viên theo cột phòng ban và đếm số lượng nhân viên trong mỗi phòng ban.
SQL cung cấp một số hàm tổng hợp hoạt động trên một tập hợp các giá trị và trả về một giá trị duy nhất. Các hàm tổng hợp thường được sử dụng bao gồm:
Ví dụ: để tìm mức lương tối đa trong bảng nhân viên , người ta có thể sử dụng truy vấn sau:
CHỌN MAX(mức lương) TỪ nhân viên;
Giao dịch trong SQL là một chuỗi gồm một hoặc nhiều lệnh SQL được thực thi dưới dạng một đơn vị. Các giao dịch đảm bảo tính toàn vẹn của cơ sở dữ liệu bằng cách tuân thủ các thuộc tính ACID (Tính nguyên tử, Tính nhất quán, Cách ly, Độ bền). Một giao dịch cơ bản có thể bao gồm:
Để cải thiện hiệu suất tìm kiếm và truy vấn trên bảng cơ sở dữ liệu, SQL sử dụng các chỉ mục . Một chỉ mục tạo ra một bảng tra cứu nội bộ mà hệ thống quản lý cơ sở dữ liệu có thể sử dụng để tăng tốc độ truy xuất dữ liệu. Nói một cách đơn giản, chỉ mục trên bảng cơ sở dữ liệu hoạt động giống như chỉ mục trong một cuốn sách.
Việc tạo chỉ mục có thể được thực hiện bằng câu lệnh CREATE INDEX , ví dụ:
TẠO CHỈ SỐ idx_employee_name TRÊN nhân viên(tên);
Lệnh này tạo chỉ mục trên cột tên của bảng nhân viên , điều này có thể giúp việc lọc hoặc sắp xếp các truy vấn theo tên nhân viên hiệu quả hơn.
Các ràng buộc trong SQL là các quy tắc được áp dụng cho dữ liệu trong bảng. Chúng được sử dụng để đảm bảo tính chính xác và độ tin cậy của dữ liệu trong cơ sở dữ liệu. Các ràng buộc phổ biến bao gồm:
SQL là một công cụ mạnh mẽ để quản lý cơ sở dữ liệu quan hệ. Nó cung cấp một cách có cấu trúc để truy vấn, chèn, cập nhật và xóa dữ liệu, đảm bảo rằng người dùng có thể tương tác hiệu quả với cơ sở dữ liệu. Hiểu các lệnh SQL cơ bản, cách thao tác dữ liệu và bảng cũng như cách sử dụng các tính năng nâng cao như giao dịch và chỉ mục có thể nâng cao đáng kể việc quản lý và hiệu suất của cơ sở dữ liệu. Bằng cách nắm vững các khái niệm này, người dùng và nhà phát triển cơ sở dữ liệu có thể đảm bảo tính toàn vẹn, hiệu suất và độ tin cậy của dữ liệu và ứng dụng của họ.