Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Berbagai Cara untuk Melihat Tabel di Server MySQL

Ada dua metode utama untuk melihat tabel di MySQL:

  1. MYSQL SHOW TABEL perintah.
  2. Meminta Information_schema.tables tabel.

Dalam artikel ini, kita akan menjelajahi keduanya.

Perintah MySQL SHOW TABLES

Perintah show tables menampilkan daftar semua tabel yang dibuat dalam database. Sintaksnya adalah sebagai berikut:

SHOW [EXTENDED] | [FULL] TABLES
    [{FROM} database_name]
    [LIKE 'DBNamePattern']

Dalam sintaks,

  1. Pengubah :Kita dapat menggunakan salah satu opsi berikut untuk melihat tabel:
    1. DIPERPANJANG – opsi ini mengisi daftar tabel yang telah dibuat oleh pernyataan ALTER TABLE yang gagal.
    2. PENUH – opsi ini menunjukkan kolom tambahan yang menyediakan tipe tabel. Ini bisa berupa Tabel Dasar, Tampilan, atau Tampilan Sistem.
  2. DARI – jika Anda ingin mengisi daftar tabel dari tabel tertentu, Anda dapat menggunakan kata kunci FROM.
  3. SUKA – jika Anda ingin mengisi daftar tabel dengan pola tertentu dalam namanya, Anda dapat menggunakan kata kunci LIKE.

Mari kita lihat contohnya.

Contoh 1:Tampilkan Semua Tabel yang Dibuat dalam Basis Data Tertentu

Untuk melihat semua tabel MySQL yang dibuat di Sakila database, gunakan pengubah LENGKAP dan kata kunci FROM. Jalankan perintah berikut:

mysql> SHOW TABLES FROM sakila;

Keluaran

Seperti yang Anda lihat, kueri mengisi daftar tabel dari Sakila basis data.

Contoh 2:Mengisi Daftar Tabel dengan Pola Kata Kunci Tertentu

Misalkan kita ingin mendapatkan daftar tabel yang namanya dimulai dengan kata kunci film . Kami menggunakan kata kunci LIKE untuk mencocokkan pola.

Tapi saat kita menggunakan LIKE kata kunci, kami tidak dapat menggunakan FROM pengubah. Pertanyaannya adalah sebagai berikut:

use sakila;
SHOW TABLES like 'film%'

Keluaran

Contoh 3:Mengisi Daftar Tabel dengan Tipenya

Untuk mengisi daftar tabel dengan tipenya, kita dapat menggunakan FULL pengubah. Misalkan kita ingin menurunkan daftar tabel dengan tipenya yang dibuat di database Sakila. Lihat kueri berikut:

mysql> SHOW FULL TABLES FROM sakila;

Keluaran

Sekarang, mari kita isi daftar tabel dari information_schema.tables .

Meminta Tabel Information_schema.tables

Untuk melihat tabel MySQL, kita dapat menggunakan information_schema.tables tabel yang berisi informasi berikut:

  • Skema_Tabel :Nama database atau skema tempat tabel dibuat.
  • Nama_tabel: Nama tabel.
  • Tipe_tabel: Jenis meja. Ini dapat berupa salah satu dari berikut ini:
    • Tampilan Sistem: Daftar tampilan sistem. Ini berisi informasi detail internal database. Tampilan ini dibuat dengan menggabungkan beberapa tabel dasar dengan informasi database.
    • Tabel dasar: Daftar tabel dasar dapat berupa tabel pengguna atau tabel sistem.
    • Tampilan: Daftar tampilan yang ditentukan pengguna.
  • Mesin :Nama mesin database tempat tabel dibuat.
  • Versi :Nomor versi .frm file tabel.
  • Baris_format :Format penyimpanan baris. Format penyimpanan baris dapat berupa salah satu dari berikut ini:
    • Tetap
    • Terkompresi
    • Berlebihan
    • Dinamis
    • Ringkas
  • Baris_Tabel :Jumlah baris dalam tabel. Jika Anda menggunakan tabel InnoDB, ini mengembalikan perkiraan jumlah baris. Untuk mendapatkan jumlah baris yang tepat, gunakan SELECT COUNT(*) kueri.
  • Panjang_baris rata-rata :Rata-rata panjang baris file data.
  • Panjang_data :Jika Anda menggunakan tabel MyISAM, nilai data_length kolom adalah panjang file data. Jika Anda menggunakan tabel InnoDB, nilai Data_length kolom adalah jumlah ukuran yang dialokasikan untuk indeks berkerumun dikalikan dengan ukuran halaman InnoDB.
  • Panjang_data_maks: Panjang maksimum file data yang diizinkan. Ini adalah jumlah byte yang dapat disimpan dalam tabel.
  • Panjang_indeks: Panjang indeks. Jika Anda menggunakan tabel MyISAM, nilai index_length kolom menunjukkan ukuran indeks. Jika Anda menggunakan tabel InnoDB, nilai index_length kolom adalah ukuran total semua indeks non-cluster dikalikan dengan ukuran halaman.
  • Bebas_data :Jumlah total byte yang dialokasikan tetapi tidak digunakan. Jika Anda menggunakan tabel InnoDB, nilai data_free kolom adalah ruang tablespace yang tidak terpakai di mana tabel telah dibuat.
  • Peningkatan_otomatis: Nilai Peningkatan_Otomatis kolom adalah nilai kenaikan otomatis berikutnya.
  • Waktu_Buat :Tanggal dan waktu tabel dibuat. Saat kami memulihkan database, nilai create_date akan menjadi waktu ketika database dipulihkan.
  • Waktu_pembaruan :Tanggal dan waktu saat file data diperbarui. Ini menampilkan stempel waktu dari pernyataan INSERT, UPDATE, atau DELETE terakhir yang dieksekusi pada tabel InnoDB.
  • Waktu_Periksa: Tanggal dan waktu terakhir kali tabel diperiksa.
  • Table_collation :Nama susunan default tabel.
  • Checksum :Nilai checksum.
  • Buat_Opsi :Opsi konfigurasi tambahan yang digunakan untuk membuat tabel.
  • Table_comment :Komentar atau informasi yang digunakan saat membuat tabel.

