Kiểu dữ liệu văn bản trong SQL Server

Ngoài ra, varchar[max] được lưu trữ trong không gian [đĩa/bộ nhớ] của bảng trong khi kích thước dưới 8Kb. Chỉ khi bạn đặt thêm dữ liệu vào trường, dữ liệu đó mới được lưu trữ ngoài không gian của bảng. Dữ liệu được lưu trữ trong không gian của bảng [thường] được truy xuất nhanh hơn. Vì vậy, đừng bao giờ sử dụng TEXT [hoặc NTEXT], vì có một giải pháp thay thế tốt hơn. [N]VARCHAR[MAX]

Chỉ sử dụng VARCHAR[MAX] khi VARCHAR thông thường [có độ dài] không đủ lớn [8Kb]

Trong DeZign for Databases bạn vẫn chọn TEXT và NTEXT nhưng tốt hơn hết là thay thế chúng bằng VARCHAR thay thế. Bạn có thể sử dụng chức năng Tìm kiếm và thay thế kiểu dữ liệu để thay thế kiểu dữ liệu trong mô hình dữ liệu hoàn chỉnh của mình

TEXT là kiểu dữ liệu chuỗi ký tự có chiều rộng thay đổi, hỗ trợ dữ liệu không phải Unicode trong trang mã của máy chủ cơ sở dữ liệu SQL và có độ dài chuỗi tối đa là 2.147.483.647. Kiểu dữ liệu này được sử dụng để lưu trữ các phần lớn giá trị dữ liệu chuỗi. Khi dữ liệu vượt quá ngưỡng đã chỉ định, cột chứa các giá trị dữ liệu kiểu dữ liệu văn bản được lưu trữ ngoài hàng trong trang dữ liệu Đối tượng lớn [LOB] riêng biệt. Hàng trong bảng cơ sở dữ liệu có cột đã nói sẽ có con trỏ 16 byte tới trang dữ liệu LOB

Kiểu dữ liệu TEXT thường được sử dụng để lưu trữ dữ liệu kiểu chuỗi ký tự dài, chẳng hạn như nhận xét cho bài đăng trên blog này, nội dung của trang này trong mã nguồn, văn bản thuần túy hoặc bài đăng từ tweet, bài đăng trên Facebook, v.v. Đừng bị choáng ngợp bởi tất cả các thuật ngữ được sử dụng ở đây, chúng ta sẽ thảo luận chi tiết về loại dữ liệu trong các phần tiếp theo

Bắt đầu khóa học khoa học dữ liệu miễn phí của bạn

Hadoop, Khoa học dữ liệu, Thống kê và những thứ khác

Cú pháp và tham số

Cú pháp cơ bản để tạo một bảng cơ sở dữ liệu với một cột kiểu dữ liệu văn bản như sau

CREATE TABLE table_name [
column_name_1 ID,
column_name_2 TEXT,
.
.
.
column_name_n TEXT
];

Các tham số được sử dụng trong cú pháp nêu trên như sau

Gói khoa học dữ liệu tất cả trong một[360+ khóa học, hơn 50 dự án]

Giá bán
Xem các khóa học

Hơn 360 khóa học trực tuyến. hơn 50 dự án. Hơn 1500 giờ. Giấy chứng nhận có thể kiểm chứng. Truy cập trọn đời
4. 7 [85.614 xếp hạng]

tên_cột _1, tên_cột_2. Đây là tên của các cột hoặc trường mà chúng tôi muốn tạo với một loại dữ liệu cụ thể. Ví dụ: cột_tên_2 và cột_tên_n có thể lưu trữ các giá trị của kiểu dữ liệu TEXT

Đã thảo luận về cú pháp để tạo các cột có thể lưu trữ văn bản kiểu ký tự có độ dài thay đổi, chúng ta hãy thảo luận về một vài ví dụ minh họa cách sử dụng nó

ví dụ

Dưới đây là các ví dụ sau được đề cập dưới đây

Ví dụ #1 – Tạo tên trường hoặc tên cột với kiểu dữ liệu văn bản

Để minh họa cách làm việc với kiểu dữ liệu TEXT, chúng ta hãy tạo một bảng giả có tên là “feed_details” chứa thông tin chi tiết về các bài đăng do người dùng của trang web truyền thông xã hội tạo và làm việc với nó. Một câu lệnh CREATE đơn giản để tạo bảng feed_details như sau

CREATE TABLE feed_details[
user_id int,
user_name varchar[255],
user_post TEXT,
comment_count INT
];

Chúng tôi đã tạo thành công bảng nói trên. Ở đây cột “user_post” cung cấp để lưu trữ các giá trị kiểu dữ liệu TEXT. Bây giờ, chúng ta hãy chèn một vài bản ghi vào đó

Ví dụ 2 – Chèn giá trị vào cột có kiểu dữ liệu TEXT

INSERT INTO public.feed_details[
user_id, user_name, user_post, comment_count]
VALUES [121,'UA12123',

‘TEXT là kiểu dữ liệu ký tự có độ dài thay đổi là
thường được sử dụng để lưu trữ chuỗi ký tự dài
nhập dữ liệu như nhận xét cho bài đăng trên blog này,
nội dung của trang này trong mã nguồn,
văn bản thuần túy hoặc bài đăng từ tweet, bài đăng trên Facebook, v.v. ’,301];

Bản ghi dữ liệu với kiểu dữ liệu TEXT trông giống như sau trong bảng feed_details

Ví dụ #3 – Truy vấn SQL để sử dụng mệnh đề WHERE trên kiểu dữ liệu TEXT

Khó sử dụng kiểu dữ liệu TEXT khi thực hiện so sánh. Ví dụ: hãy xem truy vấn được đưa ra dưới đây

