T-SQL là gì? Sự khác biệt giữa T-SQL, PL/SQL và SQL
Nội Dung ChínhT-SQL là gì?Tổng quan về T-SQLLập trình với SQL Server Management StudioCác lệnh trong T-SQL cơ bản mà bạn cần biếtLệnh CREATE TABLELệnh ALTER TABLELệnh DROP TABLELệnh INSERTLệnh UPDATELệnh DELETELệnh SELECTLệnh rẽ nhánh If-elseif-elseVòng lặp WhileSự khác nhau giữa SQL và PL/SQLSự khác nhau giữa T-SQL và PL-SQLSự khác nhau giữa SQL và … Tiếp tục đọc T-SQL là gì? Sự khác biệt giữa T-SQL, PL/SQL và SQL
Trong ngôn ngữ truy vấn, chắc hẳn bạn đã từng nghe đến cái tên T-SQL. Đối với những lập trình viên thường xuyên làm việc với database thì khái niệm SQL không còn mấy xa lạ. Vậy còn T-SQL được sử dụng như thế nào? Cú pháp của ngôn ngữ T-SQL có gì đặc biệt và có có điểm gì khác so với SQL, PL/SQL. Hãy cùng tìm hiểu những kiến thức chuyên ngành thông qua bài viết của Vietnix dưới đây nhé.
T-SQL là gì?
T-SQL là viết tắt của Transact-SQL, đây là một phần mở rộng của ngôn ngữ truy vấn SQL được phát triển dựa theo tiêu chuẩn ISO và ANSI (American National Standards Institute).
T-SQL là việc thực thi ngôn ngữ cấu trúc chuẩn của Microsoft được dùng trong hệ thống SQL Server. Ngôn ngữ đặc biệt này có thể được dùng để thực hiện các thao tác với bảng như định nghĩa, chèn, xóa, cập nhật, truy vấn dữ liệu.
Đây là một ngôn ngữ truy vấn cơ sở dữ liệu khá mạnh đề cập đến kiểu dữ liệu, đối tượng tạm thời, thủ tục hệ thống và các thủ tục mở rộng. T-SQL còn có tính năng như sử dụng biến địa phương, xử lý các chuỗi/dữ liệu được thêm vào.
Tổng quan về T-SQL
Khối câu lệnh trong T-SQL sẽ được chia làm 3 nhóm tương đương với 3 chức năng chính như sau:
- Nhóm định nghĩa dữ liệu: Nhóm này gồm các câu lệnh CREATE, ALTER, DROP table, dùng để tạo, sửa đổi hoặc xóa bảng dữ liệu. Các lệnh này được sử dụng để định nghĩa cấu trúc một table.
- Nhóm điều khiển dữ liệu: Gồm các lệnh GRANT, DENY, REVOKE,… dùng để phần quyền truy cập của các đối tượng table, function, view,…
- Nhóm thao tác dữ liệu: Là tập hợp các lệnh để thao tác trực tiếp với dữ liệu có trong table, giúp truy vấn, tìm kiếm dữ liệu nhanh chóng. Các câu lệnh nhóm này gồm INSERT, UPDATE, SELECT, DELETE.
Cấu trúc của ngôn ngữ T-SQL được xây dựng theo từng khối lệnh được bắt đầu bằng BEGIN và kết thúc là END. Một khối lệnh có thể được đặt lồng trong một khối lệnh bao trùm khác, trong mỗi khối lệnh là các câu lệnh, các câu lệnh này được ngăn cách với nhau bởi dấu chấm phẩy.
Cấu trúc một khối lệnh có dạng như sau:
Lập trình với SQL Server Management Studio
Để bắt đầu viết các câu lệnh truy vấn trên SQL server, bạn cần cài đặt công cụ SQL Server Management Studio. Sau khi cài đặt xong, bạn mở phần mềm ra sẽ thấy hình ảnh trực quan như dưới đây. Một số database đã được thiết lập sẵn khi bạn cài đầy đủ các tính năng của SQL server. Bạn có thể tạo thêm một database nhỏ với tên learningsql để bắt đầu thực hiện các thao tác ban đầu.
Để bắt đầu lập trình, bạn nhấn chuột phải vào database learningsql vừa tạo và chọn New Query, một cửa sổ làm việc mới sẽ hiện ra.
Trang Query chính là nơi bạn bắt đầu viết các dòng lệnh truy vấn.
Dưới đây là một ví dụ về khối lệnh Tính tổng hai số khai báo sẵn.
Sau khi nhập xong các câu lệnh, bạn nhấn chọn Execute ở trên thanh công cụ để thực thi khối câu lệnh đó và đợi xem kết quả trả về.
Như vậy, với các câu lệnh truy vấn trên SQL server, bạn đã thực hiện được các phép tính cơ bản đối với biến được khai báo.
Các lệnh trong T-SQL cơ bản mà bạn cần biết
Để thực hiện các thao tác truy vấn bằng ngôn ngữ T-SQL, bạn cần nắm được một số câu lệnh cơ bản sau đây.
Lệnh CREATE TABLE
Create Table là một câu lệnh dùng để tạo một bảng dữ liệu mới trong cơ sở dữ liệu. Cú pháp câu lệnh như sau:
CREATE TABLE ( )
Ví dụ:
CREATE TABLE HOCSINH ( MSHS Char(5), HOTENHS varchar(20))
Lệnh ALTER TABLE
Lệnh Alter được dùng để thực hiện các sửa đổi về dữ liệu có trong bảng như thêm, sửa, xóa,… và các ràng buộc khác. Cú pháp như sau:
ALTER TABLE
ALTER COLUMN [ ] | ADD
[ ] | DROP COLUMN []
Ví dụ: Thêm cột MALOP vào bảng HOCSINH, ta làm như sau.
ALTER TABLE HOCSINH ADD MALOP varchar(20) NULL
Lệnh DROP TABLE
Lệnh Drop table được dùng để xóa đi một bảng dữ liệu không cần dùng đến nữa. Lệnh Drop Table sẽ xóa tất cả dữ liệu, chỉ mục, mối ràng buộc, các quyền và trigger của bảng đó.
Cú pháp:
DROP TABLE
Ví dụ: Xóa bảng HOCSINH đã tạo.
DROP TABLE HOCSINH
Lệnh INSERT
Lệnh Insert được dùng để thêm các dữ liệu mới vào bảng hoặc thêm dữ liệu có sẵn từ bảng này vào một bảng khác.
- Cú pháp thêm dữ liệu vào bảng mới
INSERT [INTO] VALUES
Trong đó:
INTO: một từ khóa
: tên bảng được chèn dữ liệu
: dữ liệu chèn vào.
- Cú pháp thêm dữ liệu từ bảng này vào bảng khác
INSERT SELECT FROM
Trong đó:
: tên bảng được thêm dữ liệu.
: danh sách các cột được chèn, lấy từ bảng có sẵn.
: tên bảng có sẵn dữ liệu.
Lệnh UPDATE
Lệnh Update dùng để cập nhật lại dữ liệu có trong các bảng khi dữ liệu cần được thay đổi. Cú pháp:
UPDATE SET [WHERE ]
Trong đó:
: là tên bảng cần cập nhật.
: các giá trị mới cần cập nhật
Lệnh DELETE
Câu lệnh Delete dùng để xóa một hàng trong bảng. Câu lệnh:
DELETE FROM [WHERE ]
Trong đó:
: tên của bảng chứa hàng muốn xóa.
Mệnh đề WHERE : dùng để xác định điều kiện của hàng muốn xóa.
Ví dụ:
DELETE FROM HS_info WHERE HS_id=9999
Lệnh SELECT
Câu lệnh Select có rất nhiều chức năng, thường nó sẽ được dùng để trích xuất ra dữ liệu mong muốn.
Cú pháp đơn giản nhất:
SELECT FROM
Trong đó:
: tên cột muốn chọn ra.
: tên bảng chứa cột muốn chọn.
Lệnh rẽ nhánh If-elseif-else
Câu lệnh rẽ nhánh If-elseif-else dùng để thực thi nhiều câu lệnh khác nhau trong đó khối lệnh elseif sẽ thực thi phụ thuộc vào lệnh if ở trên. Cú pháp:
IF <điều kiện 1>
Khối lệnh 1;
[ELSE IF <điều kiện 2>
Khối lệnh 2;
]....
[ELSE
Khối lệnh n + 1;]
Ví dụ:
Vòng lặp While
Vòng lặp While được dùng để lặp đi lặp lại các xử lý trong khối lệnh nếu điều kiện vòng lặp vẫn đảm bảo True.
Cú pháp:
WHILE condition
BEGIN
-- ...statements...
END;
Trong vòng While, nếu muốn thoát ra khỏi vòng lặp bạn có thể dùng lệnh Break hoặc dùng lệnh Continue để bỏ qua các dòng lệnh trong vòng While bên dưới nó để thực hiện một vòng lặp mới.
Sự khác nhau giữa SQL và PL/SQL
SQL là ngôn ngữ truy vấn cơ sở dữ liệu cơ bản. Còn PL/SQL (Procedural Language extensions to SQL) là một ngôn ngữ truy vấn hướng hướng thủ tục được sử dụng cho Oracle SQL. Điểm khác biệt giữa SQL và PL/SQL được xác định như sau:
Tiêu chí
SQL
PL/SQL
Khái niệm
SQL là ngôn ngữ truy vấn duy nhất được dùng để thực hiện các thao tác DDL và DML
PL/SQL là một khối lệnh để viết các đoạn chương trình, hàm, thủ tục,…
Bản chất
SQL cơ bản mang tính chất khai báo, định nghĩa các biến, thành phần trong cơ sở dữ liệu.
PL/SQL là những thủ tục, xác định quy trình thực hiện của các tiến trình truy vấn.
Cách thực thi
Thực thi từng câu lệnh.
Thực thi cả một khối lệnh.
Tương tác với Database
Tương tác trực tiếp với Database Server.
Không tương tác với Database Server.
Khả năng tương tác
Không thể chứa các mã PL/SQL.
PL/SQL cũng là một extension của SQL nên có chứa SQL trong đó.
Mục đích sử dụng
Chủ yếu sử dụng SQL để thao tác với dữ liệu.
Chủ yếu sử dụng PL/SQL để thao tác với các ứng dụng.
Sự khác nhau giữa T-SQL và PL-SQL
Để phân biệt giữa T-SQL và PL/SQL ta có thể dựa trên các yếu tố sau đây:
Tiêu chí
T-SQL
PL/SQL
Nhà phát triển
T-SQL (Transact Structure Query Language) là ngôn ngữ truy vấn được phát triển độc quyền bởi Microsoft.
PL/SQL (Procedural Language Structural Query Language) là ngôn ngữ truy vấn được phát triển bởi Oracle.
Mục đích
T-SQL giúp người lập trình dễ dàng kiểm soát các chương trình.
PL/SQL là một ngôn ngôn ngữ truy vấn tự nhiên, có thể kết hợp được với SQL.
Môi trường hoạt động
Môi trường hoạt động tốt nhất của là T-SQL là trên Microsoft SQL server.
Môi trường hoạt động tốt nhất của PL/SQL là Oracle Database Server.
Độ phức tạp
Ngôn ngữ T-SQL khá đơn giản, dễ hiểu, dễ sử dụng.
Ngôn ngữ PL/SQL khá phức tạp.
Tác dụng
T-SQL cho phép người lập trình có thể chèn nhiều hàng trên cùng một bảng bằng câu lệnh BULK INSERT.
PL/SQL hỗ trợ cấu trúc OOP gồm đóng gói dữ liệu, nạp chồng hàm, ẩn các thông tin.
Câu lệnh SELECT INTO
Có sử dụng
Có sử dụng
Câu lệnh SELECT
Có thể kết hợp với mệnh đề NOT EXISTS trong T-SQL
Có thể kết hợp với MINUS trong PL/SQL
Sự khác nhau giữa SQL và T-SQL
T-SQL là một phần tính năng mở rộng của SQL song giữa chúng sẽ có những điểm khác nhau cơ bản sau:
Tiêu chí
SQL
T-SQL
Khái niệm
SQL là ngôn ngữ truy vấn cơ bản, tập trung vào quản lý các mối quan hệ dữ liệu trong Database.
T-SQL là một extension được sử dụng trong SQL server.
Mục đích
Được sử dụng để quản lý các dữ liệu có trong các bảng database, nơi lưu trữ thông tin.
Tích hợp các tính năng mà SQL không có như các biến cục bộ, các phần tử lập trình thủ tục để kiểm soát linh hoạt cách chạy của các ứng dụng.
Cách hoạt động
Các câu truy vấn SQL sẽ được gửi tuần tự về database server.
T-SQL sẽ gửi hẳn một khối lệnh trong chương trình đến máy chủ để yêu cầu xử lý cùng một lúc.
Câu lệnh
Sử dụng các câu lệnh cơ bản như INSERT. UPDATE, DELETE, SELECT, DROP, CREAT.
Ngoài các câu lệnh giống như SQL thì T-SQL còn có các lệnh và hàm đặc trưng khác.
Những câu hỏi thường gặp về T-SQL
Tại sao nên sử dụng T-SQL?
T-SQL hay còn gọi là Transact là ngôn ngữ truy vấn được dành riêng cho sản phẩm của Microsoft SQL Server. Nó có tác dụng giúp bạn thực hiện các hoạt động nhu truy xuất dữ liệu ở dung một hàng, chèn hàng mới hoặc truy xuất nhiều hàng. Nó là một ngôn ngữ được sử dụng bởi SQL Server
T-SQL có phải là 1 tiêu chuẩn mở không?
SQL là ngôn ngữ lập trình phi thủ tục được tạo ra để giúp người dùng thao tác với dữ liệu được lưu trữ ở trong cơ sở dữ liệu. Ngược lại thì T-SQL là một phần mở rộng của ngôn ngữ SQL. SQL là tiêu chuẩn mở còn T-SQL là độc quyền.
Lời kết
Trên đây là toàn bộ những kiến thức cơ bản để bạn có thể tiếp cận khái niệm T-SQL là gì cũng như các câu lệnh cơ bản cần biết khi sử dụng ngôn ngữ truy vấn này. Đối với một lập trình viên thường xuyên quản trị hệ cơ sở dữ liệu, việc nắm rõ các loại ngôn ngữ như SQL, T-SQL, PL/SQL là một yêu cầu bắt buộc. Hy vọng những thông tin mà Vietnix đã chia sẻ sẽ hữu ích đối với bạn.
Bình luận