Cara Menampilkan Kolom Tabel di MySQL (SHOW COLUMNS, DESCRIBE, INFORMATION_SCHEMA)

目次

1. Introduction

Saat merancang dan mengelola basis data dengan MySQL, mengetahui cara mengambil daftar kolom tabel sangat penting.
Dengan memeriksa daftar kolom, Anda dapat lebih mudah memahami struktur tabel, menjaga konsistensi data, dan merancang kueri yang optimal.

Secara khusus, Anda mungkin perlu mengambil daftar kolom dalam situasi seperti berikut:

  • Saat menyelidiki struktur basis data
  • Saat menambah atau menghapus kolom baru
  • Saat mengonfirmasi nama kolom atau tipe data yang ada
  • Saat mencari tabel yang berisi kolom tertentu
  • Saat memproses tabel secara dinamis dalam aplikasi Anda

Dalam artikel ini, kami menjelaskan metode penampilan kolom MySQL secara detail, mulai dari dasar hingga teknik lanjutan.
Kami juga menyertakan konten praktis seperti contoh eksekusi SQL, skrip otomatisasi, dan penanganan error, sehingga artikel ini berguna bagi beragam pembaca mulai dari pemula hingga pengguna menengah.

2. Basic Ways to List Columns

MySQL menyediakan beberapa cara untuk mengambil daftar kolom. Metode yang paling umum adalah menggunakan SHOW COLUMNS dan DESCRIBE.

2-1. Retrieve Columns with SHOW COLUMNS

Cara paling sederhana untuk mengambil daftar kolom sebuah tabel di MySQL adalah dengan menggunakan pernyataan SHOW COLUMNS.

Usage

SHOW COLUMNS FROM table_name;

Sebagai alternatif, Anda dapat menggunakan IN alih‑alih FROM.

SHOW COLUMNS IN table_name;

Information You Can Retrieve

Saat Anda menjalankan SHOW COLUMNS, Anda dapat mengambil informasi seperti berikut.

Column Name (Field)Data Type (Type)Allows NULL (Null)Key (Key)Default Value (Default)Other (Extra)
idint(11)NOPRINULLauto_increment
namevarchar(255)YES NULL 
ageint(3)YES NULL 

Example

Misalnya, untuk mengambil daftar kolom tabel users, jalankan SQL berikut.

SHOW COLUMNS FROM users;

Output:

+-------+--------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| name  | varchar(255)| YES  |     | NULL    |                |
| age   | int(3)      | YES  |     | NULL    |                |
+-------+--------------+------+-----+---------+----------------+

Pros and Cons of SHOW COLUMNS

Pros

  • Sederhana dan mudah digunakan
  • Membantu Anda cepat memahami struktur tabel

Cons

  • Sulit mengambil hanya kolom tertentu
  • Anda tidak dapat memfilter hasil menggunakan klausa WHERE

2-2. Retrieve Columns with DESCRIBE

Pernyataan DESCRIBE memberikan hampir fungsi yang sama dengan SHOW COLUMNS.

Usage

DESCRIBE table_name;

Sebagai contoh, untuk mengambil informasi kolom tabel users:

DESCRIBE users;

Output:

+-------+--------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+--------------+------+-----+---------+----------------+
| id    | int(11)     | NO   | PRI | NULL    | auto_increment |
| name  | varchar(255)| YES  |     | NULL    |                |
| age   | int(3)      | YES  |     | NULL    |                |
+-------+--------------+------+-----+---------+----------------+

Difference Between DESCRIBE and SHOW COLUMNS

DESCRIBE adalah alias dari SHOW COLUMNS, sehingga hasilnya pada dasarnya sama.
Namun, SHOW COLUMNS sedikit lebih baik karena mendukung opsi yang lebih detail.

2-3. Check Column Lists with MySQL Workbench or phpMyAdmin

Anda juga dapat memeriksa daftar kolom menggunakan alat GUI alih‑alih baris perintah.

✅ Di MySQL Workbench, klik kanan pada tabel dan pilih “Show Table Structure”
✅ Di phpMyAdmin, klik tabel target dan periksa daftar di bawah tab “Structure”

Jika Anda tidak nyaman dengan CLI, alat GUI dapat membantu Anda bekerja lebih intuitif.

Summary

Dalam artikel ini, kami membahas cara dasar untuk menampilkan kolom di MySQL, dengan fokus pada SHOW COLUMNS dan DESCRIBE.

Key Takeaways