SELECT * FROM feed_details
WHERE user_post = 'TEXT is a variable length'

Truy vấn đã trả về thành công nhưng nó không tìm nạp bất kỳ kết quả nào. Truy vấn này có thể gây ra lỗi trong một số máy chủ cơ sở dữ liệu. Vì vậy, bạn có thể phải chuyển đổi kiểu dữ liệu TEXT thành VARCHAR[max]. Bây giờ, hãy quan sát truy vấn tiếp theo

SELECT * FROM feed_details
WHERE user_post LIKE 'TEXT is a variable length%'

Trong trường hợp thứ hai, truy vấn đã trả về thành công và nó cũng đã tìm nạp kết quả mong muốn. Vì vậy, sẽ khôn ngoan hơn khi sử dụng các ký tự đại diện như THÍCH để so sánh các loại dữ liệu VĂN BẢN

Bạn có thể đã quan sát trong truy vấn INSERT ở trên và ví dụ này rằng các giá trị trong kiểu dữ liệu VARCHAR và kiểu dữ liệu TEXT được lưu trữ tương tự, đó là trong một cặp dấu ngoặc kép. Cả hai loại dữ liệu đều có thuộc tính lưu trữ là “mở rộng”. quan sát của bạn là đến điểm. Cả hai loại dữ liệu đều giống nhau và được sử dụng để lưu trữ các giá trị của loại ký tự

Sự khác biệt giữa các loại dữ liệu VARCHAR và TEXT

Để bắt đầu, không có nhiều sự khác biệt giữa các kiểu dữ liệu VARCHAR và TEXT. Theo tài liệu, cả hai đều là mảng có độ dài thay đổi hay còn gọi là varlena trong cấu trúc dữ liệu C. Mặc dù vậy, có một vài điểm khác biệt, chẳng hạn như VARCHAR[n] cung cấp chỗ để giới hạn độ dài tối đa của trường VARCHAR. Ví dụ: VARCHAR[255] sẽ không cho phép bạn chèn chuỗi ký tự nhiều hơn 255 ký tự. Không có giới hạn như vậy trong TEXT. Quan trọng nhất, không có sự khác biệt về hiệu suất giữa các loại dữ liệu

Tuy nhiên, các nhà phát triển và kỹ sư dữ liệu thích sử dụng TEXT trong các tình huống mà chúng tôi có thể phải lưu trữ nhiều dữ liệu hơn như đoạn văn hoặc câu dài và VARCHAR cho các cột mà chúng tôi muốn lưu trữ một số từ như tên người dùng và tiếp tục sử dụng các cột này để thực hiện các phép nối, chẳng hạn như nước ngoài . TEXT không phải là loại ưa thích để lập chỉ mục và nối các bảng vì nó không thể là một phần hoàn toàn của chỉ mục. Mặc dù vậy, chúng ta luôn có thể chỉ định độ dài tiền tố cho các cột TEXT khi sử dụng nó để lập chỉ mục

Kết luận – VĂN BẢN SQL

Kiểu dữ liệu TEXT trong SQL được sử dụng để lưu trữ các giá trị dữ liệu chuỗi ký tự có độ dài thay đổi. Nó có thể lưu trữ tới 1 Gb dữ liệu. Nó được sử dụng để lưu trữ các câu dài và các giá trị dữ liệu dạng đoạn văn như nhận xét, nguồn cấp dữ liệu mạng xã hội, nội dung văn bản của trang web trong mã nguồn trang, v.v.

Bài viết được đề xuất

Đây là hướng dẫn về SQL TEXT. Ở đây chúng ta thảo luận về các ví dụ và sự khác biệt giữa các kiểu dữ liệu VARCHAR và TEXT. Bạn cũng có thể xem các bài viết sau để tìm hiểu thêm –

Kiểu dữ liệu nào là văn bản?

Kiểu dữ liệu TEXT lưu trữ mọi loại dữ liệu văn bản . Nó có thể chứa cả ký tự một byte và nhiều byte mà ngôn ngữ đó hỗ trợ. Thuật ngữ đối tượng lớn đơn giản dùng để chỉ một thể hiện của kiểu dữ liệu TEXT hoặc BYTE.

Cách sử dụng kiểu văn bản trong SQL?

Kiểu dữ liệu TEXT trong SQL được được sử dụng để lưu trữ các giá trị dữ liệu chuỗi ký tự có độ dài thay đổi . Nó có thể lưu trữ tới 1 Gb dữ liệu. Nó được sử dụng để lưu trữ các câu dài và các giá trị dữ liệu dạng đoạn văn như nhận xét, nguồn cấp dữ liệu mạng xã hội, nội dung văn bản của trang web trong mã nguồn trang, v.v.

Làm cách nào để chèn kiểu dữ liệu văn bản trong SQL?

Trong MS SQL Server, bạn sẽ không thể chèn giá trị chuỗi [có nhiều hơn 1 ký tự] vào bảng nếu cột kiểu nvarchar. Bạn chỉ có thể chèn một ký tự bằng nvarchar. Nếu bạn muốn chèn một số văn bản, vui lòng chỉ định một số kích thước với nvarchar. Điều này sẽ làm việc

Sự khác biệt giữa văn bản và VARCHAR trong SQL Server là gì?

Một số khác biệt giữa VARCHAR và TEXT . Các trường TEXT có kích thước tối đa cố định là 65.535 ký tự. VARCHAR có thể là một phần của chỉ mục trong khi trường TEXT yêu cầu bạn chỉ định độ dài tiền tố, có thể là một phần của chỉ mục. The VAR in VARCHAR means that you can set the max size to anything between 1 and 65,535. TEXT fields have a fixed max size of 65,535 characters. A VARCHAR can be part of an index whereas a TEXT field requires you to specify a prefix length, which can be part of an index.

Chủ Đề