Mysql chuyển đổi cột thành danh sách

Giống như hầu hết các cơ sở dữ liệu quan hệ, MySQL cung cấp siêu dữ liệu hữu ích về chính cơ sở dữ liệu đó. Trong khi hầu hết các cơ sở dữ liệu khác gọi thông tin này là

+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
6, tài liệu chính thức của MySQL gọi siêu dữ liệu
+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
7 là
+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
8

Bất kể tên là gì, điều quan trọng là thông tin được cung cấp bởi các bảng

+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
7 này. Mọi thứ từ
+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
0 và
+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
0 đến
+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
1 và
+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
8 đều có thể tìm thấy trong
+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
7. Đối với mục đích của chúng tôi, chúng tôi đặc biệt quan tâm đến siêu dữ liệu
+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
8 mà chúng tôi có thể truy vấn để thực sự trích xuất kích thước của các bảng khác nhau trong hệ thống

Liệt kê kích thước bảng từ một cơ sở dữ liệu duy nhất

Như có thể thấy trong tài liệu chính thức, bảng

+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
5 chứa khoảng 20 cột, nhưng với mục đích xác định dung lượng ổ đĩa được sử dụng bởi các bảng, chúng tôi sẽ tập trung cụ thể vào hai cột.
+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
6 và
+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
7

  • +----------------------------------+-----------+
    | Table                            | Size (MB) |
    +----------------------------------+-----------+
    | book                             |       267 |
    | author                           |        39 |
    | post                             |        27 |
    | cache                            |        24 |
    ...
    
    6 là độ dài (hoặc kích thước) của tất cả dữ liệu trong bảng (trong
    +----------------------------------+-----------+
    | Table                            | Size (MB) |
    +----------------------------------+-----------+
    | book                             |       267 |
    | author                           |        39 |
    | post                             |        27 |
    | cache                            |        24 |
    ...
    
    9)
  • +----------------------------------+-----------+
    | Table                            | Size (MB) |
    +----------------------------------+-----------+
    | book                             |       267 |
    | author                           |        39 |
    | post                             |        27 |
    | cache                            |        24 |
    ...
    
    7 là độ dài (hoặc kích thước) của tệp chỉ mục cho bảng (cũng trong
    +----------------------------------+-----------+
    | Table                            | Size (MB) |
    +----------------------------------+-----------+
    | book                             |       267 |
    | author                           |        39 |
    | post                             |        27 |
    | cache                            |        24 |
    ...
    
    9)

Được trang bị thông tin này, chúng ta có thể thực hiện một truy vấn liệt kê tất cả các bảng trong một cơ sở dữ liệu cụ thể cùng với dung lượng đĩa (kích thước) của mỗi bảng. Chúng tôi thậm chí có thể sáng tạo hơn một chút và chuyển đổi các giá trị kích thước bình thường từ

+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
9 thành thứ gì đó hữu ích và dễ hiểu hơn đối với hầu hết mọi người như
+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
03

+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
1

Trong ví dụ này sử dụng cơ sở dữ liệu

+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
04, chúng tôi đang kết hợp
+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
6 và
+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
7 thành
+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
9, sau đó chia nó cho
+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
08 hai lần để chuyển đổi thành
+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
09 và sau đó là
+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
03. Tập kết quả của chúng tôi sẽ trông giống như thế này

+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...

Nếu bạn không quan tâm đến tất cả các bảng trong cơ sở dữ liệu và chỉ muốn kích thước của một bảng cụ thể, bạn chỉ cần thêm

+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
01 vào mệnh đề
+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
02. Ở đây chúng tôi chỉ muốn thông tin về bảng
+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
03

+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
0

Kết quả, như mong đợi, bây giờ

+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
0

Liệt kê tất cả các kích thước bảng từ TẤT CẢ cơ sở dữ liệu

Nếu bạn đang gặp sự cố trong đó cơ sở dữ liệu của bạn đang tăng kích thước nhưng bạn không biết bảng nào là thủ phạm, thì có thể hữu ích khi truy vấn kích thước của tất cả các bảng trong tất cả các cơ sở dữ liệu trong toàn bộ hệ thống. Điều này có thể được thực hiện dễ dàng với truy vấn sau

+----------------------------------+-----------+
| Table                            | Size (MB) |
+----------------------------------+-----------+
| book                             |       267 |
| author                           |        39 |
| post                             |        27 |
| cache                            |        24 |
...
5

Điều này sẽ trả về không chỉ kích thước của bảng mà còn cả tên bảng và cơ sở dữ liệu mẹ mà nó được liên kết với

Làm thế nào bạn có thể liệt kê tất cả các cột cho một bảng nhất định?

Bạn có thể liệt kê các cột của bảng bằng lệnh mysqlshow db_name tbl_name . Câu lệnh MÔ TẢ cung cấp thông tin tương tự như SHOW COLUMNS.

Làm cách nào tôi có thể nhận các giá trị cột dưới dạng dấu phẩy được phân tách trong MySQL?

Trong MySQL, bạn có thể trả về kết quả truy vấn của mình dưới dạng danh sách được phân tách bằng dấu phẩy bằng cách sử dụng hàm GROUP_CONCAT() . Hàm GROUP_CONCAT() được xây dựng riêng cho mục đích nối kết quả của một truy vấn thành một danh sách được phân tách bằng dấu phẩy hoặc dấu phân cách do bạn chọn.

Làm cách nào tôi chỉ có thể lấy tên cột từ một bảng trong MySQL?

Truy vấn MySQL để lấy tên cột . Use TABLE_SCHEMA to select the columns of a table from a specific database.

Chúng tôi có thể lưu trữ một danh sách trong bảng MySQL không?

Bạn có thể lưu trữ biểu diễn thực sự được sử dụng trong ứng dụng -- hoặc thực sự là phiên bản được đánh số thứ tự của nó . Tuy nhiên, bạn không nhận được chức năng SQL nào từ điều này, chẳng hạn như có thể đếm số tọa độ hoặc tìm nạp các hàng chỉ có một tên nhất định.