Contoh 1:Isi Daftar Semua Tabel

Misalkan kita ingin mengisi semua tabel yang dibuat di semua database. Pertanyaannya adalah sebagai berikut:

mysql> select table_catalog, table_schema, table_name,table_type,create_time from information_schema.tables;

Keluaran

Seperti yang Anda lihat, kueri telah mengisi daftar tabel dengan nama database dan waktu pembuatan. Kueri mengembalikan banyak catatan, sehingga output dipangkas.

Contoh 2:Isi Daftar Semua Tabel yang Dibuat dalam Basis Data Tertentu

Untuk mengisi daftar tabel yang dibuat di Sakila database, Anda dapat menerapkan filter pada Table_Schema kolom:

mysql> select table_catalog, table_schema, table_name,table_type,create_time from information_schema.tables WHERE table_schema='sakila';

Keluaran

Seperti yang Anda lihat, kueri telah mengembalikan daftar tabel dan tampilan yang dibuat di database Sakila, waktu pembuatannya, dan jenisnya.

Contoh 3:Isi Daftar Semua Tabel dengan Jumlah Baris

Kami dapat menyertakan Table_rows kolom untuk melihat jumlah baris tabel MySQL. Misalkan Anda ingin mendapatkan daftar tabel yang namanya dimulai dengan film . Output harus menyertakan jumlah record dalam tabel tersebut.

mysql> select table_catalog, table_schema, table_name,table_type,table_rows from information_schema.tables WHERE table_schema='sakila' and table_name like 'film%' and table_type='BASE TABLE';

Keluaran

Contoh 4:Mengisi Hitungan Tabel dan Tampilan

Misalnya, kami ingin mendapatkan jumlah tabel dan tampilan yang dibuat dalam database. Untuk melakukannya, jalankan kueri berikut:

mysql> select table_schema as 'Database OR Schema name', count(table_type) as 'Tables and Views', table_type as 'Object Type' from information_schema.tables  group by table_type,table_schema;

Keluaran

Seperti yang Anda lihat pada gambar di atas, kueri telah mengisi jumlah tabel dan tampilan yang dibuat di semua database.

Contoh 5:Tabel dengan Ukurannya

Sekarang, kita ingin mengisi daftar tabel yang dibuat di Sakila database dengan ukurannya. Untuk membuat daftar, jalankan kueri berikut:

mysql> SELECT Table_schema as 'Database Name',  TABLE_NAME AS 'Table',   ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 ) AS 'Size in KB' FROM   information_schema.TABLES WHERE TABLE_SCHEMA = 'sakila' and table_type='BASE TABLE' ORDER BY  (DATA_LENGTH + INDEX_LENGTH) DESC;

Keluaran

Seperti yang Anda lihat, kueri telah mengembalikan nama database, nama tabel, dan ukuran.

Ringkasan

Jadi, kita telah mendefinisikan dan belajar menggunakan metode mengisi daftar tabel yang dibuat dalam database. Kami menjelajahi TAMPILKAN TABEL perintah, dan kemudian kami memeriksa metode kueri Information_schema.tables meja. Kami berharap tips ini akan berguna dalam alur kerja Anda.

Jika Anda ingin mempelajari selengkapnya tentang tabel di SQL, baca artikel tentang tabel sementara di SQL Server. Dan jika Anda ingin menambahkan sesuatu, berbagi tip pekerjaan Anda, atau mendiskusikan metode ini, Anda dipersilakan di bagian Komentar.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara memilih baris ke-n dalam tabel database SQL?

  2. Alternatif untuk Intersect di MySQL

  3. Bagaimana cara memasukkan karakter utf-8 mb4 (emoji di ios5) di mysql?

  4. 10 Pertanyaan Wawancara Database MySQL untuk Pemula dan Menengah

  5. mySQL DataSource di Visual Studio 2012