Hướng dẫn how can i get column names from all tables in mysql? - làm cách nào để lấy tên cột từ tất cả các bảng trong mysql?

234

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

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?

Hướng dẫn how can i get column names from all tables in mysql? - làm cách nào để lấy tên cột từ tất cả các bảng trong mysql?

DREFTYMAC

30.4K26 Huy hiệu vàng116 Huy hiệu bạc178 Huy hiệu đồng26 gold badges116 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

Hướng dẫn how can i get column names from all tables in mysql? - làm cách nào để lấy tên cột từ tất cả các bảng trong mysql?

Nicola Cossunicola CossuNicola Cossu

53.1K15 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'

Hướng dẫn how can i get column names from all tables in mysql? - làm cách nào để lấy tên cột từ tất cả các bảng trong mysql?

Ben

50.6K36 Huy hiệu vàng125 Huy hiệu bạc144 Huy hiệu đồng36 gold badges125 silver badges144 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

7418 Huy hiệu bạc14 Huy hiệu đồng8 silver badges14 bronze badges

1

';
        print_r($columns);
        echo '
'; ?>

Hướng dẫn how can i get column names from all tables in mysql? - làm cách nào để lấy tên cột từ tất cả các bảng trong mysql?

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

Hướng dẫn how can i get column names from all tables in mysql? - làm cách nào để lấy tên cột từ tất cả các bảng trong mysql?

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.4K34 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 đó:

https://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.77617 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

Hướng dẫn how can i get column names from all tables in mysql? - làm cách nào để lấy tên cột từ tất cả các bảng trong mysql?

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

Hướng dẫn how can i get column names from all tables in mysql? - làm cách nào để lấy tên cột từ tất cả các bảng trong mysql?

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

Làm cách nào để lấy tên cột từ tất cả các bảng trong SQL?

Sử dụng truy vấn này để tìm kiếm bảng & chế độ xem:..
Chọn col_name làm 'cột_name', tab_name là 'table_name'.
Từ thông tin_schema.columns ..
Trong đó col_name thích '%myname%'.
Đặt hàng theo bảng_name, cột_name ;.

Làm cách nào để có được một cột của tất cả các bảng?

Sử dụng yourdatabsename Go chọn t.name dưới dạng table_name, schema_name (schema_id) là lược đồ_name, c.name dưới dạng cột_name từ sys.Bảng như t bên trong tham gia sys.Cột C trên t.Object_id = c.

Làm cách nào để có được một danh sách các tên cột trong bảng?

Chúng tôi có thể xác minh dữ liệu trong bảng bằng truy vấn chọn như dưới đây.Chúng tôi sẽ sử dụng sys.columns để lấy tên cột trong bảng.Nó là một bảng hệ thống và được sử dụng để duy trì thông tin cột.using sys. columns to get the column names in a table. It is a system table and used for maintaining column information.

Làm cách nào để chọn tên cột trong SQL?

Quy trình SP_Columns để lấy tên cột của bảng chúng tôi sử dụng SP_HELP với tên của đối tượng hoặc tên bảng.SP_Columns trả về tất cả các tên cột của đối tượng.Truy vấn sau sẽ trả về tên cột của bảng: SP_Columns @Table_Name = 'News'use sp_help with the name of the object or table name. sp_columns returns all the column names of the object. The following query will return the table's column names: sp_columns @table_name = 'News'