SHOW COLUMNS adalah cara paling umum untuk menampilkan kolom
DESCRIBE mengembalikan hampir hasil yang sama dengan SHOW COLUMNS
✔ Anda juga dapat memeriksa daftar kolom menggunakan alat GUI (MySQL Workbench, phpMyAdmin)

3. Lanjutan: Mencari Kolom Menggunakan Kondisi

SHOW COLUMNS dan DESCRIBE memang praktis, tetapi ketika bekerja dengan banyak tabel atau kolom,
Anda mungkin menginginkan pencarian yang lebih fleksibel.
Dalam kasus seperti itu, menggunakan INFORMATION_SCHEMA sangat membantu.
Di sini, kami menjelaskan cara mengambil daftar kolom di seluruh basis data dan cara menemukan tabel yang berisi kolom tertentu.

3-1. Dapatkan Daftar Kolom untuk Semua Tabel dalam Basis Data

MySQL menyediakan tampilan sistem yang disebut INFORMATION_SCHEMA.COLUMNS.
Dengan menggunakannya, Anda dapat mengambil informasi kolom untuk seluruh basis data.

Sintaks SQL

SELECT table_name, column_name
FROM information_schema.columns
WHERE table_schema = 'database_name';

Contoh

Sebagai contoh, untuk mengambil semua nama tabel dan nama kolom dalam my_database:

SELECT table_name, column_name
FROM information_schema.columns
WHERE table_schema = 'my_database';

Output

+------------+--------------+
| table_name | column_name  |
+------------+--------------+
| users      | id           |
| users      | name         |
| users      | email        |
| orders     | id           |
| orders     | user_id      |
| orders     | total_price  |
+------------+--------------+

Ini memudahkan untuk melihat tabel mana yang memiliki kolom mana sekilas.

3-2. Temukan Tabel yang Mengandung Kolom Tertentu

Jika Anda ingin mencari hanya tabel yang mengandung kolom tertentu,
Anda dapat melakukannya dengan INFORMATION_SCHEMA.COLUMNS juga.

Sintaks SQL

SELECT table_name
FROM information_schema.columns
WHERE column_name = 'column_name'
AND table_schema = 'database_name';

Contoh

Sebagai contoh, untuk menemukan tabel yang mengandung kolom email dalam my_database:

SELECT table_name
FROM information_schema.columns
WHERE column_name = 'email'
AND table_schema = 'my_database';

Output

+------------+
| table_name |
+------------+
| users      |
| customers  |
+------------+

Ini menunjukkan bahwa kolom email ada di tabel users dan tabel customers.

3-3. Ambil Informasi Kolom Detail

Dengan INFORMATION_SCHEMA.COLUMNS, Anda juga dapat mengambil detail seperti tipe data, apakah mengizinkan NULL, dan nilai default.

Sintaks SQL

SELECT column_name, data_type, is_nullable, column_default
FROM information_schema.columns
WHERE table_name = 'table_name'
AND table_schema = 'database_name';

Contoh

Sebagai contoh, untuk mengambil informasi detail untuk setiap kolom dalam tabel users:

SELECT column_name, data_type, is_nullable, column_default
FROM information_schema.columns
WHERE table_name = 'users'
AND table_schema = 'my_database';

Output

+-------------+-----------+------------+--------------+
| column_name | data_type | is_nullable | column_default |
+-------------+-----------+------------+--------------+
| id          | int       | NO         | NULL         |
| name        | varchar   | YES        | NULL         |
| email       | varchar   | YES        | NULL         |
| age         | int       | YES        | NULL         |
+-------------+-----------+------------+--------------+

3-4. Manfaat dan Catatan Saat Menggunakan INFORMATION_SCHEMA

Manfaat

Anda dapat mengambil informasi kolom untuk seluruh basis data (dengan SHOW COLUMNS, Anda hanya dapat mengambil satu tabel sekaligus)
Anda dapat menyaring secara bebas menggunakan kueri SQL (Anda dapat menggunakan klausa WHERE untuk mengambil hanya kolom tertentu)
Anda juga dapat melakukan JOIN dan menggabungkan dengan informasi lain

Catatan

Pada basis data besar, kueri dapat menjadi lambat
Jika Anda tidak menentukan table_schema untuk basis data target, informasi yang tidak diperlukan dapat disertakan

Ringkasan

Di bagian ini, kami menggunakan INFORMATION_SCHEMA.COLUMNS untuk menjelaskan
cara mengambil daftar kolom di seluruh basis data dan cara menemukan tabel yang berisi kolom tertentu.

