Khi viết truy vấn cho một cơ sở dữ liệu mà bạn có thể chưa quen hoặc truy vấn thường xuyên thay đổi, bạn có thể muốn chạy kiểm tra nhanh để tìm tất cả các bảng trong một cơ sở dữ liệu cụ thể hoặc các cột trong cơ sở dữ liệu hoặc để tìm kiếm xem bảng hay cột
Tại sao điều này là một vấn đề?
Hiểu lược đồ và những bảng nào trong đó giúp viết SQL hiệu quả và giúp tránh chạy truy vấn nhiều lần chỉ để xem tên lược đồ hoặc tên cột có đúng không
Hướng dẫn này sẽ giúp giải quyết những vấn đề này
Sử dụng lược đồ thông tin
Truy vấn siêu dữ liệu trên nguồn dữ liệu là cách dễ nhất để xác định cấu trúc của bảng nếu bạn chưa hiểu về nó. Microsoft SQL Server cung cấp dạng xem lược đồ thông tin dưới dạng một trong số các phương pháp để lấy siêu dữ liệu này. Như tài liệu hỗ trợ của họ nêu rõ, “Chế độ xem lược đồ thông tin cung cấp chế độ xem nội bộ, độc lập với bảng hệ thống của siêu dữ liệu SQL Server. Chế độ xem lược đồ thông tin cho phép các ứng dụng hoạt động chính xác mặc dù các thay đổi quan trọng đã được thực hiện đối với các bảng hệ thống cơ bản. ”
Chúng tôi sẽ sử dụng một vài dạng xem trong lược đồ thông tin để chạy các truy vấn giúp xác định cấu tạo của các bảng trong nguồn dữ liệu
Để hiển thị
SELECT
TABLE_NAME,
COLUMN_NAME
FROM
INFORMATION_SCHEMA.COLUMNS
1 và SELECT
TABLE_NAME,
COLUMN_NAME
FROM
INFORMATION_SCHEMA.COLUMNS
2 trong cơ sở dữ liệu hoặc tìm SELECT
TABLE_NAME,
COLUMN_NAME
FROM
INFORMATION_SCHEMA.COLUMNS
1 và SELECT
TABLE_NAME,
COLUMN_NAME
FROM
INFORMATION_SCHEMA.COLUMNS
2Truy vấn đầu tiên này sẽ trả về tất cả các bảng trong cơ sở dữ liệu mà bạn đang truy vấn
SELECT
TABLE_NAME
FROM
INFORMATION_SCHEMA.TABLES
Truy vấn thứ hai sẽ trả về danh sách tất cả các cột và bảng trong cơ sở dữ liệu mà bạn đang truy vấn
SELECT
TABLE_NAME,
COLUMN_NAME
FROM
INFORMATION_SCHEMA.COLUMNS
Hoặc, bạn cũng có thể truy vấn chỉ
SELECT
TABLE_NAME,
COLUMN_NAME
FROM
INFORMATION_SCHEMA.COLUMNS
2 từ một bảng cụ thể và trả về tên cột từ bảng 'Album' cụ thể trong cơ sở dữ liệu của chúng tôiSELECT
COLUMN_NAME
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_NAME = 'Album'
Với truy vấn tiếp theo này, bạn có thể tìm hiểu xem có
SELECT
TABLE_NAME,
COLUMN_NAME
FROM
INFORMATION_SCHEMA.COLUMNS
0 trong nguồn dữ liệu khớp với một số loại tham số tìm kiếm hay khôngIF EXISTS[
SELECT
*
FROM
INFORMATION_SCHEMA.TABLES
WHERE
TABLE_NAME = 'Album'
]
SELECT 'found' AS search_result ELSE SELECT 'not found' AS search_result;
Truy vấn sẽ trả về từ 'đã tìm thấy' nếu bảng 'Album' tồn tại trong cơ sở dữ liệu của chúng tôi
Bây giờ để đi xa hơn một chút, bạn có thể sử dụng truy vấn này để tìm hiểu xem có một
SELECT
TABLE_NAME,
COLUMN_NAME
FROM
INFORMATION_SCHEMA.COLUMNS
1 nào trong nguồn dữ liệu khớp với một số loại tham số tìm kiếm hay khôngIF EXISTS[
SELECT
*
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
COLUMN_NAME = 'Title'
]
SELECT 'found' AS search_result ELSE SELECT 'not found' AS search_result;
Sử dụng chế độ xem
SELECT
TABLE_NAME,
COLUMN_NAME
FROM
INFORMATION_SCHEMA.COLUMNS
2 trong nguồn dữ liệu của bạn có thể là một cách đáng tin cậy để xác định những gì có trong nguồn dữ liệu trong khi bạn tạo truy vấn của mìnhĐể biết thêm thông tin về Chế độ xem lược đồ thông tin hệ thống Microsoft SQL Server, vui lòng đọc thêm từ tài liệu hỗ trợ của họ
Bài viết này sẽ xem cách lấy tên cột từ một bảng bằng các phương pháp khác nhau. Ngoài ra, chúng ta sẽ xem cách lấy danh sách tên cột được phân tách bằng dấu phẩy
Mục lục. -
- Lấy tên cột từ một bảng bằng lược đồ THÔNG TIN
- Lấy tên cột từ bảng bằng SHOW COLUMNS
- Nhận tên cột từ một bảng bằng DESC
- MySQL lấy tên cột được phân tách bằng dấu phẩy
Hãy để chúng tôi bắt đầu bằng cách tạo dữ liệu mẫu được sử dụng trong các ví dụ. Chúng tôi sẽ tạo một bảng có tên là sale_details
Đầu ra hành động. -
Để xem ảnh chụp nhanh của các cột trong bảng, hãy thực hiện
quảng cáo
SELECT * FROM sale_details;
đầu ra. -
Lấy tên cột từ một bảng bằng lược đồ THÔNG TIN
Lược đồ thông tin được sử dụng để lấy thông tin về máy chủ MySQL như tên bảng, tên cột tên cơ sở dữ liệu, loại dữ liệu, v.v. Hãy quan sát truy vấn bên dưới để biết cách sử dụng truy vấn này để lấy tên cột của bảng.
SELECT
TABLE_NAME,
COLUMN_NAME
FROM
INFORMATION_SCHEMA.COLUMNS
0Thông báo đầu ra hành động. –
4 hàng được trả lại
đầu ra. -
Đầu ra trong image_3 hiển thị tên cột từ bảng sale_details. Hàm Database[] truy xuất lược đồ hiện tại từ máy chủ MySQL.
ĐỌC THÊM. MySQL. lấy tên cột và kiểu dữ liệu của bảng
Lấy tên cột từ bảng bằng SHOW COLUMNS
Một cách khác để lấy tên cột từ bảng là sử dụng SHOW COLUMNS. Quan sát truy vấn dưới đây cho giải pháp