Apakah ada cara untuk mengambil nama kolom dari tabel di mysql? menggunakan php
301
Anda dapat menggunakan DESCRIBE :
DESCRIBE my_table;
Atau dalam versi yang lebih baru Anda dapat menggunakan INFORMATION_SCHEMA :
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'my_database' AND TABLE_NAME = 'my_table';
Atau Anda dapat menggunakan SHOW COLUMNS :
SHOW COLUMNS FROM my_table;
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'db_name' AND COLUMN_NAME = 'col_name';
desc my_table;
:-)DESC
untuk menggambarkan dapat dengan mudah dikacaukan denganDESC
untuk turun. Jumlah nominal byte yang Anda simpan karena kurangnya keterbacaan tidak sepadan.Pernyataan SQL berikut ini hampir setara:
Referensi: INFORMATION_SCHEMA COLUMNS
sumber
SHOW COLUMNS
mengembalikan tabel yang berisi nama kolom, tipe, dll, sementaraSELECT COLUMN NAME
hanya mengembalikan nama kolom.Saya membuat fungsi PDO yang mengembalikan semua nama kolom dalam array sederhana.
Outputnya berupa array:
Maaf untuk necro tapi saya suka fungsi saya;)
PS Saya belum termasuk kelas Core tetapi Anda dapat menggunakan kelas Anda sendiri .. DS
sumber
Solusi ini dari command line mysql
Dalam kueri di bawah ini, ubah saja <--DATABASE_NAME--> ke database Anda dan <--TABLENAME--> ke nama tabel Anda di mana Anda hanya ingin nilai Field dari pernyataan DESCRIBE
sumber
Ada juga ini jika Anda lebih suka:
sumber
Bagaimana dengan ini:
sumber
Menarik juga untuk dicatat bahwa Anda dapat menggunakan
EXPLAIN table_name
mana yang identik denganDESCRIBE table_name
danSHOW COLUMNS FROM table_name
meskipun EXPLAIN lebih umum digunakan untuk mendapatkan informasi tentang rencana eksekusi permintaan.sumber
Memeriksa:
sumber
Tabel uraian fungsi MySQL akan membawa Anda ke tempat yang Anda tuju (masukkan nama tabel Anda untuk "tabel") Anda harus mem-parsing output beberapa, tetapi cukup mudah. Seingat saya, jika Anda menjalankan kueri itu, hasil kueri PHP yang mengakses fungsi yang biasanya memberi Anda pasangan nilai-kunci akan memiliki nama kolom sebagai kuncinya. Tapi sudah lama sejak saya menggunakan PHP jadi jangan pegang saya untuk itu. :)
sumber
Anda mungkin juga ingin check out
mysql_fetch_array()
, seperti pada:sumber
Saya membutuhkan nama kolom sebagai array datar, sedangkan jawaban lainnya mengembalikan array asosiatif, jadi saya menggunakan:
$ col_names sekarang sama dengan:
sumber
The
mysql_list_fields
Fungsi mungkin menarik bagi Anda; tetapi, seperti yang dinyatakan dalam manual:sumber
Anda bisa mendapatkan seluruh struktur tabel menggunakan perintah sederhana berikut.
atau Anda dapat menggunakan kueri berikut.
sumber
di mysql untuk mendapatkan detail kolom dan struktur tabel dengan mengikuti kata kunci atau kueri
1.
DESC table_name
2.
DESCRIBE table_name
3.
SHOW COLUMNS FROM table_name
4.
SHOW create table table_name;
5.
EXPLAIN table_name
sumber
sumber
ini bekerja untuk saya ..
sumber
Saya telah menulis skrip php sederhana untuk mengambil kolom tabel melalui PHP: Show_table_columns.php
Nikmati!
sumber
mysqli fetch_field () bekerja untuk saya:
Sumber: https://www.w3schools.com/pHP/func_mysqli_fetch_field.asp
sumber