Poin Penting

✔ Dengan INFORMATION_SCHEMA.COLUMNS, Anda dapat mencari kolom tertentu alih-alih seluruh tabel
✔ Dibandingkan dengan SHOW COLUMNS, ini memungkinkan penyaringan bebas dengan kueri SQL
✔ Anda juga dapat mengambil informasi kolom terperinci (tipe data, izin NULL, nilai default, dll.)
✔ Untuk basis data besar, Anda perlu memperhatikan kinerja

4. Otomatisasi: Mengambil Daftar Kolom dengan Skrip

Anda dapat mengambil daftar kolom secara manual menggunakan SHOW COLUMNS atau INFORMATION_SCHEMA, tetapi Anda mungkin merasa bahwa menjalankan SQL setiap kali tidak nyaman.

Secara khusus, pengambilan daftar kolom secara otomatis berguna dalam kasus seperti:

  • Ketika Anda ingin memantau perubahan pada struktur basis data
  • Ketika Anda ingin merekam daftar kolom secara berkala untuk mengelola riwayat perubahan skema
  • Ketika Anda ingin mengintegrasikan dengan sistem lain dan mengambil informasi kolom secara dinamis

Bagian ini menjelaskan cara secara otomatis mengambil daftar kolom MySQL menggunakan skrip Python atau Shell.

4-1. Mengambil Daftar Kolom dengan Python

Python menyediakan pustaka bernama mysql-connector-python. Menggunakan pustaka ini, Anda dapat terhubung ke MySQL dan mengambil daftar kolom.

Siapkan Skrip Python

Jika pustaka belum terpasang, pasang dengan perintah berikut.

pip install mysql-connector-python

Skrip Python

Selanjutnya, buat skrip berikut.
Skrip ini mengambil dan mencetak daftar kolom untuk tabel tertentu.

import mysql.connector

# Configure MySQL connection settings
config = {
    'user': 'your_user',
    'password': 'your_password',
    'host': 'localhost',
    'database': 'your_database'
}

# Connect to MySQL
conn = mysql.connector.connect(**config)
cursor = conn.cursor()

# Table name to retrieve
table_name = "users"

# Retrieve column list
query = f"SELECT column_name FROM information_schema.columns WHERE table_name = '{table_name}' AND table_schema = '{config['database']}'"
cursor.execute(query)

# Print results
columns = cursor.fetchall()
print(f"Column list for [{table_name}]:")
for column in columns:
    print(column[0])

# Close connection
cursor.close()
conn.close()

Jalankan Skrip

Saat Anda menjalankan skrip, ia mencetak daftar kolom seperti berikut.

Column list for [users]:
id
name
email
age

4-2. Mengambil Daftar Kolom dengan Skrip Shell

Anda juga dapat mengambil daftar kolom dengan skrip Shell (Bash) tanpa menggunakan Python. Di lingkungan Linux dan administrasi server, ini dapat menjadi opsi yang cepat dan nyaman.

Siapkan Skrip Shell

Buat skrip seperti berikut dan simpan sebagai mysql_columns.sh.

#!/bin/bash

DB_NAME="your_database"
TABLE_NAME="users"
USER="your_user"
PASSWORD="your_password"

# Retrieve column list using the MySQL command
mysql -u$USER -p$PASSWORD -D$DB_NAME -e "SELECT column_name FROM information_schema.columns WHERE table_name = '$TABLE_NAME' AND table_schema = '$DB_NAME';"

Cara Menjalankan

Berikan izin eksekusi dan jalankan.

chmod +x mysql_columns.sh
./mysql_columns.sh

Output

column_name
id
name
email
age

Metode ini memungkinkan Anda mengambil daftar kolom dengan cepat di server Linux.

4-3. Mengambil dan Menyimpan Daftar Kolom Secara Berkala (Cron Job)

Alih-alih menjalankan skrip secara manual, Anda juga dapat mengambil daftar kolom secara berkala dan menyimpannya ke file. Misalnya, Anda dapat mencatat daftar kolom sekali per hari untuk melacak perubahan skema.

Langkah-langkah

  1. Buat skrip Python atau skrip Shell (gunakan yang di atas)
  2. Simpan output ke sebuah file
  3. Konfigurasikan cron job

Contoh Skrip Shell yang Menyimpan Output

#!/bin/bash

DB_NAME="your_database"
TABLE_NAME="users"
USER="your_user"
PASSWORD="your_password"
OUTPUT_FILE="/path/to/logs/${TABLE_NAME}_columns_$(date +\%Y\%m\%d).txt"

