Làm cách nào để tôi liệt kê tất cả các bảng có chứa tên cột đã cho? Tôi đang sử dụng phiên bản Mysql 4.1.13-nt-log. Tôi biết các phiên bản ít hơn 5 không có một DB information_scheme.Liệt kê tất cả các bảng có chứa tên cột đã cho
13
A
Trả lời
0
thử điều này:
mysqldump -u root -p –all-databases –single-transaction > all.sql
và sau đó làm cũng tìm kiếm theo cách cũ-trường trong một trình soạn thảo văn bản với tìm
thấy điều này ... trông đầy hứa hẹn, nhưng tôi không chắc chắn cách đầy tham vọng là bạn
http://mike.kruckenberg.com/presentations/Creating_INFORMATION_SCHEMA.pdf
+0
Một giải pháp đơn giản, nhưng tôi khuyên bạn nên sử dụng dữ liệu không có tùy chọn, vì tất cả các bạn quan tâm là lược đồ ... –
29
Tìm tất cả các bảng và cột nơi tên cột cũng giống như thuật ngữ tìm kiếm:
SELECT DISTINCT TABLE_NAME, COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME LIKE '%partial_column_name%'
AND TABLE_SCHEMA='YourDatabase';
-2
select table_name,column_name,data_type,data_length
from user_tab_columns
where column_name LIKE 'WHATEVER_U_WANT'
;
0
dễ dàng hơn nhiều
SELECT DISTINCT TABLE_NAME FROM your_schema.columns WHERE column_name = 'your_column_name';
một phản câu hỏi: tại sao bạn cần điều đó? :) – Bozho
Nếu bạn thực sự muốn làm điều đó, bạn có thể xuất kết quả cho SHOW TABLES và HIỂN THỊ COLUMNS TỪ vào một tệp văn bản trong dòng lệnh, sau đó sử dụng Perl và grep cho tìm kiếm – Yada