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

Bagaimana cara mendapatkan skrip pembuatan tabel di MySQL Workbench?

Saya juga tidak dapat menemukan opsi seperti itu, setidaknya di edisi Komunitas.

Saya kira ini sesuai dengan Rekayasa Terbalik fitur, yang sayangnya hanya tersedia dalam edisi komersial (mengutip) :


Tetap saja, Anda dapat menggunakan SQL biasa untuk mendapatkan create table instruksi yang memungkinkan Anda membuat tabel.

Misalnya, kueri berikut:

show create table url_alias;

ketika dijalankan pada database drupal, akan memberi, saat menggunakan click > copy field content hasilnya :

'CREATE TABLE `url_alias` (
  `pid` int(10) unsigned NOT NULL auto_increment,
  `src` varchar(128) NOT NULL default '''',
  `dst` varchar(128) NOT NULL default '''',
  `language` varchar(12) NOT NULL default '''',
  PRIMARY KEY  (`pid`),
  UNIQUE KEY `dst_language` (`dst`,`language`),
  KEY `src_language` (`src`,`language`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8'

Sayangnya (lagi) , MySQL Workbench menambahkan beberapa kutipan di mana-mana saat menyalin dengan cara ini :-(

EDIT:Menggunakan MySQL 8.0, ada pilihan untuk click > copy field (unquoted) pada hasil untuk mendapatkan hasil yang diinginkan tanpa tanda kutip.


Pada akhirnya, yang paling sederhana solusi, kecuali tetap menggunakan MySQL Query Browser, kemungkinan besar akan terhubung ke database, menggunakan klien baris perintah, dan menjalankan show create table permintaan dari sana :

mysql> show create table url_alias\G
*************************** 1. row ***************************
       Table: url_alias
Create Table: CREATE TABLE `url_alias` (
  `pid` int(10) unsigned NOT NULL auto_increment,
  `src` varchar(128) NOT NULL default '',
  `dst` varchar(128) NOT NULL default '',
  `language` varchar(12) NOT NULL default '',
  PRIMARY KEY  (`pid`),
  UNIQUE KEY `dst_language` (`dst`,`language`),
  KEY `src_language` (`src`,`language`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

Mendapatkan "porsi yang tepat " dari output lebih mudah, tidak ada kutipan untuk dihapus.


Dan, demi kelengkapan, Anda juga bisa menggunakan mysqldump untuk mendapatkan struktur tabel Anda :

mysqldump --no-data --user=USERNAME --password=PASSWORD --host=HOST DATABASE_NAME TABLE_NAME

Menggunakan --no-data beralih, Anda hanya akan mendapatkan struktur -- di tengah beberapa pengaturan mode dan semua itu .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Spring Boot JPA MySQL :Gagal menentukan kelas driver yang sesuai

  2. Perbarui Bidang Saat Tidak Null

  3. ubah nama tabel menjadi huruf besar

  4. Datetime sama atau lebih besar dari hari ini di MySQL

  5. Bagaimana cara menambahkan ke setiap baris di MySQL?