# Retrieve column list and save to a file
mysql -u$USER -p$PASSWORD -D$DB_NAME -e "SELECT column_name FROM information_schema.columns WHERE table_name = '$TABLE_NAME' AND table_schema = '$DB_NAME';" > $OUTPUT_FILE

Konfigurasikan cron job

Jalankan perintah berikut untuk membuka konfigurasi cron.

crontab -e

Kemudian tambahkan baris berikut. (Berjalan setiap hari pada pukul 03:00.)

0 3 * * * /path/to/mysql_columns.sh

Ini memungkinkan otomatisasi yang mengambil daftar kolom setiap hari dan menyimpannya ke sebuah file.

Ringkasan

Pada bagian ini, kami menjelaskan cara secara otomatis mengambil daftar kolom MySQL dengan skrip.

Poin Penting

Anda dapat mengambil daftar kolom dengan skrip Python (menggunakan MySQL Connector)
Anda juga dapat mengambilnya dengan skrip Shell menggunakan perintah MySQL
Anda dapat menggunakan cron job untuk mencatat daftar kolom secara berkala
Ini berguna untuk melacak riwayat perubahan skema basis data

Pada artikel berikutnya, kami menjelaskan “Cara memperbaiki kesalahan ketika terjadi.” Jika Anda ingin mempelajari tentang kesalahan izin dan cara memperbaikinya saat menjalankan SHOW COLUMNS atau INFORMATION_SCHEMA, pastikan untuk memeriksa bagian berikutnya juga!

5. Penanganan Kesalahan: Cara Memperbaiki Kesalahan Izin

Saat mengambil daftar kolom dengan SHOW COLUMNS atau INFORMATION_SCHEMA di MySQL, Anda mungkin menemui kesalahan seperti “izin ditolak”.

Bagian ini menjelaskan penyebab umum dan solusinya.

5-1. Jika Anda Mendapatkan Kesalahan dengan SHOW COLUMNS

Saat Anda menjalankan SHOW COLUMNS, Anda mungkin melihat kesalahan seperti berikut.

ERROR 1142 (42000): SELECT command denied to user 'user'@'localhost' for table 'users'

Penyebab

Kesalahan ini terjadi karena pengguna tidak memiliki hak istimewa SELECT pada tabel. SHOW COLUMNS memerlukan hak istimewa SELECT.

Solusi

Masuk sebagai administrator (pengguna root) dan berikan hak istimewa SELECT kepada pengguna target.

GRANT SELECT ON your_database.* TO 'user'@'localhost';
FLUSH PRIVILEGES;

Setelah itu, SHOW COLUMNS seharusnya berfungsi.

5-2. Jika Anda Mendapatkan Kesalahan dengan INFORMATION_SCHEMA

Saat Anda menjalankan kueri menggunakan INFORMATION_SCHEMA, Anda mungkin melihat kesalahan seperti berikut.

ERROR 1045 (28000): Access denied for user 'user'@'localhost' (using password: YES)

Penyebab

Untuk mengkueri INFORMATION_SCHEMA, Anda mungkin memerlukan tidak hanya hak istimewa SELECT tetapi juga izin untuk mengakses INFORMATION_SCHEMA.

Solusi

Berikan akses ke INFORMATION_SCHEMA dengan perintah berikut.

GRANT SELECT ON information_schema.* TO 'user'@'localhost';
FLUSH PRIVILEGES;

Ini memungkinkan akses ke INFORMATION_SCHEMA.COLUMNS.

5-3. Jika Anda Mendapatkan Kesalahan Bahkan sebagai Pengguna root

Di beberapa lingkungan, bahkan pengguna root mungkin memiliki akses terbatas ke SHOW COLUMNS atau INFORMATION_SCHEMA. Dalam hal ini, periksa hak istimewanya.

Cara Memeriksa Hak Istimewa

SHOW GRANTS FOR 'root'@'localhost';

Jika ALL PRIVILEGES tidak diberikan, Anda dapat memperbaikinya dengan:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

5-4. Perubahan Izin di MySQL 8.0

Di MySQL 8.0, beberapa pengaturan hak istimewa default telah berubah. Khususnya, akses ke INFORMATION_SCHEMA mungkin dibatasi secara default, yang dapat menyebabkan kesalahan.

Solusi

Di MySQL 8.0, Anda mungkin perlu memberikan hak SELECT pada basis data mysql.

