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

Duplikat, Salin, atau Cadangkan Tabel di MySQL, MariaDB, Oracle, PostgreSQL, DB2 dan SQLite dengan Create Table As SQL

Di Oracle, PostgreSQL, DB2, MySQL, MariaDB dan sistem database SQLite, ada fitur perintah yang bagus yang disebut Buat Tabel Sebagai yang memungkinkan duplikasi tabel dengan mudah dengan data dari tabel lain atau beberapa tabel lainnya. Perintah SQL juga dapat digunakan untuk 'menyalin dan menempel' tabel secara tepat atau membuat cadangan data tabel sebelum melakukan kueri manipulasi data pada tabel asli, untuk berjaga-jaga jika skrip mengalami kesalahan dan tanggal pencadangan dapat digunakan untuk mengembalikan ke keadaan semula . Buat Tabel Sebagai akan membuat tabel baru yang dibuat dari konten kumpulan data atau kumpulan hasil yang diambil oleh Pilih Query SQL dari tabel yang sudah ada dalam database.

Sintaks pernyataan Create Table As SQL adalah:

CREATE TABLE table_name [ ( column_name [, ...] ) ]
             AS select [ * ! ( column_name [, ...] ) ] FROM source_table_name

Ganti table_name dengan nama tabel baru yang akan dibuat. Nama kolom bersifat opsional, di mana Anda dapat menentukan beberapa kolom dengan memasukkan namanya dalam daftar yang dipisahkan koma. Jika tidak, struktur tabel baru akan didasarkan pada nama kolom, jenis dan jumlah kolom yang dikembalikan oleh pernyataan Select, bersama dengan data baris. Jika Anda menentukan nama kolom, perhatikan bahwa jumlah kolom yang ditentukan harus sama dengan yang dikembalikan oleh pilih.

Pernyataan pilih di akhir buat tabel sebagai perintah harus valid, dan memiliki jumlah target yang dipilih sesuai dengan jumlah kolom dalam daftar kolom opsional sebelum klausa AS. Ini bisa menjadi pernyataan pilih yang kompleks yang mengambil data dari beberapa tabel. Jika daftar kolom opsional ditentukan dalam tanda kurung, tanda bintang (*) tidak dapat lagi digunakan dalam pernyataan pilih.

Misalnya,

CREATE TABLE demo_backup
AS SELECT * FROM demo;

Pernyataan SQL di atas akan membuat tabel cadangan replika yang tepat bernama demo_backup dengan data dan struktur (kolom) tabel demo.

Kemungkinan kesalahan jika Anda menentukan daftar kolom opsional adalah:

KESALAHAN:CREATE TABLE/AS SELECT memiliki jumlah kolom yang tidak cocok

Jika Anda menemukan pesan kesalahan ini, ini karena daftar kolom opsional dalam tanda kurung berisi jumlah baris yang berbeda dari pernyataan pilih yang dikembalikan. Periksa kembali apakah jumlah kolom yang ditentukan sama dengan hasil yang diharapkan dari hasil yang dipilih.

CatatanBeberapa sistem database mendukung CREATE TABLE … sintaks LIKE yang membuat tabel kosong berdasarkan definisi tabel lain, termasuk atribut kolom dan indeks yang ditentukan dalam tabel asli. Perbedaannya adalah CREATE TABLE … sintaks SELECT juga menyalin data.


  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 melihat semua kunci asing ke tabel atau kolom?

  2. Kesalahan MySQL 1215:Tidak dapat menambahkan batasan kunci asing

  3. Bagaimana ClusterControl Mengonfigurasi IP Virtual dan Apa yang Diharapkan Selama Failover

  4. Dapatkan tanggal terbaru dari data MySQL yang dikelompokkan

  5. Sisipkan Query Untuk Menyisipkan Baris di MySQL