Transact-SQL là ngôn ngữ SQL mở rộng dựa trên SQL chuẩn của ISO [International Organization for Standardization] và ANSI [American National Standards Institute] được sử dụng trong SQL Server khác với P-SQL [Procedural-SQL] dùng trong Oracle.Bạn đang xem: Sql Là Gì
Bạn đang xem: T sql là gì1. Ngôn ngữ định nghĩa dữ liệu – Data Definition Language [DDL]:
Ðây là những lệnh dùng để quản lý các thuộc tính của một database như định nghĩa các hàng hoặc cột của một table, hoặc vị trí file dữ liệu của một database…thường có dạng
Create Tên_đối_tượngAlter Tên_đối_tượngDrop Tên_đối_tượngTrong đó Tên_đối_tượng có thể là một table, view, stored procedure, indexes…
Ví dụ:Lệnh Create sau sẽ tạo ra một table tên Importers với 3 cột CompanyID, CompanyName, Contact
USE NorthwindCREATE TABLE Importers[CompanyID int NOT NULL,CompanyName varchar[40] NOT NULL,Contact varchar[40] NOT NULL]Lệnh Alter sau đây cho phép ta thay đổi cấu trúc của một table như thêm [hay bớt] một cột hay một Constraint…Trong ví dụ này ta sẽ thêm cột ContactTitle vào table Importers
USE NorthwindALTER TABLE ImportersADD ContactTitle varchar[20] NULLLệnh Drop sau đây sẽ hoàn toàn xóa table khỏi database nghĩa là cả cấu trúc của table và dữ liệu bên trong table [khác với lệnh Delete chỉ xóa dữ liệu nhưng table vẫn tồn tại].
Bạn đang xem: T-sql là gì
Bạn đang xem: T-sql là gì
Giới Thiệu Sơ Lược Về Transact SQL [T-SQL]
1. Ngôn ngữ định nghĩa dữ liệu – Data Definition Language [DDL]:
Ðây là những lệnh dùng để quản lý các thuộc tính của một database như định nghĩa các hàng hoặc cột của một table, hoặc vị trí file dữ liệu của một database…thường có dạng
Create Tên_đối_tượngAlter Tên_đối_tượngDrop Tên_đối_tượng
Trong đó Tên_đối_tượng có thể là một table, view, stored procedure, indexes…
Ví dụ:
Lệnh Create sau sẽ tạo ra một table tên Importers với 3 cột CompanyID, CompanyName, Contact
USE NorthwindCREATE TABLE Importers[CompanyID int NOT NULL,CompanyName varchar[40] NOT NULL,Contact varchar[40] NOT NULL]Lệnh Alter sau đây cho phép ta thay đổi cấu trúc của một table như thêm [hay bớt] một cột hay một Constraint…Trong ví dụ này ta sẽ thêm cột ContactTitle vào table Importers
USE NorthwindALTER TABLE ImportersADD ContactTitle varchar[20] NULLLệnh Drop sau đây sẽ hoàn toàn xóa table khỏi database nghĩa là cả cấu trúc của table và dữ liệu bên trong table [khác với lệnh Delete chỉ xóa dữ liệu nhưng table vẫn tồn tại].
USE NorthwindDROP TABLE Importers2. Ngôn ngữ điều khiển dữ liệu – Data Control Language [DCL]:
Ðây là những lệnh quản lý các quyền truy cập lên từng đối tượng [table, view, stored procedure…]. Thường có dạng sau:
GrantRevokeDenyVí dụ:
Lệnh sau sẽ cho phép web13_user trong Role là Public được quyền Select đối với table Customer trong database Northwind [Role là một khái niệm giống như Windows Group sẽ được bàn kỹ trong phần Security]
USE NorthwindGRANT SELECTON CustomersTO PUBLICLệnh sau sẽ từ chối quyền Select đối với table Customer trong database Northwind của các web13_user trong Role là Public
USE NorthwindDENY SELECTON CustomersTO PUBLICLệnh sau sẽ xóa bỏ tác dụng của các quyền được cho phép hay từ chối trước đó
USE NorthwindREVOKE SELECTON CustomersTO PUBLIC3. Ngôn ngữ thực thi dữ liệu – Data Manipulation Language [DML]:
Ðây là những lệnh phổ biến dùng để xử lý data như Select, Update, Insert, Delete
Ví dụ:
Select
USE NorthwindSELECT CustomerID, CompanyName, ContactNameFROM CustomersWHERE [CustomerID = “alfki” OR CustomerID = “anatr”]ORDER BY ContactNameInsert
USE NorthwindINSERT INTO TerritoriesVALUES [98101, “Seattle”, 2]Update
USE NorthwindUPDATE TerritoriesSET TerritoryDescription = “Downtown Seattle”WHERE TerritoryID = 98101Delete
USE NorthwindDELETE FROM TerritoriesWHERE TerritoryID = 98101Vì phần này khá căn bản nên chúng tôi thiết nghĩ không cần giải thích nhiều. Chú ý trong lệnh Delete bạn có thể có chữ From hay không đều được.
Nhưng mà chúng ta sẽ chạy thử các ví dụ trên ở đâu?
Ðể chạy các câu lệnh ví dụ ở trên bạn cần sử dụng và làm quen với Query Editor trong MS SQL Server 2008
Chạy câu lệnh SQL sử dụng Query Editor
Cú Pháp Của T-SQL
Phần này chúng ta sẽ bàn về các thành phần tạo nên cú pháp của T-SQL
Đặt tên – Identifiers
Ðây chính là tên của các đối tượng [object] trong database như tên bảng, tên cột, tên view, stored procedure …. Nó dùng để nhận diện một đối tượng. [Chú ý khi nói đến đối tượng trong SQL Server là chúng ta muốn đề cập đến table, view, stored procedure, index…..Vì hầu như mọi thứ trong SQL Server đều được thiết kế theo kiểu hướng đối tượng [object-oriented]]. Trong ví dụ sau TableX, KeyCol, Description là những identifiers
CREATE TABLE TableX[KeyCol INT PRIMARY KEY, Description NVARCHAR[80]]Có hai loại Identifiers:
Loại thông thường [Regular Identifier]: đặt tên theo chuẩn như bắt đầu với ký tự, không sử dụng ký tự đặc biệt, không sử dụng chữ số ở đầu, không có khoảng trắngLoại cần phải sử dụng các dấu “” hoặc dấu để phân biệt giữa các từ khoá [Delimited Identifier] ví dụ như các từ khóa trùng với từ khoá của SQL Server [reserved keyword] hoặc các từ có khoảng trống.Ví dụ:
SELECT * FROM WHERE = 10Trong ví dụ trên chữ Order trùng với từ khoá Order của SQL Server nên cần đặt trong dấu ngoặc vuông .
Xem thêm: Thử thách tiếng anh là gì
Biến – Variables
Biến trong T-SQL cũng có chức năng tương tự như trong các ngôn ngữ lập trình khác nghĩa là cần khai báo trước loại dữ liệu trước khi sử dụng. Biến được bắt đầu bằng dấu EmpIDVar + 1Hàm – Functions
Xem thêm: Patanjali yoga là gì
Có 2 loại hàm một loại là built-in và một loại user-defined
Các hàm Built-In là các hàm nội tại của SQL Server được chia làm 3 nhóm:
Các hàm User-Defined là các hàm do người dùng định nghĩa [được tạo ra bởi câu lệnh CREATE FUNCTION và phần body thường được gói trong cặp lệnh BEGIN…END] cũng được chia làm các nhóm như sau:
Kiểu dữ liệu – Data Type
Các loại dữ liệu trong SQL Server sẽ được bàn kỹ trong các bài sau
Biểu thức – Expressions
Các Expressions có dạng Identifier + Operators [như +,-,*,/,=…] + Value
Các thành phần câu lệnh điều khiển lập trình – Control Of Flow
Chú thích – Comments
T-SQL dùng dấu — để đánh dấu phần chú thích cho một dòng [một hàng] và dùng /*…*/ để chú thích cho nhiều dòng
Thực Thi Các Câu Lệnh SQL
Thực thi một câu lệnh đơn:
Một câu lệnh SQL được phân ra thành các thành phần cú pháp như trên bởi một parser, sau đó SQL Optimizer [một bộ phận quan trọng của SQL Server] sẽ phân tích và tìm cách thực thi [Execute Plan] tối ưu nhất ví dụ như cách nào nhanh và tốn ít tài nguyên của máy nhất… và sau đó SQL Server Engine sẽ thực thi và trả về kết quả.
Thực Thi một nhóm lệnh [Batches]
Khi thực thi một nhóm lệnh SQL Server sẽ phân tích và tìm biện pháp tối ưu cho các câu lệnh như một câu lệnh đơn và chứa execution plan đã được biên dịch [compiled] trong bộ nhớ sau đó nếu nhóm lệnh trên được gọi lại lần nữa thì SQL Server không cần biên dịch mà có thể thực thi ngay điều này giúp cho một batch chạy nhanh hơn.
Xem thêm:
Lệnh GO
Tóm lại trong phần này chúng ta đã tìm hiểu về Transact- SQL là ngôn ngữ chính để giao tiếp với SQL Server. Trong bài sau chúng ta sẽ tiếp tục bàn về cấu trúc bên trong của SQL Server .
Chuyên mục:
Các Sự khác biệt chính giữa SQL và TSQL là thế SQL là ngôn ngữ được sử dụng để lưu trữ và quản lý dữ liệu trong RDBMS trong khi TSQL là phiên bản mở rộng của SQL được thiết kế để thực hiện các hoạt động trên máy chủ MS SQL.
Một cơ sở dữ liệu là một tập hợp các dữ liệu liên quan. Hệ thống quản lý cơ sở dữ liệu [DBMS] là một phần mềm giúp quản lý dữ liệu trong cơ sở dữ liệu. Hơn nữa, Hệ thống quản lý cơ sở dữ liệu quan hệ [RDBMS] là một DBMS nâng cao. Nó lưu trữ dữ liệu trong các bảng và các bảng này có liên quan với nhau. Nhà phát triển có thể sử dụng ngôn ngữ SQL để thực hiện các hoạt động trên RDBMS. Hơn nữa, TSQL là phiên bản mở rộng của SQL.
Các khu vực chính được bảo hiểm
1. SQL là gì
- Định nghĩa, chức năng
2. TSQL là gì
- Định nghĩa, chức năng
3. Sự khác biệt giữa SQL và TSQL là gì
- So sánh sự khác biệt chính
Điều khoản quan trọng
RDBMS, SQL, TSQL
SQL là gì
SQL là viết tắt của Structured Query Language. Đây là ngôn ngữ cơ sở dữ liệu tiêu chuẩn ANSI / ISO giúp lưu trữ và thao tác dữ liệu trong RDBMS. Hầu hết các RDBMS như MySQL và Oracle sử dụng SQL làm ngôn ngữ truy vấn cơ sở dữ liệu tiêu chuẩn. Có thể thực hiện các hoạt động khác nhau trên dữ liệu được lưu trữ trong RDBMS bằng SQL. Nhà phát triển có thể viết các truy vấn để tạo bảng, tạo cơ sở dữ liệu, chèn, cập nhật, xóa dữ liệu và nhiều hoạt động khác.
Có ba loại lệnh SQL như sau.
DDL [Ngôn ngữ định nghĩa dữ liệu] - Các lệnh này giúp thay đổi cấu trúc của cơ sở dữ liệu và các đối tượng liên quan. Vd: TẠO, THAY ĐỔI, DROP
DML [Ngôn ngữ thao tác dữ liệu] - Các lệnh này giúp quản lý dữ liệu trong cơ sở dữ liệu. Vd: CHỌN, XÁC NHẬN, CẬP NHẬT, XÓA
DCL [Ngôn ngữ kiểm soát dữ liệu] - Các lệnh này giúp quản lý người dùng có thể truy cập dữ liệu. Vd: GRANT, REVOKE
TSQL là gì
SQL là ngôn ngữ truy vấn cho hầu hết các sản phẩm RDBMS. Các nhà cung cấp sản phẩm RDBMS khác nhau đã phát triển ngôn ngữ cơ sở dữ liệu của riêng họ bằng cách mở rộng SQL theo sản phẩm của họ. TSQL là một phần mở rộng của SQL được phát triển bởi Microsoft. TSQL là viết tắt của Ngôn ngữ truy vấn cấu trúc giao dịch. Đây là phiên bản SQL của Microsoft SQL Server.
Các ứng dụng có thể giao tiếp với SQL Server bằng cách đưa ra các câu lệnh TSQL. Nhà phát triển có thể viết các truy vấn để thực hiện các thao tác trên các bảng, nối các bảng và thêm các ràng buộc. Anh ta cũng có thể thực hiện các giao dịch, viết các thủ tục lưu trữ, lượt xem, chỉ mục và nhiều hơn nữa. Có nhiều hàm số, chuỗi, ngày. Hơn nữa, có các hàm tổng hợp để thực hiện một thao tác trên một tập hợp các giá trị.
Sự khác biệt giữa SQL và TSQL
Định nghĩa
SQL là một ngôn ngữ cụ thể miền được sử dụng trong lập trình và được thiết kế để quản lý dữ liệu được giữ trong Hệ thống quản lý cơ sở dữ liệu quan hệ. Ngược lại, TCL là phiên bản SQL độc quyền của Microsoft cho SQL RDBMS của SQL Server. Vì vậy, đây là sự khác biệt chính giữa SQL và TSQL.
Dài hạn
Hơn nữa, SQL là viết tắt của Ngôn ngữ truy vấn có cấu trúc trong khi TSQL là viết tắt của Ngôn ngữ truy vấn cấu trúc giao dịch.
Nền tảng
SQL là ngôn ngữ truy vấn để quản lý dữ liệu trong RDBMS trong khi TSQL là phần mở rộng của SQL được sử dụng trên máy chủ MS SQL.
Nhà phát triển
IBM đã phát triển SQL trong khi Microsoft phát triển TSQL. Đây là một sự khác biệt khác giữa SQL và TSQL.
Nhúng
Ngoài ra, một điểm khác biệt khác giữa SQL và TSQL là có thể nhúng SQL vào TSQL, nhưng không thể nhúng TSQL vào SQL.
Sử dụng
Trong khi SQL giúp xử lý và phân tích dữ liệu bằng các truy vấn đơn giản, TSQL giúp thêm logic nghiệp vụ vào một ứng dụng. Do đó, đây là một sự khác biệt khác giữa SQL và TSQL.
Phần kết luận
Sự khác biệt chính giữa SQL và TSQL là SQL là ngôn ngữ được sử dụng để lưu trữ và quản lý dữ liệu trong RDBMS trong khi TSQL là phiên bản mở rộng của SQL được thiết kế để thực hiện các hoạt động trên máy chủ MS SQL. Tóm lại, TSQL là một phiên bản của SQL, đây là bản triển khai cho Microsoft SQL Server.
Tài liệu tham khảo:1. Giới thiệu về SQL. Các loại cấu trúc liên kết mạng trong mạng máy tính | Nghiên cứu,