Có cách nào nhanh chóng lấy tất cả các tên cột từ tất cả các bảng trong
select *
from information_schema.columns
where table_schema = 'your_DB_name'
and table_name = 'Your_tablename'
0 mà không cần phải liệt kê tất cả các bảng?
DREFTYMAC
30.3k26 Huy hiệu vàng115 Huy hiệu bạc178 Huy hiệu đồng26 gold badges115 silver badges178 bronze badges
Hỏi ngày 13 tháng 4 năm 2011 lúc 11:27Apr 13, 2011 at 11:27
1
select column_name from information_schema.columns
where table_schema = 'your_db'
order by table_name,ordinal_position
Đã trả lời ngày 13 tháng 4 năm 2011 lúc 11:50Apr 13, 2011 at 11:50
Nicola Cossunicola CossuNicola Cossu
53K15 Huy hiệu vàng91 Huy hiệu bạc97 Huy hiệu Đồng15 gold badges91 silver badges97 bronze badges
5
Để liệt kê tất cả các trường từ một bảng trong MySQL:
select *
from information_schema.columns
where table_schema = 'your_DB_name'
and table_name = 'Your_tablename'
Ben
50.6K36 Huy hiệu vàng124 Huy hiệu bạc143 Huy hiệu đồng36 gold badges124 silver badges143 bronze badges
Đã trả lời ngày 22 tháng 11 năm 2012 lúc 5:49Nov 22, 2012 at 5:49
Suganyasuganyasuganya
5514 Huy hiệu bạc2 Huy hiệu Đồng4 silver badges2 bronze badges
1
Tốt hơn là bạn sử dụng truy vấn sau để có được tất cả các tên cột một cách dễ dàng
select *
from information_schema.columns
where table_schema = 'your_DB_name'
and table_name = 'Your_tablename'
1
Đã trả lời ngày 16 tháng 7 năm 2016 lúc 12:55Jul 16, 2016 at 12:55
1
SELECT * FROM information_schema.columns
WHERE table_schema = DATABASE[]
ORDER BY table_name, ordinal_position
Vì tôi không có đủ đại diện để bình luận, đây là một cải tiến nhỏ [theo quan điểm của tôi] về câu trả lời tuyệt vời của Nick Rulesz: Thay thế
select *
from information_schema.columns
where table_schema = 'your_DB_name'
and table_name = 'Your_tablename'
2 bằng select *
from information_schema.columns
where table_schema = 'your_DB_name'
and table_name = 'Your_tablename'
3.Đã trả lời ngày 10 tháng 6 năm 2015 lúc 13:56Jun 10, 2015 at 13:56
Appelappelappel
4134 Huy hiệu bạc10 Huy hiệu đồng4 silver badges10 bronze badges
1
Đối với sự trách nhiệm rằng nó hữu ích cho bất kỳ ai khác, điều này sẽ cung cấp cho bạn một danh sách các cột được phân phối bằng dấu phẩy trong mỗi bảng:
SELECT table_name,GROUP_CONCAT[column_name ORDER BY ordinal_position]
FROM information_schema.columns
WHERE table_schema = DATABASE[]
GROUP BY table_name
ORDER BY table_name
Lưu ý: Khi sử dụng các bảng có số lượng cột cao và/hoặc với tên trường dài, hãy nhận biết giới hạn nhóm_concat_max_len, có thể khiến dữ liệu bị cắt ngắn.
Icenv
51 Huy hiệu bạc3 Huy hiệu đồng1 silver badge3 bronze badges
Đã trả lời ngày 22 tháng 12 năm 2015 lúc 17:11Dec 22, 2015 at 17:11
trapper_hagtrapper_hagtrapper_hag
7318 Huy hiệu bạc14 Huy hiệu đồng8 silver badges14 bronze badges
1
Madhu
2.42916 huy hiệu bạc31 huy hiệu đồng16 silver badges31 bronze badges
Đã trả lời ngày 29 tháng 1 năm 2013 lúc 10:48Jan 29, 2013 at 10:48
Ali Nawazali NawazAli Nawaz
9969 Huy hiệu bạc11 Huy hiệu đồng9 silver badges11 bronze badges
1
Tương tự như câu trả lời được đăng bởi @Suganya, điều này không trả lời trực tiếp câu hỏi nhưng là một sự thay thế nhanh hơn cho một bảng duy nhất:
DESCRIBE column_name;
Đã trả lời ngày 26 tháng 1 năm 2017 lúc 19:10Jan 26, 2017 at 19:10
Philip Kirkbridephilip KirkbridePhilip Kirkbride
20.3K34 Huy hiệu vàng114 Huy hiệu bạc216 Huy hiệu đồng34 gold badges114 silver badges216 bronze badges
1
Câu hỏi là:
Có cách nào nhanh chóng lấy tất cả các tên cột từ tất cả các bảng trong MySQL mà không cần phải liệt kê tất cả các bảng?
SQL để nhận tất cả thông tin cho mỗi cột
select * from information_schema.columns
where table_schema = 'your_db'
order by table_name,ordinal_position
SQL để có được tất cả các tên cột
select COLUMN_NAME from information_schema.columns
where table_schema = 'your_db'
order by table_name,ordinal_position
Đã trả lời ngày 26 tháng 1 năm 2018 lúc 13:33Jan 26, 2018 at 13:33
J.BizMaiJ.BizMaiJ.BizMai
2.4053 huy hiệu vàng22 Huy hiệu bạc44 Huy hiệu đồng3 gold badges22 silver badges44 bronze badges
Tôi đã viết điều ngớ ngẩn này từ lâu và vẫn thực sự sử dụng nó bây giờ và sau đó:
//gist.github.com/kphretiq/e2f924416a326895233d
Về cơ bản, nó thực hiện một "bảng hiển thị", sau đó là một "mô tả" trên mỗi bảng, sau đó nhổ nó ra như Markdown.
Chỉ cần chỉnh sửa bên dưới "nếu tên" và đi. Bạn sẽ cần cài đặt pymysql.name" and go. You'll need to have pymysql installed.
Đã trả lời ngày 30 tháng 11 năm 2015 lúc 20:32Nov 30, 2015 at 20:32
Lysdexialsdexialysdexia
1.76617 Huy hiệu bạc29 Huy hiệu đồng17 silver badges29 bronze badges
Cõng câu trả lời của Nicola với một số PHP có thể đọc được
$a = mysqli_query[$conn,"select * from information_schema.columns
where table_schema = 'your_db'
order by table_name,ordinal_position"];
$b = mysqli_fetch_all[$a,MYSQLI_ASSOC];
$d = array[];
foreach[$b as $c]{
if[!is_array[$d[$c['TABLE_NAME']]]]{
$d[$c['TABLE_NAME']] = array[];
}
$d[$c['TABLE_NAME']][] = $c['COLUMN_NAME'];
}
echo "",print_r[$d],"
";
Đã trả lời ngày 14 tháng 10 năm 2016 lúc 2:14Oct 14, 2016 at 2:14
Scot Neryscot NeryScot Nery
6117 Huy hiệu bạc16 Huy hiệu đồng7 silver badges16 bronze badges
1
Bạn có thể truy vấn tất cả các cột trên mỗi bảng trong cơ sở dữ liệu cụ thể bằng cách sử dụng truy vấn này
select
TABLE_SCHEMA,
TABLE_NAME,
COLUMN_NAME
from
information_schema.columns
where
table_schema = 'database_name'
order by
table_name,
ordinal_position;
Đã trả lời ngày 24 tháng 6 năm 2021 lúc 8:04Jun 24, 2021 at 8:04
Alon Baradalon BaradAlon Barad
1.1931 Huy hiệu vàng12 Huy hiệu bạc20 Huy hiệu đồng1 gold badge12 silver badges20 bronze badges
0