GRANT SELECT ON mysql.* TO 'user'@'localhost';
FLUSH PRIVILEGES;

Ini dapat memungkinkan kueri INFORMATION_SCHEMA berfungsi di MySQL 8.0 juga.

5-5. Jika MySQL Workbench Menampilkan “Access denied”

Saat menjalankan SHOW COLUMNS di MySQL Workbench, Anda mungkin melihat pesan kesalahan seperti:

Error: Access denied; you need (at least one of) the SELECT privilege(s) for this operation

Solusi

Di MySQL Workbench, Anda juga dapat memberikan hak akses melalui GUI.

  1. Buka “Administration” → “Users and Privileges”
  2. Pilih pengguna target
  3. Di tab “Schema Privileges”, berikan hak akses SELECT
  4. Klik “Apply” untuk menyimpan

Ini seharusnya memungkinkan MySQL Workbench untuk mengambil daftar kolom dengan sukses.

Ringkasan

Dalam bagian ini, kami menjelaskan cara mengatasi kesalahan saat menjalankan SHOW COLUMNS dan INFORMATION_SCHEMA di MySQL.

Poin Utama

SHOW COLUMNS kesalahan biasanya disebabkan oleh kurangnya hak akses SELECT → perbaiki dengan GRANT SELECT
INFORMATION_SCHEMA kesalahan biasanya disebabkan oleh kurangnya akses ke information_schema.* → perbaiki dengan GRANT SELECT ON information_schema.*
Di MySQL 8.0, Anda mungkin juga memerlukan hak akses pada mysql.*
Kesalahan hak akses MySQL Workbench dapat diperbaiki melalui GUI

6. Cara Memeriksa Daftar Kolom Menggunakan Alat GUI

sejauh ini, kami telah memperkenalkan cara untuk mengambil daftar kolom menggunakan perintah SQL, tetapi
dengan alat GUI (Graphical User Interface), Anda dapat mengonfirmasi kolom secara visual.

Alat GUI sangat berguna dalam situasi seperti:

  • Ketika pengguna yang tidak familiar dengan SQL ingin memeriksa struktur database secara intuitif
  • Ketika Anda ingin memeriksa daftar kolom tabel dengan cepat
  • Ketika Anda ingin memahami tipe data kolom dan batasan dengan cepat

Bagian ini menjelaskan cara memeriksa daftar kolom menggunakan alat GUI utama seperti MySQL Workbench dan phpMyAdmin.

6-1. Memeriksa Daftar Kolom di MySQL Workbench

Apa itu MySQL Workbench?

MySQL Workbench adalah alat manajemen database resmi MySQL, dan ini adalah alat yang nyaman yang memungkinkan Anda mengelola tabel dan informasi kolom secara visual melalui GUI.

Langkah-langkah untuk Memeriksa Daftar Kolom

  1. Luncurkan MySQL Workbench
  2. Hubungkan ke server MySQL Anda
  • Pilih “Local Instance MySQL” atau koneksi yang Anda konfigurasikan
  1. Buka tab “Schemas”
  2. Kembangkan database target (misalnya, my_database)
  3. Klik kanan pada tabel yang ingin Anda periksa (misalnya, users)
  4. Pilih “Table Inspector”
  5. Buka tab “Columns”

Apa yang Anda Lihat di Daftar Kolom

Di tab “Columns”, Anda akan melihat informasi seperti berikut.

Column NameData TypeAllows NULLPrimary KeyDefault ValueAdditional Info
idINTNOPRIAUTO_INCREMENT 
nameVARCHAR(255)YES NULL 
emailVARCHAR(255)YESUNINULL 
ageINTYES NULL 

Anda dapat memeriksa detail kolom secara intuitif tanpa menjalankan SQL
Anda juga dapat memeriksa indeks dan batasan bersama dengan tabel

6-2. Memeriksa Daftar Kolom di phpMyAdmin

Apa itu phpMyAdmin?

phpMyAdmin adalah alat yang memungkinkan Anda mengelola MySQL di browser web.
Ini sering disediakan secara default di shared hosting dan lingkungan serupa, sehingga mudah digunakan.

Langkah-langkah untuk Memeriksa Daftar Kolom

  1. Masuk ke phpMyAdmin
  2. Pilih database target dari menu kiri
  3. Klik tabel yang ingin Anda inspeksi
  4. Buka tab “Structure”

Apa yang Anda Lihat di Daftar Kolom

Di tab “Structure”, informasi kolom tabel ditampilkan dalam format tabel.

