NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
06/09/2022
Lượt xem

T-SQL là gì? Tìm hiểu về ngôn ngữ T-SQL chi tiết

06/09/2022
13 phút đọc
Lượt xem

Đánh giá

5/5 - (129 bình chọn)

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.

T-SQL là viết tắt của Transact-SQL
T-SQL là viết tắt của Transact-SQL

Đâ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:

Cấu trúc khối lệnh T-SQL
Cấu trúc khối lệnh T-SQL

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. 

Giao diện ban đầu khi mở SQL Server Management Studio
Giao diện ban đầu khi mở SQL Server Management Studio

Để 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.

Chọn New Query để mở trang mới
Chọn New Query để mở trang mới

Trang Query chính là nơi bạn bắt đầu viết các dòng lệnh truy vấn.

Trang New Query mới tạo
Trang New Query mới tạo

Dưới đây là một ví dụ về khối lệnh Tính tổng hai số khai báo sẵn.

Tính tổng hai số khai báo sẵn
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ề.

Câu lênh được thực thi
Câu lênh được thực thi

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 <Table_Name>(<Column_Name> <Data_Type>)

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 <table name>        
ALTER COLUMN [<Column name> <New_data_type>] | ADD        
[<Column_name> <Data_type>] | DROP COLUMN [<Column_Name>]

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 <table_name>

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] <table_name> VALUES <values>

Trong đó: 

INTO: một từ khóa

<table_name>: Tên bảng được chèn dữ liệu.

<values>: 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 <table_name> SELECT <column list> FROM <tablename2>

Trong đó:

<table_name>: Tên bảng được thêm dữ liệu.

<column list>: Danh sách các cột được chèn, lấy từ bảng có sẵn.

<tablename2>: 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 <table_name> SET <column_name=value> [WHERE <search condition>]

Trong đó:

  • <table_name>: Là tên bảng cần cập nhật.
  • <value>: 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 <table_name> [WHERE <search_condition>]

Trong đó:

  • <table_name>: Tên của bảng chứa hàng muốn xóa.
  • Mệnh đề WHERE <search_condition>: 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 <columnname(s)> FROM <tablename>

Trong đó:

<columnname(s)>: Tên cột muốn chọn ra.

<tablename>: 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í dụ về vòng lặp If-elseif-if
Ví dụ về vòng lặp If-elseif-if

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 biệt 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íSQLPL/SQL
Khái niệmSQL 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ấtSQL 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 thiThực thi từng câu lệnh.Thực thi cả một khối lệnh.
Tương tác với databaseTươ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ácKhô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ụngChủ 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-SQLPL/SQL
Nhà phát triểnT-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 đíchT-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 độngMô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ạpNgô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ụngT-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 INTOCó sử dụng.Có sử dụng.
Câu lệnh SELECTCó 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.

Tìm hiểu về 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íSQLT-SQL
Khái niệmSQL 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 độngCá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ệnhSử 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.

Câu hỏi thường gặp

Tại sao nên sử dụng T-SQL?

T-SQL hay còn gọi là Transact-SQL là ngôn ngữ truy vấn được dành riêng cho sản phẩm của Microsoft SQL Server. Chúng có tác dụng giúp bạn thực hiện các hoạt động như truy xuất dữ liệu ở chung một hàng, chèn hàng mới hoặc truy xuất nhiều hàng. Chúng 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. 

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG