Trong thị trường ngày nay, nơi một lượng lớn dữ liệu được tạo ra mỗi ngày, điều rất quan trọng là phải hiểu cách xử lý dữ liệu. SQL Server là một môi trường tích hợp do Microsoft phát triển để xử lý dữ liệu.Trong bài viết này về hướng dẫn SQL Server, bạn sẽ học tất cả các thao tác và lệnh mà bạn cần để khám phá cơ sở dữ liệu của mình.
Để bạn hiểu rõ hơn, tôi đã chia blog thành các loại sau:
Lệnh | Sự miêu tả |
Tập hợp các lệnh này được sử dụng để xác định một cơ sở dữ liệu. | |
Lệnh ngôn ngữ thao tác dữ liệu (DML) | Các lệnh thao tác được sử dụng để thao tác dữ liệu có trong cơ sở dữ liệu. |
Tập hợp các lệnh này xử lý các quyền, quyền và các điều khiển khác của hệ thống cơ sở dữ liệu. | |
Các lệnh này được sử dụng để đối phó với giao dịch của cơ sở dữ liệu. |
Ngoài các lệnh, các chủ đề sau được đề cập trong bài viết này:
- SQL Server là gì?
- Cài đặt SQL Server
- Kết nối với SQL Server bằng SSMS
- Công cụ cơ sở dữ liệu truy cập
- Kiến trúc máy chủ SQL
- Nhận xét trong SQL
- Các kiểu dữ liệu SQL Server
- Các phím trong cơ sở dữ liệu
- Ràng buộc trong cơ sở dữ liệu
- Các nhà khai thác
- Chức năng tổng hợp
- Các chức năng do người dùng xác định
- Truy vấn lồng nhau
- Tham gia
- Vòng lặp
- Thủ tục lưu trữ
- Xử lý ngoại lệ
***GHI CHÚ*** Trong Hướng dẫn SQL Server này, tôi sẽ xem xét cơ sở dữ liệu bên dưới làmột ví dụ, để chỉ cho bạn cách học và viếtcác lệnh.
Thẻ học sinh | Tên học sinh | ParentName | Số điện thoại | Địa chỉ | Tp. | Quốc gia |
một | tôi ghét | Akriti mehra | 9955339966 | Lữ đoàn Đường bộ 9 | Hyderabad | Ấn Độ |
2 | Manasa | Shourya Sharma | 9234568762 | Đường Mayo 15 | Kolkata | Ấn Độ |
3 | Anay | Soumya Mishra | 9876914261 | Nhà số 101 Marathalli | Tiếng Bengaluru | Ấn Độ |
4 | Preeti | Rohan Sinha | 9765432234 | Đường Queens 40 | Delhi | Ấn Độ |
5 | Shanaya | Abhinay agarwal | 9878969068 | Đường Oberoi 21 | Mumbai | Ấn Độ |
Trước khi bắt đầu tìm hiểu các lệnh khác nhau được sử dụng trong SQL Server, chúng ta hãy hiểu SQL Server là gì, kiến trúc của nó và cách cài đặt nó.
SQL Server là gì?
Microsoft SQL Server là một quan hệ hệ thống quản lý cơ sở dữ liệu . Nó hỗ trợ Structured Query Language và đi kèm với việc triển khai ngôn ngữ SQL của riêng nó, là ngôn ngữ Transact-SQL (T-SQL) . Nó có một môi trường tích hợp để xử lý cơ sở dữ liệu SQL, đó là .
Các thành phần chính của SQL Server như sau:
- Cơ sở dữ liệu: Thành phần này xử lý lưu trữ, Xử lý giao dịch nhanh chóng và Bảo mật dữ liệu.
- Máy chủ SQL - Dịch vụ này được sử dụng để bắt đầu, dừng, tạm dừng và tiếp tục phiên bản của MS SQL Server.
- Tác nhân SQL Server - Dịch vụ Server Agent đóng vai trò của bộ lập lịch tác vụ và được kích hoạt bởi bất kỳ sự kiện nào hoặc theo yêu cầu.
- Trình duyệt máy chủ SQL - Dịch vụ này được sử dụng để kết nối yêu cầu đến với phiên bản SQL Server mong muốn.
- Tìm kiếm toàn văn bản của SQL Server - Được sử dụng để cho phép người dùng chạy các truy vấn toàn văn bản dựa trên dữ liệu ký tự trong bảng SQL.
- SQL Server VSS Writer - Cho phép sao lưu và khôi phục tệp dữ liệu khi SQL Server không chạy.
- Dịch vụ Phân tích Máy chủ SQL (SSAS) - Dịch vụ này được sử dụng để cung cấp phân tích dữ liệu, khai thác dữ liệu và các khả năng. SQL Server cũng được tích hợp với và R để phân tích dữ liệu nâng cao.
- Dịch vụ báo cáo máy chủ SQL (SSRS) - Như tên cho thấy, dịch vụ này được sử dụng để cung cấp các tính năng và khả năng ra quyết định bao gồm tích hợp với .
- Dịch vụ tích hợp máy chủ SQL (SSIS) - Dịch vụ này được sử dụng để thực hiện các hoạt động ETL cho các loại dữ liệu khác nhau từ nhiều nguồn dữ liệu.
Bây giờ, bạn đã biết MS SQL Server là gì, hãy cùng chúng tôi chuyển sang bài viết này về hướng dẫn SQL Server và hiểu cách cài đặt và thiết lập SQL Server.
Cài đặt SQL Server
Làm theo các bước dưới đây để cài đặt SQL Server:
Bước 1: Đi đến trang chính thức của Tải xuống Microsoft SQL Server , nơi bạn sẽ tìm thấy tùy chọn cài đặt SQL Server tại chỗ hoặc trên đám mây.
Bước 2: Bây giờ, cuộn xuống và bạn sẽ thấy hai tùy chọn: Phiên bản dành cho nhà phát triển & doanh nghiệp . Tại đây, tôi sẽ tải xuống Phiên bản dành cho nhà phát triển . Để tải xuống, bạn chỉ cần nhấp vào Tải ngay Lựa chọn. Tham khảo bên dưới.
Bước 3: Sau khi ứng dụng được tải xuống, nhấp đúp vào tệp và bạn sẽ thấy cửa sổ sau.
Bước 4: Bây giờ, bạn có thể chọn một trong 3 tùy chọn để thiết lập SQL Server. Ở đây, tôi sẽ chỉ chọn Tùy chọn cơ bản . Khi chọn tùy chọn loại cài đặt, màn hình tiếp theo sẽ là chấp nhận thỏa thuận cấp phép. Để làm điều đó, hãy nhấp vào Chấp nhận trong cửa sổ sau.
Bước 5: Tiếp theo, bạn phải chỉ định vị trí cài đặt SQL Server. Sau đó, bạn phải nhấp vào Cài đặt.
Khi bạn nhấp vào Tải về , bạn sẽ thấy rằng các gói bắt buộc đang được tải xuống. Bây giờ, sau khi cài đặt hoàn tất, bạn sẽ thấy màn hình sau:
Tại đây, bạn có thể tiếp tục và nhấp vào Connect Now hoặc bạn có thể Tùy chỉnh cài đặt. Để bạn hiểu rõ hơn, tôi sẽ tiếp tục và chọn Tùy chỉnh.
Bước 6: Khi bạn nhấp vào Tùy chỉnh trong cửa sổ trên, bạn sẽ thấy trình hướng dẫn sau đang mở ra. trong cửa sổ sau, nhấp vào Kế tiếp.
Bước 7: Sau khi các quy tắc được cài đặt tự động, hãy nhấp vào Kế tiếp . Tham khảo bên dưới.
Bước 8: Tiếp theo, bạn phải chọn kiểu cài đặt. Vì vậy, hãy chọn Thực hiện một cài đặt mới SQL Server 2017 và sau đó nhấp vào Kế tiếp.
Bước 9: Trong trình hướng dẫn mở ra, hãy chọn phiên bản: Nhà phát triển. Sau đó, nhấp vào Kế tiếp . Tham khảo bên dưới.
Bước 10: Bây giờ, hãy đọc và chấp nhận các thỏa thuận cấp phép bằng cách đăng ký vào nút radio và sau đó nhấp vào Kế tiếp . Tham khảo bên dưới.
Bước 11: Trong trình hướng dẫn bên dưới, bạn có thể chọn các tính năng mà bạn muốn cài đặt. Ngoài ra, bạn có thể chọn thư mục gốc phiên bản và sau đó nhấp vào Kế tiếp . Ở đây, tôi sẽ chọn Dịch vụ Cơ sở dữ liệu .
Bước 12: Tiếp theo, bạn phải đặt tên cho phiên bản và tự động ID phiên bản sẽ được tạo. Ở đây, tôi sẽ đặt tên cho instance là “edureka”. Sau đó, nhấp vào Kế tiếp.
Bước 13: Trong trình hướng dẫn Cấu hình Máy chủ, bấm vào Kế tiếp .
Bước 14: Bây giờ, bạn phải bật các chế độ xác thực. Tại đây, bạn sẽ thấy Chế độ xác thực Windows và Chế độ hỗn hợp . Tôi sẽ chọn Chế độ hỗn hợp. Sau đó, đề cập đến mật khẩu và sau đó tôi sẽ thêm người dùng hiện tại làm quản trị viên bằng cách chọn Thêm người dùng hiện tại Lựa chọn.
Bước 15: Sau đó, chọn đường dẫn tệp cấu hình và nhấp vào Tải về .
Sau khi cài đặt xong, bạn sẽ thấy màn hình sau:
Kết nối với SQL Server bằng SSMS
Sau khi SQL Server được cài đặt, bước tiếp theo của bạn là kết nối SQL Server với SQL Server Management Studio. Để làm điều đó, hãy làm theo các bước sau:
Bước 1: Quay lại cửa sổ sau và nhấp vào cài đặt SSMS Lựa chọn.
Bước 2: Khi bạn nhấp vào tùy chọn đó, bạn sẽ được chuyển hướng đến trang sau , nơi bạn phải chọn Tải xuống SSMS.
Bước 3: Sau khi thiết lập đã được tải xuống, hãy nhấp đúp vào ứng dụng và bạn sẽ thấy trình hướng dẫn sau mở ra.
Bước 4: Bấm vào Cài đặt tùy chọn , trong cửa sổ trên và bạn sẽ thấy rằng quá trình cài đặt sẽ bắt đầu.
Bước 5: Sau khi cài đặt xong bạn sẽ nhận được hộp thoại như hình bên dưới.
Sau khi bạn cài đặt SSMS, bước tiếp theo là truy cập vào Cơ sở dữ liệu .
Truy cập công cụ cơ sở dữ liệu
Khi bạn mở Studio quản lý máy chủ SQL từ menu bắt đầu , một cửa sổ sẽ mở ra tương tự như cửa sổ hiển thị trong hình bên dưới.
Tại đây, hãy đề cập đến Tên máy chủ, Chế độ xác thực và nhấp vào Kết nối.
Sau khi bạn nhấp vào Kết nối , bạn sẽ thấy màn hình sau.
Vâng, đó là cách bạn cài đặt và thiết lập SQL Server. Bây giờ, tiếp tục trong hướng dẫn SQL Server này, chúng ta hãy hiểu các thành phần khác nhau của kiến trúc SQL Server.
Kiến trúc máy chủ SQL
Kiến trúc của SQL Server như sau:
- Người phục vụ & Trừ Đây là nơi các dịch vụ SQL được cài đặt và cơ sở dữ liệu nằm
- Công cụ quan hệ & trừ Chứa trình phân tích cú pháp truy vấn, trình tối ưu hóa và trình thực thi và việc thực thi diễn ra trong công cụ quan hệ.
- Bộ phân tích cú pháp lệnh & trừ Kiểm tra cú pháp của truy vấn và chuyển đổi truy vấn sang ngôn ngữ máy.
- Trình tối ưu hóa & trừ Chuẩn bị kế hoạch thực thi dưới dạng đầu ra bằng cách lấy thống kê, truy vấn và cây Algebrator làm đầu vào.
- Người thực thi truy vấn & trừ Đây là nơi mà các truy vấn được thực thi từng bước
- Công cụ lưu trữ & Trừ Đây là nhiệm vụ lưu trữ và truy xuất dữ liệu trên hệ thống lưu trữ, thao tác với dữ liệu, quản lý và khóa các giao dịch.
Bây giờ, bạn đã biết cách thiết lập và cài đặt SQL Server và các thành phần khác nhau của nó, hãy để chúng tôi bắt đầu với việc viết Người phục vụ. Tuy nhiên, trước đó hãy để tôi trình bày cách viết bình luận trong SQL Server.
Nhận xét trong SQL Server
Có hai cách mà bạn có thể nhận xét trong SQL, tức là sử dụng S bình luận trong dòng hoặc là m bình luận dòng ulti .
Nhận xét một dòng
Các nhận xét một dòng bắt đầu bằng hai dấu gạch ngang (-). Do đó, văn bản được đề cập sau (-), cho đến cuối một dòng sẽ bị trình biên dịch bỏ qua.
Thí dụ:
- Ví dụ về nhận xét dòng đơn
Nhận xét nhiều dòng
Các nhận xét nhiều dòng bắt đầu bằng / * và kết thúc bằng * / . Do đó, văn bản được đề cập giữa / * và * / sẽ bị trình biên dịch bỏ qua.
Thí dụ:
/ * Ví dụ cho nhận xét nhiều dòng * /
Bây giờ trong bài viết này về hướng dẫn SQL Server, chúng ta hãy bắt đầu với nhóm lệnh đầu tiên, tức là các lệnh Ngôn ngữ Định nghĩa Dữ liệu.
Các lệnh ngôn ngữ định nghĩa dữ liệu
Phần này của bài viết sẽ cung cấp cho bạn ý tưởng về các lệnh với sự trợ giúp của chúng mà bạn có thể xác định cơ sở dữ liệu của mình. Các lệnh như sau:
TẠO NÊN
Câu lệnh này được sử dụng để tạo bảng, cơ sở dữ liệu hoặc dạng xem.
Tuyên bố 'TẠO CƠ SỞ DỮ LIỆU'
Câu lệnh này được sử dụng để tạo cơ sở dữ liệu.
Cú pháp
TẠO Cơ sở dữ liệu DATABASEName
Thí dụ
TẠO CƠ SỞ DỮ LIỆU sinh viên
Các ' TẠO BẢNG ' Tuyên bố
Như tên cho thấy, câu lệnh này được sử dụng để tạo một bảng.
Cú pháp
TẠO BẢNG Tên bảng (Kiểu dữ liệu Cột1, Kiểu dữ liệu Cột2, Kiểu dữ liệu Cột 3, .... Kiểu dữ liệu ColumnN)
Thí dụ
TẠO BẢNG StudentInfo (StudentID int, StudentName varchar (8000), ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000), City varchar (8000), Country varchar (8000))
RƠI VÃI
Câu lệnh này được sử dụng để loại bỏ một bảng, cơ sở dữ liệu hoặc dạng xem hiện có.
Tuyên bố ‘DROP DATABASE’
Câu lệnh này được sử dụng để loại bỏ một cơ sở dữ liệu hiện có. Thông tin đầy đủ có trong cơ sở dữ liệu sẽ bị mất ngay khi bạn thực hiện lệnh dưới đây.
Cú pháp
DROP DATABASE DatabaseName
Thí dụ
DROP DATABASE học sinh
Tuyên bố 'DROP TABLE'
Câu lệnh này được sử dụng để loại bỏ một bảng hiện có. Thông tin đầy đủ có trong bảng sẽ bị mất ngay sau khi bạn thực hiện lệnh dưới đây.
Cú pháp
DROP TABLE TableName
Thí dụ
DROP TABLE StudentInfo
TUỔI TÁC
Lệnh ALTER được sử dụng để thêm, xóa hoặc sửa đổi các cột hoặc ràng buộc trong bảng hiện có.
Các ' BẢNG ALTER ' Tuyên bố
Câu lệnh này được sử dụng để thêm, xóa, sửa đổi các cột trong bảng đã có từ trước.
Câu lệnh ‘ALTER TABLE’ với ADD / DROP COLUMN
Câu lệnh ALTER TABLE được sử dụng với lệnh ADD / DROP Column để thêm và xóa một cột.
Cú pháp
ALTER TABLE TableName ADD ColumnName Datatype ALTER TABLE TableName DROP COLUMN ColumnName
Thí dụ
--ADD Column BloodGroup: ALTER TABLE StudentInfo ADD BloodGroup varchar (8000) --DROP Column BloodGroup: ALTER TABLE StudentInfo DROP COLUMN BloodGroup
Câu lệnh 'ALTER TABLE' với ALTER COLUMN
Câu lệnh ALTER TABLE có thể được sử dụng với cột ALTER để thay đổi kiểu dữ liệu của cột hiện có trong bảng.
Cú pháp
ALTER TABLE TableName ALTER COLUMN ColumnName Datatype
Thí dụ
- Thêm DOB cột và thay đổi kiểu dữ liệu từ ngày thành giờ. ALTER TABLE StudentInfo THÊM DOB ngày ALTER TABLE StudentInfo ALTER COLUMN DOB datetime
TRUNCATE
Lệnh SQL này được sử dụng để xóa thông tin có trong bảng nhưng không xóa chính bảng đó. Vì vậy, nếu bạn muốn xóa thông tin có trong bảng và không xóa chính bảng đó, bạn phải sử dụng lệnh TRUNCATE. Nếu không, hãy sử dụng lệnh DROP.
Cú pháp
TRUNCATE TABLE TableName
Thí dụ
BẢNG TRUNCATE StudentInfo
ĐỔI TÊN
Câu lệnh này được sử dụng để đổi tên một hoặc nhiều bảng.
Cú pháp
sp_rename 'OldTableName', 'NewTableName'
Thí dụ
sp_rename 'StudentInfo', 'Infostudents'
Tiếp tục trong bài viết này về hướng dẫn SQL Server, chúng ta hãy hiểu các kiểu dữ liệu khác nhau được SQL Server hỗ trợ.
Các kiểu dữ liệu SQL Server
Loại dữ liệu | Tên loại dữ liệu | Sự miêu tả | Phạm vi / Cú pháp |
Số chính xác | số | Được sử dụng để lưu trữ các giá trị số và có số tỷ lệ và độ chính xác cố định | - 10 ^ 38 +1 đến 10 ^ 38 - 1. |
tí hon | Được sử dụng để lưu trữ các giá trị số nguyên | 0 đến 255 | |
lửa | Được sử dụng để lưu trữ các giá trị số nguyên | -2 ^ 15 (-32,768) đến 2 ^ 15-1 (32,767) | |
bigint | Được sử dụng để lưu trữ các giá trị số nguyên | -2 ^ 63 (-9,223,372,036,854,775,808) đến 2 ^ 63-1 (9,223,372,036,854,775,807) | |
int | Được sử dụng để lưu trữ các giá trị số nguyên | -2 ^ 31 (-2,147,483,648) đến 2 ^ 31-1 (2,147,483,647) | |
bit | Lưu trữ một kiểu dữ liệu số nguyên có giá trị 0, 1 hoặc NULL | 0, 1 hoặc NULL | |
thập phân | Được sử dụng để lưu trữ các giá trị số và có số tỷ lệ và độ chính xác cố định | - 10 ^ 38 +1 đến 10 ^ 38 - 1. | |
tiền nhỏ | Được sử dụng để lưu trữ tiền tệhoặc giá trị tiền tệ. | - 214.748.3648 đến 214.748.3647 | |
tiền bạc | Được sử dụng để lưu trữ tiền tệhoặc giá trị tiền tệ. | -922.337.203.685.477.5808 đến 922.337.203.685.477.5807 (-922.337.203.685.477,58 tới 922.337.203.685.477,58 cho Informatica. | |
Số gần đúng | Phao nổi | Được sử dụng để lưu trữ dữ liệu số dấu phẩy động | - 1,79E + 308 đến -2,23E-308, 0 và 2,23E-308 đến 1,79E + 308 |
thực tế | Được sử dụng để lưu trữ dữ liệu số dấu phẩy động | - 3,40E + 38 đến -1,18E - 38, 0 và 1,18E - 38 đến 3,40E + 38 | |
Ngày và giờ | ngày | Được sử dụng để xác định ngày trong SQL Server. | Cú pháp: ngày |
smalldatetime | Được sử dụng để xác định một ngày được kết hợp với một thời gian trong ngày mà thời gian dựa trên một ngày 24 giờ, với giây luôn là 0 (: 00) và không có giây phân số. | Cú pháp: smalldatetime | |
ngày giờ | Được sử dụng để xác định ngày được kết hợp với thời gian trong ngày với giây phân số dựa trên đồng hồ 24 giờ. | Cú pháp: datetime | |
datetime2 | datetime2 là một phần mở rộng của hiện tại ngày giờ loại có độ chính xác phân số mặc định lớn hơn, phạm vi ngày nhỏ hơn. | Cú pháp: datetime2 | |
datetimeoffset | Được sử dụng để xác định ngày được kết hợp với thời gian trong ngày có nhận biết múi giờ. Nó dựa trên đồng hồ 24 giờ. | Cú pháp: datetimeoffset | |
thời gian | Được sử dụng để xác định thời gian trong ngày. | Cú pháp: time | |
Chuỗi ký tự | char | Được sử dụng để lưu trữ các ký tự có kích thước cố định. | char[( n )] trong đó giá trị n thay đổi từ 1 - 8.000 |
varchar | Được sử dụng để lưu trữ các ký tự có độ dài thay đổi. | varchar [( n | tối đa)] trong đó giá trị n thay đổi từ 1-8000 và bộ nhớ tối đa được phép là 2GB. | |
bản văn | Dùng để đựng vdữ liệu không phải Unicode có độ dài ariable | Độ dài chuỗi tối đa cho phép - 2 ^ 31-1 (2.147.483.647) | |
Chuỗi ký tự Unicode | nchar | Được sử dụng để lưu trữ các ký tự có kích thước cố định. | nchar[(n)] trong đó giá trị n thay đổi từ 1-4000 |
nvarchar | Được sử dụng để lưu trữ các ký tự có độ dài thay đổi. | varchar [( n | tối đa)] trong đó giá trị n thay đổi từ 1-4000 và bộ nhớ tối đa được phép là 2GB. | |
ntext | Được sử dụng để lưu trữ dữ liệu Unicode có độ dài thay đổi | Độ dài chuỗi tối đa cho phép - 2 ^ 30-1 (2.147.483.647) | |
Chuỗi nhị phân | nhị phân | Được sử dụng để lưu trữ các kiểu dữ liệu nhị phân có độ dài cố định | nhị phân[( n )] trong đó giá trị n thay đổi từ 1 - 8.000 |
varbinary | Được sử dụng để lưu trữ các kiểu dữ liệu nhị phân có độ dài cố định | varbinary[( n )] trong đó n vale thay đổi từ 1-8000 và dung lượng lưu trữ tối đa cho phép là 2 ^ 31-1 byte. | |
hình ảnh | Được sử dụng để lưu trữ dữ liệu nhị phân có độ dài thay đổi | 0 - 2 ^ 31-1 (2,147,483,647) byte | |
Các kiểu dữ liệu khác | Nó là kiểu dữ liệu cho các tham số OUTPUT của thủ tục được lưu trữ hoặc các biến có chứa tham chiếu đến con trỏ. | - | |
lộn xộn | Được sử dụng để hiển thị các số nhị phân duy nhất, được tạo tự động trong cơ sở dữ liệu. | - | |
thứ bậc | Được sử dụng để biểu thị vị trí trong hệ thống phân cấp. | - | |
định danh duy nhất | Là một GUID 16 byte. | Cú pháp:định danh duy nhất | |
sql_variant | Được sử dụng để lưu trữ các giá trị của nhiều kiểu dữ liệu được SQL Server hỗ trợ | Cú pháp: sql_variant | |
xml | Được sử dụng để lưu trữ kiểu dữ liệu XML. | xml ([CONTENT | DOCUMENT] xml_schemacollection) | |
Các loại hình học không gian | Được sử dụng để biểu diễn dữ liệu trong một hệ tọa độ Euclid (phẳng). | - | |
Các loại địa lý không gian | Được sử dụng để lưu trữ dữ liệu hình elip (hình tròn), chẳng hạn như kinh độ và vĩ độ GPS. | - | |
bàn | Được sử dụng để lưu trữ một tập hợp kết quả để xử lý sau này | - |
Tiếp theo, trong bài này chúng ta hãy hiểu các loại khóa và ràng buộc khác nhau trong cơ sở dữ liệu.
Các loại khóa khác nhau trong cơ sở dữ liệu
Sau đây là các loại khóa khác nhau được sử dụng trong cơ sở dữ liệu:
- Khóa ứng viên - Khóa ứng viên là một tập hợp các thuộc tính có thể xác định duy nhất một bảng. Một bảng có thể có nhiều hơn một khóa ứng viên và trong số các khóa ứng viên đã chọn, một khóa được chọn làm Khóa chính.
- Chìa khóa siêu cấp - Tập hợp các thuộc tính có thể xác định duy nhất một bộ giá trị. Vì vậy, khóa ứng viên, khóa duy nhất và khóa chính là siêu khóa, nhưng ngược lại thì không đúng.
- Khóa chính - Khóa chính được sử dụng để xác định duy nhất mọi bộ giá trị.
- Khóa thay thế - Khóa thay thế là những khóa ứng viên không được chọn làm khóa chính.
- Khóa duy nhất- Các khóa duy nhất tương tự như khóa chính, nhưng cho phép một giá trị NULL duy nhất trong cột.
- Khóa ngoài - Một thuộc tính chỉ có thể nhận các giá trị hiện tại làm giá trị của một số thuộc tính khác, là khóa ngoại cho thuộc tính mà nó tham chiếu đến.
- Tổ hợp phím- Khóa tổng hợp là sự kết hợp của hai hoặc nhiều cột xác định từng bộ mã duy nhất.
Các ràng buộc được sử dụng trong cơ sở dữ liệu
Ràng buộc được sử dụng trong cơ sở dữ liệu để chỉ định các quy tắc cho dữ liệu được lưu trữ trong bảng. Các loại khác nhau của ràng buộc trong SQL như sau:
CÓ GIÁ TRỊ
Ràng buộc NOT NULL đảm bảo rằng một cột không thể có giá trị NULL.
Thí dụ
TẠO BẢNG StudentInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000)) - KHÔNG NULL trên ALTER TABLE ALTER TABLE StudentsInfo ALTER COLUMN PhoneNumber int NOT NULL
ĐỘC NHẤT
Ràng buộc này đảm bảo rằng tất cả các giá trị trong một cột là duy nhất.
Thí dụ
--UNIQUE trên Create Table CREATE TABLE StudentsInfo (StudentID int NOT NULL UNIQUE, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar ( 8000)) --UNIQUE trên nhiều cột TẠO BẢNG BẢNG SINH VIÊN (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000) CONSTRAINT UC_Student_Info UNIQUE (StudentID, PhoneNumber)) --UNIQUE trên ALTER TABLE ALTER TABLE StudentsInfo THÊM DUY NHẤT (StudentID) --Để thả một ràng buộc DUY NHẤT ALTER TABLE StudentsInfo DROP CONSTRAINT UC_Student_Info
KIỂM TRA
Ràng buộc CHECK đảm bảo rằng tất cả các giá trị trong một cột thỏa mãn một điều kiện cụ thể.
Thí dụ
--CHECK Ràng buộc trên CREATE TABLE CREATE TABLE StudentsInfo (StudentID int NOT NULL, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar ( 8000) KIỂM TRA (Quốc gia = 'Ấn Độ')) - KIỂM TRA Ràng buộc trên nhiều cột TẠO BẢNG StudentInfo (StudentID int NOT NULL, StudentName varchar8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000) CHECK (Country = 'India' AND City = 'Hyderabad')) --CHECK Ràng buộc trên ALTER TABLE ALTER TABLE StudentsInfo THÊM KIỂM TRA (Quốc gia = 'Ấn Độ') --Để đưa ra đặt tên cho BẢNG BÁO CÁO Ràng buộc KIỂM TRA Học sinhInfo THÊM ĐỐI TƯỢNG KIỂM TRA Tên địa chỉ Kiểm tra (Quốc gia = 'Ấn Độ') --Để bỏ BẢNG BÁO GIÁ Ràng buộc CHECK Sinh viênInfo DROP CONSTRAINT CheckConstraintName
MẶC ĐỊNH
Ràng buộc DEFAULT bao gồm một tập hợp các giá trị mặc định cho một cột khi không có giá trị nào được chỉ định.
Thí dụ
Ràng buộc --DEFAULT trên CREATE TABLE CREATE TABLE StudentsInfo (StudentID int, StudentName varchar (8000) NOT NULL, ParentName varchar (8000), PhoneNumber int, AddressofStudent varchar (8000) NOT NULL, City varchar (8000), Country varchar (8000) DEFAULT 'India') - Ràng buộc trên ALTER TABLE ALTER TABLE StudentsInfo ADD CONSTRAINT defau_Country DEFAULT 'India' FOR Country --Để loại bỏ Ràng buộc mặc định ALTER TABLE StudentsInfo ALTER COLUMN Country DROP defau_Country
MỤC LỤC
Các Hạn chế INDEX được dùng để tạo các chỉ mục trong bảng, qua đó bạn có thể tạo và lấy dữ liệu từ cơ sở dữ liệu rất nhanh chóng.
Cú pháp
--Tạo Chỉ mục trong đó cho phép các giá trị trùng lặp TẠO CHỈ SỐ Tên chỉ mục TRÊN Tên bảng (Cột1, Cột2, ... CộtN) - Tạo Chỉ mục không cho phép các giá trị trùng lặp TẠO CHỈ SỐ DUY NHẤT Tên chỉ mục TRÊN Tên bảng (Cột1, Cột2, ... CộtN)
Thí dụ
TẠO CHỈ SỐ IMPEX_StudentName ON StudentsInfo (StudentName) - Để xóa chỉ mục trong bảng DROP INDEX StudentsInfo.idex_StudentName
Tiếp tục trong bài viết này về hướng dẫn SQL Server, bây giờ chúng ta hãy hiểu các lệnh Ngôn ngữ thao tác dữ liệu khác nhau được sử dụng trong Microsoft SQL Server.
Lệnh ngôn ngữ thao tác dữ liệu
Phần này của bài viết sẽ trình bày tất cả các lệnh mà bạn có thể thao tác với cơ sở dữ liệu. Các lệnh như sau:
Ngoài các lệnh này, còn có các toán tử / hàm thao tác khác như:
SỬ DỤNG
Câu lệnh này được sử dụng để chọn cơ sở dữ liệu để bắt đầu thực hiện các hoạt động khác nhau trên nó.
Cú pháp
SỬ DỤNG DatabaseName
Thí dụ
SỬ DỤNG Học sinh
CHÈN VÀO
Các INSERT INTO tuyên bố được sử dụng để chèn các bản ghi mới vào một bảng hiện có.
Cú pháp
INSERT INTO TableName (Column1, Column2, Column3, ..., ColumnN) CÁC GIÁ TRỊ (value1, value2, value3, ...) -Nếu bạn không muốn đề cập đến các tên cột thì hãy sử dụng cú pháp dưới đây CHÈN VÀO CÁC GIÁ TRỊ Tên cột (Giá trị1, Giá trị2, Giá trị 3, ...)
Thí dụ
INSERT INTO StudentsInfo (StudentID, StudentName, ParentName, PhoneNumber, AddressofStudent, City, Country) GIÁ TRỊ ('06', 'Sanjana', 'Kapoor', '9977331199', 'Buffalo Street House No 10', 'Kolkata', 'India ') CHÈN VÀO CÁC GIÁ TRỊ CỦA SINH VIÊN (' 07 ',' Vishal ',' Mishra ',' 9876509712 ',' Nice Road 15 ',' Pune ',' India ')
CẬP NHẬT
Câu lệnh UPDATE được sử dụng để sửa đổi hoặc cập nhật các bản ghi đã có trong bảng.
Cú pháp
CẬP NHẬT TableName SET Column1 = Value1, Column2 = Value2, ... WHERE Điều kiện
Thí dụ
CẬP NHẬT StudentInfo SET StudentName = 'Aahana', City = 'Ahmedabad' WHERE StudentID = 1
XÓA BỎ
Câu lệnh DELETE được sử dụng để xóa các bản ghi hiện có trong bảng.
Cú pháp
XÓA khỏi TableName WHERE Tình trạng
Thí dụ
XÓA khỏi StudentsInfo WHERE StudentName = 'Aahana'
ĐI
Câu lệnh MERGE được sử dụng để thực hiện các thao tác INSERT, UPDATE và DELETE trên một bảng cụ thể, nơi cung cấp bảng nguồn. Tham khảo bên dưới.
Cú pháp
MERGE TagretTableName SỬ DỤNG SourceTableName TRÊN MergeCondition KHI ĐƯỢC KẾT HỢP THÌ Update_Statement KHI CHƯA ĐƯỢC KẾT HỢP THÌ Insert_Statement KHI CHƯA ĐƯỢC PHÉP THEO NGUỒN SAU KHI XÓA
Thí dụ
Để hiểu câu lệnh MERGE, hãy coi các bảng sau là bảng Nguồn và bảng Mục tiêu.
Bảng Nguồn:
Thẻ học sinh | Tên học sinh | Điểm |
một | tôi ghét | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
Bảng mục tiêu:
Thẻ học sinh | Tên học sinh | Điểm |
một | tôi ghét | 87 |
2 | Manasa | 67 |
3 | Saurabh | 55 |
MỤC TIÊU MERGE SampleTargetTable SỬ DỤNG NGUỒN SampleSourceTable BẬT (TARGET.StudentID = SOURCE.StudentID) KHI ĐƯỢC KẾT HỢP VÀ TARGET.StudentName SOURCE. KHI KHÔNG ĐƯỢC ĐỐI VỚI MỤC TIÊU THÌ CHÈN (StudentID, StudentName, Marks) CÁC GIÁ TRỊ (SOURCE.StudentID, SOURCE.StudentName, SOURCE.Marks) KHI KHÔNG ĐƯỢC PHÉP THEO NGUỒN SAU KHI XÓA
Đầu ra
Thẻ học sinh | Tên học sinh | Điểm |
một | tôi ghét | 87 |
2 | Manasa | 92 |
4 | Anay | 74 |
LỰA CHỌN
Các Câu lệnh SELECT được sử dụng để chọn dữ liệu từ cơ sở dữ liệu, bảng hoặc dạng xem. Dữ liệu trả về được lưu trữ trong một bảng kết quả, được gọi là tập hợp kết quả .
Cú pháp
SELECT Column1, Column2, ... ColumN FROM TableName - (*) được sử dụng để chọn tất cả từ bảng SELECT * FROM table_name - Để chọn số lượng bản ghi để trả về, sử dụng: SELECT TOP 3 * FROM TableName
Thí dụ
- Để chọn vài cột SELECT StudentID, StudentName FROM StudentsInfo - (*) được dùng để chọn tất cả từ bảng SELECT * FROM StudentsInfo - Để chọn số lượng bản ghi cần trả về, sử dụng: CHỌN ĐẦU 3 * FROM StudentsInfo
Chúng ta cũng có thể sử dụng các từ khóa sau với câu lệnh SELECT:
DISTINCT
Từ khóa DISTINCT được sử dụng với câu lệnh SELECT để chỉ trả về các giá trị khác nhau.
Cú pháp
CHỌN DISTINCT Column1, Column2, ... ColumnN FROM TableName
Thí dụ
CHỌN SỐ ĐIỆN THOẠI DISTINCT TỪ StudentsInfo
ĐẶT BỞI
Câu lệnh này được sử dụng để sắp xếp các kết quả cần thiết theo thứ tự tăng dần hoặc giảm dần. Theo mặc định, kết quả được lưu trữ theo thứ tự tăng dần. Tuy nhiên, nếu bạn muốn nhận được kết quả theo thứ tự giảm dần, bạn phải sử dụng DESC từ khóa.
Cú pháp
CHỌN Column1, Column2, ... ColumnN from TableName ORDER BY Column1, Column2, ... ASC | DESC
Thí dụ
- Chọn tất cả học sinh từ bảng 'StudentsInfo' được sắp xếp theo ParentName: CHỌN * TỪ LỆNH CỦA StudentsInfo THEO ParentName - Chọn tất cả học sinh từ bảng 'StudentsInfo' được sắp xếp theo ParentName theo thứ tự giảm dần: CHỌN * TỪ LỆNH CỦA StudentsInfo THEO ParentName DESC - Chọn tất cả học sinh từ bảng 'StudentsInfo' được sắp xếp theo ParentName và StudentName: CHỌN * TỪ LỆNH CỦA StudentInfo THEO ParentName, StudentName / * Chọn tất cả học sinh từ bảng 'StudentsInfo' được sắp xếp theo ParentName theo thứ tự giảm dần và StudentName theo thứ tự tăng dần: * / SELECT * ĐẶT HÀNG TỪ StudentInfo THEO ParentName ASC, StudentName DESC
NHÓM THEO
Câu lệnh này được sử dụng với Chức năng tổng hợp để nhóm tập hợp kết quả theo một hoặc nhiều cột.
Cú pháp
CHỌN Column1, Column2, ..., ColumnN from TableName WHERE Điều kiện NHÓM THEO (các) Tên cột Thứ tự theo (các) Tên cột
Thí dụ
- Liệt kê số lượng sinh viên từ mỗi thành phố. CHỌN ĐẾM (StudentID), Thành phố TỪ NHÓM StudentInfo THEO Thành phố
BỘ NHÓM
TẬP HỢP NHÓM đã được giới thiệu trong SQL Server 2008, được sử dụng để tạo tập hợp kết quả có thể được tạo bởi ĐOÀN KẾT TẤT CẢ của nhiều mệnh đề GROUP BY đơn giản.
Cú pháp
CHỌN (các) Tên Cột TỪ NHÓM Tên Bảng BẰNG BỘ NHÓM ((Các) Tên Cột)
Thí dụ
CHỌN StudentID, StudentName, COUNT (City) từ StudentsInfo Group BẰNG BỘ NHÓM ((StudentID, StudentName, City), (StudentID), (StudentName), (City))
ĐANG CÓ
Mệnh đề này được sử dụng trong trường hợp Từ khóa WHERE không thể được sử dụng.
vai trò và trách nhiệm của quản trị viên linux
Cú pháp
CHỌN (Các) Tên Cột TỪ Tên Bảng Ở đó Điều kiện NHÓM THEO (Các) Tên Tên Có Thứ tự Điều kiện Theo (Các) Tên Cột
Thí dụ
CHỌN ĐẾM (StudentID), Thành phố TỪ NHÓM StudentsInfo THEO Thành phố CÓ ĐẾM ĐẾM (StudentID)> 2 LỆNH THEO ĐẾM (StudentID)
VÀO
Từ khóa INTO có thể được sử dụng với Câu lệnh SELECT để sao chép dữ liệu từ bảng này sang bảng khác. À, bạn có thể hiểu các bảng này là bảng tạm thời. Các bảng tạm thời thường được sử dụng để thực hiện các thao tác trên dữ liệu có trong bảng mà không làm ảnh hưởng đến bảng gốc.
Cú pháp
CHỌN * VÀO NewTable [IN ExternalDB] TỪ OldTable WHERE Điều kiện
Thí dụ
- Để tạo bản sao lưu của bảng 'StudentsInfo' CHỌN * INTO StudentsBackup from StudentsInfo - Để chỉ chọn một vài cột từ StudentInfo SELECT StudentName, PhoneNumber INTO StudentsDetails FROM StudentsInfo SELECT * INTO PuneStudents FROM StudentsInfo WHERE City = 'Pune'
CUBE
CUBE là một phần mở rộng của Mệnh đề GROUP BY . Nó cho phép bạn tạo tổng phụ cho tất cả các kết hợp của các cột nhóm được chỉ định trong mệnh đề GROUP BY.
Cú pháp
CHỌN (Các) Tên Cột TỪ NHÓM Tên Bảng BẰNG CUBE (Tên Cột1, Tên Cột2, ....., Tên Cột)
Thí dụ
CHỌN ID Student, COUNT (Thành phố) TỪ NHÓM StudentInfo THEO LỆNH CUBE (StudentID) THEO StudentID
ROLLUP
ROLLUP là phần mở rộng của mệnh đề GROUP BY. Điều này cho phép bạn bao gồm các hàng bổ sung đại diện cho tổng phụ. Chúng được gọi là hàng siêu tổng hợp cùng với hàng tổng lớn.
Cú pháp
CHỌN (các) Tên Cột TỪ NHÓM Tên Bảng BẰNG ROLLUP (Tên Cột 1, Tên Cột 2, ....., Tên Cột)
Thí dụ
CHỌN ID Student, COUNT (Thành phố) TỪ NHÓM StudentsInfo THEO ROLLUP (StudentID)
BÙ LẠI
Mệnh đề OFFSET được sử dụng với SELECT và ORDER BY tuyên bố để truy xuất một loạt các bản ghi. Nó phải được sử dụng với mệnh đề ORDER BY vì nó không thể được sử dụng riêng. Ngoài ra, phạm vi mà bạn đề cập phải bằng hoặc lớn hơn 0. Nếu bạn đề cập đến giá trị âm, thì phạm vi đó sẽ hiển thị lỗi.
Cú pháp
CHỌN Tên Cột) TỪ Tên Bảng ĐÓ ĐIỀU KIỆN ĐẶT HÀNG THEO (Các) Tên Tên Cột TẮT DÒNG HàngToS Bỏ qua ROWS
Thí dụ
Xem xét một cột mới Điểm bên trong StudentInfo bàn.
CHỌN Tên Học Sinh, Tên Phụ Huynh TỪ LỆNH CỦA StudentInfo BẰNG Dấu hiệu OFFSET 1 ROWS
TÌM KIẾM
Mệnh đề FETCH được sử dụng để trả về một tập hợp một số hàng. Nó phải được sử dụng cùng với mệnh đề OFFSET.
Cú pháp
CHỌN Tên Cột) TỪ Tên Bảng Ở đó Điều kiện ĐẶT HÀNG THEO (Các) Tên Tên Hàng TẮT ĐẶT HÀNGToS Bỏ qua SỐ TIẾP THEO
Thí dụ
CHỌN Tên Sinh Viên, Tên Mẹ Từ Thứ Tự ORDER trongfo của Sinh Viên BẰNG Dấu Hiệu OFFSET 1 ROWS CHỈ TỚI 1 ROWS TIẾP THEO
HÀNG ĐẦU
Mệnh đề TOP được sử dụng với câu lệnh SELECT để đề cập đến số lượng bản ghi cần trả về.
Cú pháp
CHỌN SỐ ĐẦU Cột Tên (Các) Tên TỪ Tên Bảng Ở ĐÂU Tình trạng
Thí dụ
CHỌN TOP 3 * TỪ StudentsInfo
TRỤC
PIVOT được sử dụng để xoay các hàng thành giá trị cột và chạy tổng hợp khi được yêu cầu trên các giá trị cột còn lại.
Cú pháp
CHỌN Tên cột không phân chia vị trí, [Tên cột được phân chia đầu tiên] Tên cột AS, [Tên cột được phân chia thứ hai] Tên cột AS, [Tên cột được phân chia thứ ba] Tên cột được phân chia cuối cùng, ... [Tên cột được phân chia cuối cùng] Tên cột AS từ (truy vấn CHỌN tạo ra dữ liệu) AS [bí danh cho truy vấn ban đầu] PIVOT ([AggregationFunction] (ColumName) FOR [ColumnName của cột có giá trị sẽ trở thành tiêu đề cột] IN ([Tên cột được phân chia đầu tiên], [Tên cột được chia vòng thứ hai], [Tên cột được phân chia thứ ba] ... [cuối cùng cột xoay])) AS [bí danh cho Bảng tổng hợp]
Thí dụ
Để lấy ví dụ chi tiết, bạn có thể tham khảo bài viết của tôi về SQL PIVOT và UNPIVOT . Tiếp theo trong Hướng dẫn SQL Server này, chúng ta hãy xem xét các toán tử khác nhau được Microsoft SQL Server hỗ trợ.
Các nhà khai thác
Các các loại toán tử khác nhau được hỗ trợ bởi SQL Server như sau:
- Toán tử số học
- Người điều hành nhiệm vụ
- Toán tử Bitwise
- Toán tử so sánh
- Toán tử phức hợp
- Toán tử logic
- Toán tử phân giải phạm vi
- Đặt toán tử
- Các toán tử nối chuỗi
Hãy để chúng tôi thảo luận về từng cái một.
Toán tử số học
Nhà điều hành | Ý nghĩa | Cú pháp |
+ | Thêm vào | biểu thức + biểu thức |
- | Phép trừ | biểu thức - biểu thức |
* | Phép nhân | biểu thức * biểu thức |
/ | Divison | biểu thức / biểu thức |
% | Vừa phải | biểu thức% biểu thức |
Người điều hành nhiệm vụ
Nhà điều hành | Ý nghĩa | Cú pháp |
= | Gán giá trị cho một biến | biến = 'giá trị' |
Toán tử Bitwise
Nhà điều hành | Ý nghĩa | Cú pháp |
& (Bitwise AND) | Được sử dụng để thực hiện phép toán AND logic bit giữa hai giá trị số nguyên. | biểu thức & biểu hiện |
& = (Bitwise AND Assignment) | Được sử dụng để thực hiện phép toán AND logic bit giữa hai giá trị số nguyên. Nó cũng đặt một giá trị cho đầu ra của hoạt động. | biểu thức & = biểu thức |
| (Bitwise HOẶC) | Được sử dụng để thực hiện phép toán OR logic theo bit giữa hai giá trị nguyên khi được dịch sang biểu thức nhị phân trong các câu lệnh Transact-SQL. | biểu thức | biểu hiện |
| = (Bitwise HOẶC Phép gán) | Được sử dụng để thực hiện phép toán OR logic theo bit giữa hai giá trị nguyên khi được dịch sang biểu thức nhị phân trong các câu lệnh Transact-SQL. Nó cũng đặt một giá trị cho đầu ra của hoạt động. | biểu thức | = biểu thức |
^ (Độc quyền Bitwise HOẶC) | Được sử dụng để thực hiện phép toán OR loại trừ theo bit giữa hai giá trị số nguyên. | biểu thức ^ biểu thức |
^ = (Độc quyền hoặc chuyển nhượng Bitwise) | Được sử dụng để thực hiện phép toán OR loại trừ theo bit giữa hai giá trị số nguyên. Nó cũng đặt một giá trị cho đầu ra của hoạt động. | biểu thức ^ = biểu thức |
~ (Bitwise KHÔNG) | Được sử dụng để thực hiện phép toán NOT logic theo bit trên một giá trị số nguyên. | ~ biểu thức |
Toán tử so sánh
Nhà điều hành | Ý nghĩa | Cú pháp |
= | Tương đương với | biểu thức = biểu thức |
> | Lớn hơn | biểu thức> biểu thức |
< | Ít hơn | biểu hiện |
> = | Lớn hơn hoặc bằng | biểu thức> = biểu thức |
<= | Ít hơn hoặc bằng | biểu hiện<= expression |
Không bằng | biểu cảm | |
! = | Không bằng | biểu thức! = biểu thức |
!< | Không ít hơn | biểu hiện ! |
!> | Không lớn hơn | biểu thức!> biểu thức |
Toán tử phức hợp
Nhà điều hành | Ý nghĩa | Cú pháp |
+ = | Được sử dụng để thêm giá trị vào giá trị ban đầu và đặt giá trị ban đầu vào kết quả. | biểu thức + = biểu thức |
- = | Được sử dụng để trừ một giá trị khỏi giá trị ban đầu và đặt giá trị ban đầu thành kết quả. | biểu thức - = biểu thức |
* = | Dùng để nhân giá trị với giá trị ban đầu và đặt giá trị ban đầu thành kết quả. | biểu thức * = biểu thức |
/ = | Được sử dụng để chia một giá trị từ giá trị ban đầu và đặt giá trị ban đầu cho kết quả. | biểu thức / = biểu thức |
% = | Được sử dụng để chia một giá trị từ giá trị ban đầu và đặt giá trị ban đầu cho kết quả. | biểu thức% = biểu thức |
& = | Được sử dụng để thực hiện thao tác theo bitwise AND và đặt giá trị ban đầu cho kết quả. | biểu thức & = biểu thức |
^ = | Được sử dụng để thực hiện thao tác OR loại trừ bit và đặt giá trị ban đầu cho kết quả. | biểu thức ^ = biểu thức |
| = | Được sử dụng để thực hiện thao tác OR bitwise và đặt giá trị ban đầu cho kết quả. | biểu thức | = biểu thức |
Toán tử logic
Nhà điều hành | Ý nghĩa | Cú pháp |
TẤT CẢ | Trả về TRUE nếu tất cả các tập hợp so sánh là TRUE. | scalar_expression! = ALL (truy vấn con) |
VÀ | Trả về TRUE nếu cả hai biểu thức đều TRUE. | boolean_expression VÀ boolean_expression |
BẤT KÌ | Trả về TRUE nếu bất kỳ một trong số các phép so sánh là TRUE. | biểu thức vô hướng! = {ANY} (truy vấn con) |
GIỮA | Trả về TRUE nếu một toán hạng nằm trong một phạm vi. | biểu thức mẫu [KHÔNG] GIỮA biểu thức đầu ra VÀ biểu thức cuối |
TỒN TẠI | Trả về TRUE nếu truy vấn con chứa bất kỳ hàng nào. | TỒN TẠI (truy vấn phụ) |
TRONG | Trả về TRUE nếu một toán hạng bằng một trong danh sách các biểu thức. | test_expression [NOT] IN (truy vấn con | biểu thức [,… n]) |
Trả về TRUE nếu một toán hạng khớp với một mẫu. | match_expression [NOT] LIKE mẫu [ESCAPE Escape_character] | |
KHÔNG PHẢI | Đảo ngược giá trị của bất kỳ toán tử boolean nào. | [NOT] boolean_expression |
HOẶC LÀ | Trả về TRUE nếu một trong hai biểu thức boolean là TRUE. | boolean_expression HOẶC boolean_expression |
MỘT SỐ | Trả về TRUE nếu một số trong tập hợp các phép so sánh là TRUE. | biểu thức vô hướng<= { SOME} ( subquery ) |
Toán tử phân giải phạm vi
Nhà điều hành | Ý nghĩa | Thí dụ |
:: | Cung cấp quyền truy cập vào các thành viên tĩnh của kiểu dữ liệu phức hợp. Kiểu dữ liệu kết hợp là những kiểu dữ liệu chứa nhiều phương thức và kiểu dữ liệu đơn giản. Các kiểu dữ liệu tổng hợp Những kiểu này bao gồm các kiểu CLR được tích hợp sẵn và các kiểu SQLCLR tùy chỉnh do người dùng xác định (UDT). | DECLARE @hid hierarchyid SELECT @hid = hierarchyid :: GetRoot () PRINT @ hid.ToString () |
Đặt toán tử
Chủ yếu có ba hoạt động tập hợp:LIÊN HIỆP,GIAO NHAU,DẤU TRỪ. Bạn có thể tham khảo hình bên dưới để hiểu các thao tác thiết lập trong SQL. Tham khảo hình ảnh bên dưới:
Nhà điều hành | Ý nghĩa | Cú pháp |
LIÊN HIỆP | Toán tử UNION được sử dụng để kết hợp tập kết quả của hai hoặc nhiều câu lệnh SELECT. | CHỌN (các) Tên Cột TỪ Bảng1 LIÊN HIỆP CHỌN (các) Tên Cột TỪ Bảng2 |
GIAO NHAU | Mệnh đề INTERSECT được sử dụng để kết hợp haiLỰA CHỌNvà trả về phần giao nhau của các tập dữ liệu của cả hai câu lệnh SELECT. | CHỌN Cột1, Cột2…. TỪ TableName Điều kiện WHERE GIAO NHAU CHỌN Cột1, Cột2…. TỪ TableName Điều kiện WHERE |
NGOẠI TRỪ | Toán tử EXCEPT trả về các bộ giá trị được trả về bởi hoạt động SELECT đầu tiên và không được trả về bởi hoạt động SELECT thứ hai. | CHỌN Tên cột TỪ TableName NGOẠI TRỪ CHỌN Tên cột TỪ TableName |
Toán tử chuỗi
Nhà điều hành | Ý nghĩa | Cú pháp / Ví dụ |
+ (Nối chuỗi) | Nối hai hoặc nhiều chuỗi ký tự hoặc chuỗi nhị phân, cột hoặc kết hợp chuỗi và tên cột thành một biểu thức duy nhất | biểu thức + biểu thức |
+ = (Nối chuỗi) | Được sử dụng để nối hai chuỗi và đặt chuỗi thành kết quả của phép toán. | biểu thức + = biểu thức |
% (Các ký tự đại diện để khớp) | Được sử dụng để khớp với bất kỳ chuỗi nào không hoặc nhiều ký tự. | Ví dụ: 'sample%' |
[] (Các ký tự đại diện để khớp) | Được sử dụng để so khớp một ký tự trong phạm vi đã chỉ định hoặc tập hợp được chỉ định giữa dấu ngoặc []. | Ví dụ: m [n-z]% ’ |
[^] (Các ký tự đại diện để khớp) | Được sử dụng để so khớp một ký tự không nằm trong phạm vi hoặc tập hợp được chỉ định giữa các dấu ngoặc vuông. | Ví dụ: ‘Al [^ a]%’ |
_ (Ký tự đại diện để khớp) | Được sử dụng để so khớp một ký tự trong thao tác so sánh chuỗi | test_expression [NOT] IN (truy vấn con | biểu thức [,… n]) |
Tổng hợp Chức năng
Khác nhau Chức năng tổng hợp được hỗ trợ bởi SQL Server như sau:
Chức năng | Sự miêu tả | Cú pháp | Thí dụ |
TỔNG() | Được sử dụng để trả về tổng của một nhóm giá trị. | CHỌN SUM (Tên cột) TỪ Tên Bảng | CHỌN SUM (Marks) TỪ StudentsInfo |
ĐẾM() | Trả về số hàng dựa trên điều kiện hoặc không có điều kiện. | CHỌN ĐẾM (ColumnName) TỪ TableName WHERE Điều kiện | CHỌN COUNT (StudentID) TỪ StudentsInfo |
AVG () | Dùng để tính giá trị trung bình của một cột số. | CHỌN AVG (Tên cột) TỪ Tên Bảng | CHỌN AVG (Marks) TỪ StudentsInfo |
MIN () | Hàm này trả về giá trị nhỏ nhất của một cột. | CHỌN MIN (ColumnName) TỪ TableName | CHỌN MIN (Marks) TỪ StudentsInfo |
MAX () | Trả về giá trị lớn nhất của một cột. | CHỌN TỐI ĐA (Tên cột) TỪ Tên Bảng | CHỌN TỐI ĐA (Điểm) TỪ StudentsInfo |
ĐẦU TIÊN() | Dùng để trả về giá trị đầu tiên của cột. | CHỌN ĐẦU TIÊN (Tên cột) TỪ Tên Bảng | CHỌN (Điểm) ĐẦU TIÊN TỪ StudentsInfo |
CUỐI CÙNG() | Hàm này trả về giá trị cuối cùng của cột. | CHỌN CUỐI (ColumnName) TỪ TableName | CHỌN (Marks) CUỐI CÙNG TỪ StudentsInfo |
Chức năng do người dùng xác định
Microsoft SQL Server cho phép người dùng tạo các chức năng do người dùng xác định là các quy trình. Các quy trình này chấp nhận các tham số, có thể thực hiện các hành động đơn giản đến phức tạp và trả về kết quả của hành động cụ thể đó dưới dạng một giá trị. Ở đây, giá trị trả về có thể là một giá trị vô hướng đơn lẻ hoặc một tập kết quả hoàn chỉnh.
Bạn có thể sử dụng các hàm do người dùng xác định để:
- Cho phép lập trình mô-đun
- Giảm lưu lượng mạng
- Cho phép thực hiện các truy vấn nhanh hơn
Ngoài ra, bạn có thể tạo các loại hàm do người dùng xác định khác nhau. Họ đang:
- Chức năng vô hướng: Đã từngtrả về một giá trị dữ liệu duy nhất của kiểu được xác định trong mệnh đề RETURNS.
- Các chức năng được định giá bằng bảng: Đã từngtrả lại mộtbànloại dữ liệu.
- Chức năng hệ thống: Một loạt các chức năng hệ thống được SQL Server cung cấp để thực hiện các hoạt động khác nhau.
Chà, ngoài các hàm do người dùng định nghĩa, có một loạt các hàm tích hợp sẵn trong SQL Server có thể được sử dụng để thực hiện nhiều tác vụ khác nhau. Tiếp tục trong bài viết này về hướng dẫn SQL Server, bây giờ chúng ta hãy hiểu các truy vấn lồng nhau là gì.
Truy vấn lồng nhau
Truy vấn lồng nhau là những truy vấn có truy vấn bên ngoài và truy vấn con bên trong. Vì vậy, về cơ bản, truy vấn con là một truy vấn được lồng trong một truy vấn khác, chẳng hạn như SELECT, INSERT, UPDATE hoặc DELETE. Tham khảo hình ảnh bên dưới:
Tiếp theo trong hướng dẫn SQL Server này, chúng ta hãy hiểu các kiểu nối khác nhau trong SQL.
Tham gia
được sử dụng để kết hợp các bộ giá trị từ hai hoặc nhiều bảng, dựa trên một cột có liên quan giữa các bảng. Có bốn loại liên kết:
- THAM GIA INNER: Trả về các bản ghi có giá trị phù hợp trong cả hai bảng.
- CHỖ NỐI BÊN TRÁI: Trả về các bản ghi từ bảng bên trái và cả những bản ghi thỏa mãn điều kiện từ bảng bên phải.
- THAM GIA ĐÚNG: Trả về các bản ghi từ bảng bên phải và cả những bản ghi thỏa mãn điều kiện từ bảng bên trái.
- THAM GIA ĐẦY ĐỦ: Trả về các bản ghi có khớp trong bảng bên trái hoặc bên phải.
Hãy xem xét bảng sau cùng với bảng StudentsInfo, để hiểu cú pháp của phép nối.
SubjectID | Thẻ học sinh | Tên chủ đề |
10 | 10 | Toán học |
2 | mười một | Vật lý |
3 | 12 | Hóa học |
THAM GIA INNER
Cú pháp
CHỌN (các) Tên cột TỪ Bảng1 INNER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
Thí dụ
CHỌN Môn học.SubjectID, StudentsInfo.StudentName TỪ Môn học INNER THAM GIA HSInfo TRÊN Môn học.StudentID = StudentsInfo.StudentID
CHỖ NỐI BÊN TRÁI
Cú pháp
CHỌN (các) Tên cột TỪ Bảng1 THAM GIA TRÁI Table2 TRÊN Table1.ColumnName = Table2.ColumnName
Thí dụ
CHỌN StudentInfo.StudentName, Subject.SubjectID TỪ StudentsInfo TRÁI THAM GIA Các môn học TRÊN StudentsInfo.SubjectID = Các môn học.SubjectID ĐẶT HÀNG THEO StudentsInfo.StudentName
THAM GIA QUYỀN
Cú pháp
CHỌN (các) Tên cột TỪ Bảng1 QUYỀN THAM GIA Table2 TRÊN Table1.ColumnName = Table2.ColumnName
Thí dụ
CHỌN StudentInfo.StudentName, Subject.SubjectID TỪ StudentsInfo QUYỀN THAM GIA Các môn học TRÊN StudentsInfo.SubjectID = Subject.SubjectID ĐẶT HÀNG CỦA HSInfo.StudentName
THAM GIA ĐẦY ĐỦ
Cú pháp
CHỌN (các) Tên cột TỪ Bảng1 FULL OUTER JOIN Table2 ON Table1.ColumnName = Table2.ColumnName
Thí dụ
SELECT StudentsInfo.StudentName, Subject.SubjectID FROM StudentsInfo FULL OUTER THAM GIA Các môn học TRÊN StudentsInfo.SubjectID = Các môn học.SubjectID ĐẶT HÀNG THEO HSInfo.StudentName
Tiếp theo, trong bài viết này về hướng dẫn SQL Server, chúng ta hãy hiểu các loại vòng lặp khác nhau được SQL Server hỗ trợ.
Vòng lặp
Các lệnh điều khiển luồng khác nhau như sau:
Hãy để chúng tôi thảo luận về từng cái một.
BEGIN..END
Các từ khóa này được sử dụng để bao gồm một loạt các câu lệnh SQL. Sau đó, nhóm câu lệnh SQL này có thể được thực thi.
Cú pháp
BEGIN StatementBlock END
PHÁ VỠ
Câu lệnh này được sử dụng để thoát khỏi vòng lặp WHILE hiện tại. Trong trường hợp, vòng lặp WHILE hiện tại được lồng bên trong một vòng lặp khác, thì câu lệnh BREAK chỉ thoát khỏi vòng lặp hiện tại và điều khiển được chuyển cho câu lệnh tiếp theo trong vòng lặp hiện tại. Câu lệnh BREAK thường được sử dụng bên trong câu lệnh IF.
Cú pháp
PHÁ VỠ
TIẾP TỤC
Câu lệnh CONTINUE được sử dụng để khởi động lại vòng lặp WHILE. Vì vậy, bất kỳ câu lệnh nào sau từ khóa CONTINUE sẽ bị bỏ qua.
Cú pháp
TIẾP TỤC
Ở đây, Nhãn là điểm mà sau đó quá trình xử lý bắt đầu nếu GOTO được nhắm mục tiêu đến nhãn cụ thể đó.
ĐI ĐẾN
Được sử dụng để thay đổi luồng thực thi đối với một nhãn. Các câu lệnh được viết sau từ khóa GOTO được bỏ qua và quá trình xử lý tiếp tục ở nhãn.
Cú pháp
Xác định nhãn: Nhãn: Thực hiện thay thế: Nhãn GOTO
Ở đây, Nhãn là điểm mà sau đó quá trình xử lý bắt đầu nếu GOTO được nhắm mục tiêu đến nhãn cụ thể đó.
NẾU KHÁC
Giống như bất kỳ ngôn ngữ lập trình nào khác, câu lệnh If-else trong SQL Server kiểm tra điều kiện và nếu điều kiện sai thì câu lệnh ‘else’ sẽ được thực thi.
Cú pháp
IF BooleanExpression StatementBlock [ELSE StatementBlock]
TRỞ VỀ
Được sử dụng để thoát vô điều kiện khỏi một truy vấn hoặc thủ tục. Vì vậy, các câu lệnh được viết sau mệnh đề RETURN sẽ không được thực thi.
Cú pháp
QUAY LẠI [Biểu thức số nguyên]
Ở đây, một giá trị số nguyên được trả về.
CHỜ
Luồng điều khiển WAITFOR được sử dụng để chặn việc thực hiện một thủ tục, giao dịch hoặc một lô được lưu trữ cho đến khi một câu lệnh cụ thể sửa đổi, trả về ít nhất một hàng hoặc một khoảng thời gian hoặc khoảng thời gian cụ thể trôi qua.
Cú pháp
WAITFOR (GetConversionGroupStatement)] [, thời gian chờ TIMEOUT]
Ở đâu,
- SỰ CHẬM TRỄ - Khoảng thời gian phải trôi qua
- TimeToPass - Prất nhiều thời gian để chờ đợi
- THỜI GIAN - Cácthời gian khi thủ tục được lưu trữ, giao dịch hoặc lô chạy.
- TimeToExecute - Cácthời gian mà câu lệnh WAITFOR kết thúc.
- RecieveStatement - ĐẾNcâu lệnh RECEIVE hợp lệ.
- GetConversionGroupStatement - ĐẾNcâu lệnh GET CONVERSATION GROUP hợp lệ.
- TIMEOUT hết thời gian - Chỉ định khoảng thời gian, tính bằng mili giây, để đợi một tin nhắn đến hàng đợi.
TRONG KHI
Vòng lặp này được sử dụng để thiết lập một điều kiện để thực hiện lặp lại một câu lệnh SQL cụ thể hoặc một khối câu lệnh SQL. Các câu lệnh được thực thi miễn là điều kiện mà người dùng đề cập là ĐÚNG. Ngay sau khi điều kiện không thành công, vòng lặp sẽ ngừng thực hiện.
Cú pháp
WHILE BooleanExpression StatementBlock
Bây giờ, các bạn đã biết các lệnh DML, hãy chuyển sang phần tiếp theo của chúng tatrong bài viết này về Hướng dẫn SQL, tức là các lệnh DCL.
Lệnh ngôn ngữ điều khiển dữ liệu (DCL)
Phần này của hướng dẫn SQL Server sẽ cung cấp cho bạn ý tưởng về lệnh được sử dụng để thực thi bảo mật cơ sở dữ liệu trong nhiều môi trường cơ sở dữ liệu người dùng. Các lệnh như sau:
BAN CHO
Lệnh GRANT được sử dụng để cung cấp quyền truy cập hoặc đặc quyền trên cơ sở dữ liệu và các đối tượng của nó cho người dùng.
Cú pháp
CẤP Tên đặc quyền TRÊN Tên đối tượng thành Tên vai trò [VỚI TÙY CHỌN CẤP]
Ở đâu,
- PrivilegeName - Là đặc quyền / quyền / quyền truy cập được cấp cho người dùng.
- Tên của môn học - Tên của một đối tượng cơ sở dữ liệu như TABLE / VIEW / STORED PROC.
- Tên tài khoản - Tên của người dùng được cấp quyền truy cập / quyền / đặc quyền.
- CÔNG CỘNG - Cấp quyền truy cập cho tất cả người dùng.
- RoleName - Tên của một tập hợp các đặc quyền được nhóm lại với nhau.
- VỚI LỰA CHỌN CẤP - Cung cấp cho người dùng quyền truy cập để cấp quyền cho người dùng khác.
Thí dụ
- Cấp quyền SELECT đối với bảng StudentsInfo cho người dùng1 CẤP CHỌN TRÊN StudentsInfo CHO người dùng1
THU HỒI
Lệnh REVOKE được sử dụng để rút các đặc quyền truy cập của người dùng được cấp bằng cách sử dụng lệnh GRANT.
Cú pháp
KHÔI PHỤC Tên Đặc Quyền TRÊN Tên Đối Tượng TỪ CÔNG KHAI
Thí dụ
- Để thu hồi quyền đã cấp từ user1 REVOKE SELECT ON StudentsInfo TO user1
Tiếp tục trong hướng dẫn SQL Server này, hãy để chúng tôi hiểu cách tạo và sử dụng Thủ tục được lưu trữ.
Thủ tục lưu trữ
Thủ tục lưu trữ là các đơn vị có thể tái sử dụng đóng gói logic nghiệp vụ cụ thể của ứng dụng. Vì vậy, nó là một nhóm các câu lệnh SQL và logic, được biên dịch và lưu trữ cùng nhau để thực hiện một tác vụ cụ thể.
Cú pháp
TẠO [HOẶC THAY THẾ] PROCEDURE procedure_name [(tên_thông_số [IN | OUT | IN OUT] type [])] LÀ BẮT ĐẦU [phần khai báo] execute_section // Câu lệnh SQL được sử dụng trong thủ tục được lưu trữ KẾT THÚC
Thí dụ
--Tạo một thủ tục sẽ trả về tên sinh viên khi StudentId được cung cấp làm tham số đầu vào cho thủ tục đã lưu trữ Tạo PROCEDURE GetStudentName (@StudentId INT, tham số --Input, @StudName VARCHAR (50) OUT - Tham số đầu ra, AS BEGIN CHỌN @StudName = StudentName TỪ StudentsInfo WHERE StudentID = @ StudentId END
Các bước thực hiện:
- Khai báo @StudName là nvarchar (50)
- EXEC GetStudentName 01, đầu ra @StudName
- CHỌN @StudName
Quy trình trên trả về tên của một học sinh cụ thể,về việc cung cấp id sinh viên đó làm đầu vào. Tiếp theo trong hướng dẫn SQL Server này, chúng ta hãy hiểu các lệnh của ngôn ngữ điều khiển giao dịch.
Lệnh ngôn ngữ điều khiển giao dịch (TCL)
Phần này của hướng dẫn SQL Server sẽ cung cấp cho bạn cái nhìn sâu sắc về các lệnh được sử dụng để quản lý các giao dịch trong cơ sở dữ liệu.Các lệnh như sau:
CAM KẾT
Lệnh COMMIT được sử dụng để lưu giao dịch vào cơ sở dữ liệu.
Cú pháp
CAM KẾT
ROLLBACK
Lệnh ROLLBACK được sử dụng để khôi phục cơ sở dữ liệu về trạng thái cam kết cuối cùng.
Cú pháp
ROLLBACK
GHI CHÚ: Khi bạn sử dụng ROLLBACK với SAVEPOINT, bạn có thể trực tiếp chuyển đến điểm lưu trong một giao dịch đang diễn ra. Cú pháp: ROLLBACK TO SavepointName
SAVEPOINT
Lệnh SAVEPOINT được sử dụng để lưu tạm thời một giao dịch. Vì vậy, nếu bạn muốn khôi phục về bất kỳ điểm nào, thì bạn có thể lưu điểm đó dưới dạng ‘SAVEPOINT’.
Cú pháp
SAVEPOINT SAVEPOINTNAME
Hãy xem xét bảng dưới đây để hiểu hoạt động của các giao dịch trong cơ sở dữ liệu.
Thẻ học sinh | Tên học sinh |
một | Rohit |
2 | Suhana |
3 | Ashish |
4 | Prerna |
Bây giờ, hãy sử dụng bên dưới để hiểu các giao dịch trong cơ sở dữ liệu.
CHÈN VÀO GIÁ TRỊ StudentTable (5, 'Avinash') CẬP NHẬT CAM KẾT StudentTable SET name = 'Akash' WHERE id = '5' SAVEPOINT S1 CHÈN VÀO CÁC GIÁ TRỊ CỦA StudentTable (6, 'Sanjana') SAVEPOINT S2 CHÈN VÀO CÁC GIÁ TRỊ CỦA StudentTable (7, 'Sanjay ') CHÈN SAVEPOINT S3 VÀO CÁC GIÁ TRỊ CỦA StudentTable (8,' Veena ') SAVEPOINT S4 CHỌN * TỪ StudentTable
Tiếp theo trong bài viết này về hướng dẫn SQL Server, chúng ta hãy hiểu cách xử lý các ngoại lệ trong Transact-SQL.
Xử lý ngoại lệ
Có hai loại ngoại lệ, tức là ngoại lệ do hệ thống xác định và ngoại lệ do người dùng xác định. Như tên cho thấy, xử lý ngoại lệ là một quá trình mà thông qua đó người dùng có thể xử lý các ngoại lệ được tạo ra. Để xử lý các trường hợp ngoại lệ, bạn phải hiểu các câu lệnh dòng điều khiển sau:
PHI
Mệnh đề này được sử dụng để nâng cao một ngoại lệ và chuyển việc thực thi tới một khối CATCH của một cấu trúc TRY… CATCH.
Cú pháp
THROW [ErrorNumber, @localvariable, State] []
Ở đâu,
- Số lỗi - ĐẾNhằng số hoặc biến đại diện cho ngoại lệ.
- Thông điệp - ĐẾNbiến hoặc chuỗi mô tả ngoại lệ.
- Tiểu bang -Một hằng số hoặc biến trong khoảng từ 0 đến 255 cho biết trạng thái kết hợp với thông báo.
THROW 51000, 'Bản ghi không tồn tại.', 1
CỐ GẮNG BẮT
Được sử dụng để thực hiện xử lý ngoại lệ trong Transact-SQL. Một nhóm các câu lệnh có thể được đặt trong khối TRY. Trong trường hợp lỗi xảy ra trong khối TRY, quyền điều khiển được chuyển cho một nhóm câu lệnh khác nằm trong khối CATCH.
Cú pháp
BẮT ĐẦU DÙNG THỬ StatementBlock END THỬ BEGIN CATCH [StatementBlock] END CATCH []
BẮT ĐẦU THỬ CHỌN * TỪ StudentsInfo KẾT THÚC THỬ BẮT ĐẦU CHỌN ERROR_NUMBER () AS ErNum, ERROR_MESSAGE () AS ErMsg END CATCH
TRONG ith này, chúng ta đến phần cuối của bài viết này về Hướng dẫn SQL Server. Tôi hy vọng bạn thích đọc bài viết này về Hướng dẫn sử dụng SQL Server cho người mới bắt đầu.Tôi Nếu bạn muốn được đào tạo có cấu trúc về MySQL, hãy xem đi kèm với đào tạo trực tiếp do người hướng dẫn và trải nghiệm dự án thực tế. Khóa đào tạo này sẽ giúp bạn hiểu sâu về MySQL và giúp bạn thành thạo chủ đề này. Có một câu hỏi cho chúng tôi? Hãy đề cập đến nó trong phần bình luận của ” Hướng dẫn SQL Server ”Và tôi sẽ liên lạc lại với bạn.