Column NameData TypeAllows NULLDefault ValueIndexComment
idINTNOAUTO_INCREMENTPRIMARY 
nameVARCHAR(255)YESNULL  
emailVARCHAR(255)YESNULLUNIQUE 
ageINTYESNULL  

Anda dapat memeriksa daftar kolom dengan mudah di browser web
Anda dapat menambah/mengedit/menghapus kolom melalui GUI

6-3. Alat Alternatif: DBeaver dan TablePlus

Selain MySQL Workbench dan phpMyAdmin, ada alat manajemen database berguna lainnya.

DBeaver

  • Multi-platform (Windows, Mac, Linux)
  • Mendukung banyak database selain MySQL, seperti PostgreSQL, SQLite, dan Oracle
  • Memungkinkan Anda menampilkan daftar kolom dengan GUI yang intuitif

TablePlus

  • UI sederhana yang mudah untuk pemula
  • Mendukung MySQL, PostgreSQL, SQLite, dan lainnya
  • Performa cepat untuk manajemen database yang nyaman

Dengan alat-alat ini, memeriksa daftar kolom dan mengoperasikan data menjadi lebih lancar

Ringkasan

Pada bagian ini, kami menjelaskan cara memeriksa daftar kolom menggunakan alat GUI.

Poin Utama

Di MySQL Workbench, Anda dapat memeriksa kolom di “Table Inspector” → “Columns”
Di phpMyAdmin, Anda dapat melihat info kolom dari tab “Structure”
Alat alternatif seperti DBeaver dan TablePlus juga berguna
Alat GUI memungkinkan Anda mengonfirmasi informasi kolom secara intuitif tanpa pengetahuan SQL

7. FAQ (Pertanyaan yang Sering Diajukan)

Berikut adalah pertanyaan umum yang dimiliki pembaca tentang penataan kolom MySQL.
Kami juga menjelaskan catatan penting saat menggunakan SHOW COLUMNS dan INFORMATION_SCHEMA, cara menangani kesalahan, dan penggunaan lanjutan.

7-1. Apa Perbedaan Antara SHOW COLUMNS dan DESCRIBE?

Pertanyaan

“Apa perbedaan antara SHOW COLUMNS dan DESCRIBE?”

Jawaban

SHOW COLUMNS dan DESCRIBE memberikan hampir fungsi yang sama.
Faktanya, DESCRIBE adalah alias dari SHOW COLUMNS.

Contoh SHOW COLUMNS

SHOW COLUMNS FROM users;

Contoh DESCRIBE

DESCRIBE users;

Perbedaannya terutama:

CommandFunctionDetails
SHOW COLUMNSRetrieve column informationSupports more detailed options
DESCRIBEAlias of SHOW COLUMNSShorter and easier to type

Untuk kebanyakan kasus penggunaan, DESCRIBE sudah cukup,
tetapi jika Anda membutuhkan opsi yang lebih fleksibel, pilih SHOW COLUMNS.

7-2. Apa Manfaat Menggunakan INFORMATION_SCHEMA?

Pertanyaan

“Apa manfaat menggunakan INFORMATION_SCHEMA alih-alih SHOW COLUMNS?”

Jawaban

Menggunakan INFORMATION_SCHEMA.COLUMNS memungkinkan pencarian lanjutan seperti:

Mengambil informasi kolom di seluruh basis data
Menemukan tabel yang berisi kolom tertentu
Menyaring hasil menggunakan klausa SQL WHERE

Sebagai contoh, ketika Anda ingin “menemukan semua tabel yang memiliki kolom email,”
SHOW COLUMNS tidak dapat melakukan ini secara langsung, tetapi INFORMATION_SCHEMA dapat.

SELECT table_name
FROM information_schema.columns
WHERE column_name = 'email'
AND table_schema = 'my_database';

SHOW COLUMNS hanya dapat mengambil informasi satu tabel pada satu waktu,
tetapi INFORMATION_SCHEMA dapat mencari di seluruh basis data.

7-3. Bagaimana Cara Menampilkan Tabel yang Memiliki Kolom Tertentu?

Pertanyaan

“Apakah ada cara untuk menampilkan tabel yang berisi kolom tertentu dalam sebuah basis data?”

Jawaban

Anda dapat menggunakan INFORMATION_SCHEMA.COLUMNS untuk menemukan tabel yang berisi kolom tertentu.

Sintaks SQL

SELECT table_name
FROM information_schema.columns
WHERE column_name = 'column_name'
AND table_schema = 'database_name';

