Bagaimana cara membuat skrip buat tabel untuk tabel yang ada di phpmyadmin?

246

Bagaimana saya bisa menghasilkan skrip buat tabel untuk tabel yang ada di phpmyadmin?

Marko Cakic
sumber

Jawaban:

513

Gunakan kueri berikut di tab sql:

SHOW CREATE TABLE tablename

Untuk melihat kueri lengkap Ada Hyperlink bernama + Opsi ini tersisa di atas, Ada pilih Teks Lengkap

Karan Punamiya
sumber
1
Apakah ada cara untuk menentukan basis data mana, misalnya jika Anda memiliki banyak basis data yang berisi nama-nama tab yang sama? Atau apakah itu tidak mungkin?
Davos
6
@Davos gunakan ini, tampilkan buat tabel database_name.tablename.
Fahad Anjum
Terima kasih, ini yang saya inginkan
astrosixer
Apakah ada argumen yang dapat saya tambahkan untuk mengekspornya ke file?
Dan.
40

Jalankan SHOW CREATE TABLE <table name>kueri.

Devart
sumber
4
+1. Catatan: jika menjalankan kueri dari baris perintah, ;di bagian akhir diperlukan.
Dirahasiakan
15

Mysqladmin dapat melakukan pekerjaan menyimpan skrip buat tabel.

Langkah 1, buat tabel, masukkan beberapa baris:

create table penguins (id int primary key, myval varchar(50))
insert into penguins values(2, 'werrhhrrhrh')
insert into penguins values(25, 'weeehehehehe')
select * from penguins

Langkah 2, gunakan perintah dump mysql:

mysqldump --no-data --skip-comments --host=your_database_hostname_or_ip.com -u your_username --password=your_password your_database_name penguins > penguins.sql

Langkah 3, amati hasilnya di penguins.sql:

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
DROP TABLE IF EXISTS `penguins`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `penguins` (
  `id` int(11) NOT NULL,
  `myval` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

Outputnya berantakan oleh sejumlah token kondisi eksekusi di atas dan di bawah. Anda dapat memfilternya jika Anda tidak menginginkannya di langkah berikutnya.

Langkah 4 (Opsional), saring token kondisi ekslusif tambahan seperti ini:

mysqldump --no-data --skip-comments --compact --host=your_database_hostname_or_ip.com -u your_username --password=your_password your_database_name penguins > penguins.sql

Yang menghasilkan hasil akhir:

eric@dev /home/el $ cat penguins.sql

DROP TABLE IF EXISTS `penguins`;
CREATE TABLE `penguins` (
  `id` int(11) NOT NULL,
  `myval` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Eric Leschinski
sumber
9

Jalankan kueri adalah tab sql

SHOW CREATE TABLE tableName

Klik

+ Opsi -> Pilih Teks Lengkap -> Klik Pergi

Salin Buat Tabel permintaan dan tempel di mana Anda ingin membuat tabel baru.

Samir Mangroliya
sumber
Terima kasih atas tipnya menampilkan teks lengkap, tidak yakin mengapa itu terputus sampai saya melihat jawaban Anda.
Dymas
@Dymas Anda harus memilih teks lengkap untuk menampilkan kueri lengkap. saya telah melakukan hal yang sama untuk melihat permintaan penuh.
Samir Mangroliya
7

Permintaan information_schema.columns secara langsung:

select * from information_schema.columns 
where table_name = 'your_table' and table_schema = 'your_database'
Eric Leschinski
sumber
2

Ini mungkin jawaban yang terlambat. Tapi itu bisa membantu orang lain. Ini sangat sederhana di MY SQL Workbench (Saya menggunakan Workbench versi 6.3 dan My SQL Version 5.1 Community edition): Klik kanan pada tabel yang Anda inginkan skrip pembuatannya, pilih opsi 'Salin ke Clipboard -> Buat Pernyataan'. Cukup tempel di editor teks apa pun yang Anda inginkan untuk mendapatkan skrip buat.

Narasimman V
sumber
0

Menggunakan Fungsi PHP.

Tentu saja fungsi permintaan ($ this-> model) Anda harus mengubah ke Anda sendiri.

/**
 * Creating a copy table based on the current one
 * 
 * @param type $table_to_copy
 * @param type $new_table_name
 * @return type
 * @throws Exception
 */
public function create($table_to_copy, $new_table_name)
{
    $sql = "SHOW CREATE TABLE ".$table_to_copy;

    $res = $this->model->queryRow($sql, PDO::FETCH_ASSOC);

    if(!filled($res['Create Table']))
        throw new Exception('Could not get the create code for '.$table_to_copy);

    $newCreateSql = preg_replace(array(
        '@CREATE TABLE `'.$table_to_copy.'`@',
        '@KEY `'.$table_to_copy.'(.*?)`@',
        '@CONSTRAINT `'.$table_to_copy.'(.*?)`@',
        '@AUTO_INCREMENT=(.*?) @',
    ), array(
        'CREATE TABLE `'.$new_table_name.'`',
        'KEY `'.$new_table_name.'$1`',
        'CONSTRAINT `'.$new_table_name.'$1`',
        'AUTO_INCREMENT=1 ',
    ), $res['Create Table']);

    return $this->model->exec($newCreateSql);
}
falcon_01
sumber
0

Saya menemukan cara lain untuk mengekspor tabel dalam file sql.

Misalkan meja saya abs_item_variations

abs_item_variations ->structure -> propose table structure -> export -> Go
Sumar kumar
sumber
0

Ekspor seluruh format pilih basis data sebagai SQL. Sekarang, buka file SQL yang telah Anda unduh menggunakan notepad, notepad ++ atau editor apa pun. Anda akan melihat semua tabel dan memasukkan kueri dari basis data Anda. Semua skrip akan tersedia di sana.

Dhaval Mistry
sumber
-2

Satu lagi jalan. Pilih tabel target di panel kiri di phpMyAdmin, klik pada tab Export, batalkan pilihan blok Data dan klik tombol Go.

BJ_
sumber