Contoh
“Saya ingin menemukan tabel yang berisi kolom email.”

SELECT table_name
FROM information_schema.columns
WHERE column_name = 'email'
AND table_schema = 'my_database';

Output

+------------+
| table_name |
+------------+
| users      |
| customers  |
+------------+

Metode ini membantu Anda dengan cepat mengonfirmasi tabel mana yang berisi kolom tertentu dalam basis data Anda.

7-4. Bagaimana Cara Mengambil Komentar Kolom?

Pertanyaan

“Bagaimana cara mengambil informasi komentar yang ditetapkan pada kolom?”

Jawaban

Di MySQL, Anda dapat menetapkan komentar (deskripsi) pada kolom.
Untuk mengambil komentar, gunakan SHOW FULL COLUMNS atau INFORMATION_SCHEMA.COLUMNS.

Contoh SHOW FULL COLUMNS

SHOW FULL COLUMNS FROM users;

Menggunakan INFORMATION_SCHEMA

SELECT column_name, column_comment
FROM information_schema.columns
WHERE table_name = 'users'
AND table_schema = 'my_database';

Output

+-------------+---------------------+
| column_name | column_comment      |
+-------------+---------------------+
| id          | User ID             |
| name        | User name           |
| email       | Email address       |
| age         | Age (optional)      |
+-------------+---------------------+

7-5. Bagaimana Cara Mengotomatiskan Pengambilan Daftar Kolom dengan Skrip?

Pertanyaan

“Apakah ada cara untuk mengambil daftar kolom dengan skrip dan mencatatnya secara otomatis?”

Jawaban

Dengan skrip Python atau Shell, Anda dapat mengambil dan menyimpan daftar kolom secara berkala.

Contoh skrip Python

import mysql.connector

config = {
    'user': 'your_user',
    'password': 'your_password',
    'host': 'localhost',
    'database': 'your_database'
}

conn = mysql.connector.connect(**config)
cursor = conn.cursor()

cursor.execute("SELECT column_name FROM information_schema.columns WHERE table_name = 'users'")
columns = cursor.fetchall()

print("Columns:")
for column in columns:
    print(column[0])

cursor.close()
conn.close()

Contoh skrip Shell

#!/bin/bash

DB_NAME="your_database"
TABLE_NAME="users"
USER="your_user"
PASSWORD="your_password"

mysql -u$USER -p$PASSWORD -D$DB_NAME -e "SELECT column_name FROM information_schema.columns WHERE table_name = '$TABLE_NAME';"

Jalankan terjadwal (cron job)

0 3 * * * /path/to/mysql_columns.sh

(Mengambil dan mencatat daftar kolom setiap hari pada pukul 03:00.)

Ringkasan

Pada bagian ini, kami memperkenalkan pertanyaan yang sering diajukan dan solusi tentang penataan kolom MySQL.

Poin Penting

SHOW COLUMNS dan DESCRIBE mirip, tetapi SHOW COLUMNS lebih fleksibel
INFORMATION_SCHEMA memungkinkan Anda mencari kolom di seluruh basis data
Gunakan INFORMATION_SCHEMA.COLUMNS untuk menemukan tabel yang berisi kolom tertentu
Gunakan SHOW FULL COLUMNS atau INFORMATION_SCHEMA untuk mengambil komentar kolom
Skrip Python atau Shell dapat mengotomatisasi pengambilan kolom dan cron dapat menjadwalkannya

8. Ringkasan Akhir

Dalam artikel ini, kami menjelaskan cara mengambil daftar kolom di MySQL secara detail.
Dari perintah SQL dasar hingga metode pencarian lanjutan, otomasi, penanganan kesalahan, dan penggunaan alat GUI,
kami mencakup berbagai pengetahuan praktis.
Akhirnya, mari rangkum poin-poin terpenting dari seluruh artikel.

8-1. Gambaran Lengkap: Cara Menampilkan Kolom di MySQL

Metode Dasar

MethodCommandNotes
SHOW COLUMNSSHOW COLUMNS FROM table_name;The simplest method. Retrieve per table.
DESCRIBEDESCRIBE table_name;An alias for SHOW COLUMNS.
INFORMATION_SCHEMASELECT column_name FROM information_schema.columns WHERE table_name = 'table_name' AND table_schema = 'database_name';Search column info across the entire database.

SHOW COLUMNS dan DESCRIBE sederhana dan nyaman
INFORMATION_SCHEMA memungkinkan Anda mencari kolom di seluruh basis data

8-2. Cara Lanjutan untuk Mengambil Informasi Kolom

MethodCommandPurpose
Retrieve columns for all tablesSELECT table_name, column_name FROM information_schema.columns WHERE table_schema = 'database_name';List all columns across the database.
Find tables containing a specific columnSELECT table_name FROM information_schema.columns WHERE column_name = 'column_name' AND table_schema = 'database_name';Find which tables contain the column.
Retrieve detailed column infoSELECT column_name, data_type, is_nullable, column_default FROM information_schema.columns WHERE table_name = 'table_name' AND table_schema = 'database_name';Check data types, NULL allowance, and defaults.

Anda dapat mencari tabel yang berisi kolom tertentu (berguna saat perubahan skema)
Anda juga dapat mengambil informasi tipe data dan izin NULL

8-3. Otomasi dan Penanganan Kesalahan

Metode Otomasi

MethodLanguageCommand
Python scriptPythonUse mysql-connector-python
Shell scriptBashmysql -u user -p -e "SQL"
Scheduled run (cron job)Linux0 3 * * * /path/to/script.sh

Skrip dapat mengotomatisasi penampilan kolom
Cron job memungkinkan pemantauan skema secara berkala

Penanganan Kesalahan

ErrorCauseSolution
SELECT command deniedNo SELECT privilege for SHOW COLUMNSGRANT SELECT ON your_database.* TO 'user'@'localhost';
Access denied for userNo privileges for INFORMATION_SCHEMAGRANT SELECT ON information_schema.* TO 'user'@'localhost';
Table doesn't existWrong table nameSpecify the correct database/table

Kesalahan terkait hak istimewa dapat diselesaikan dengan perintah GRANT
Menggunakan INFORMATION_SCHEMA mungkin memerlukan hak istimewa khusus

8-4. Periksa Daftar Kolom Menggunakan Alat GUI

Alat Umum

ToolNotes
MySQL WorkbenchOfficial tool. Visually manage column information.
phpMyAdminEasy database management from a web browser.
DBeaverFeature-rich tool that supports many DBs beyond MySQL.
TablePlusSimple design and intuitive operation.

Alat GUI memungkinkan Anda memeriksa kolom tanpa perintah SQL
Desain dan penyuntingan basis data dapat dilakukan lebih intuitif

8-5. Sorotan FAQ

QuestionAnswer
What’s the difference between SHOW COLUMNS and DESCRIBE?They are almost the same, but SHOW COLUMNS has more options.
What are the benefits of using INFORMATION_SCHEMA?You can search across the database and find tables that contain a specific column.
How can I find tables that contain a specific column?Use INFORMATION_SCHEMA.COLUMNS.
How can I retrieve column comments?Use SHOW FULL COLUMNS or INFORMATION_SCHEMA.COLUMNS.
How can I automate column listing?Use Python/Shell scripts and schedule them with cron.

Berikan jawaban jelas untuk pertanyaan umum
Gunakan contoh SQL konkret untuk meningkatkan kepraktisan

8-6. Tips untuk Manajemen Basis Data yang Lebih Efisien

Akhirnya, berikut beberapa tips untuk meningkatkan efisiensi manajemen basis data.

Dokumentasikan struktur tabel Anda

  • Gunakan SHOW CREATE TABLE untuk merekam struktur tabel
  • Periksa INFORMATION_SCHEMA secara berkala untuk melacak perubahan skema

Siapkan manajemen hak istimewa yang tepat

  • Gunakan GRANT dan REVOKE untuk membatasi hak istimewa yang tidak diperlukan
  • Gunakan log audit untuk mencatat siapa yang mengubah tabel mana

Otomatisasi tugas rutin dengan skrip

  • Ambil dan catat daftar kolom secara berkala menggunakan skrip Python atau Shell
  • Gunakan cron job untuk memantau perubahan skema setiap hari

Ringkasan dan Langkah Selanjutnya

Dalam artikel ini, kami menjelaskan cara menampilkan kolom di MySQL secara sistematis dari dasar hingga lanjutan.
Dalam manajemen dan pengembangan basis data, menampilkan kolom penting untuk memahami struktur tabel dan meningkatkan efisiensi debugging.

Langkah Selanjutnya

Coba daftar kolom di MySQL di lingkungan Anda
Coba otomatisasi alur kerja dengan skrip Python atau Shell
Gunakan alat GUI untuk mempermudah manajemen basis data

Dengan keterampilan ini, Anda dapat mengelola basis data MySQL dengan lebih efisien! 🚀