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

Bagaimana cara memasukkan ke dalam tabel yang sama di MySQL?

Terkadang Anda mungkin perlu membuat banyak data dengan cepat untuk pengujian beban. Anda dapat memilih dan memasukkan ke dalam tabel yang sama di MySQL. Pendekatan ini dengan cepat menumbuhkan tabel Anda yang ada. Ini memberi banyak catatan untuk dimainkan. Berikut adalah beberapa cara untuk melakukannya.

Masukkan ke tabel yang sama di MySQL

Sintaks

INSERT INTO table_name ( field1, field2,...fieldN )
                       SELECT field1, field2, fieldN from table_name;

Contoh
Untuk tabel nama_tabel dengan kolom a, b, c

+------+------+------+
|   a  |   b  |   c  |
+------+------+------+
|   1  |   2  |   3  |
|   4  |   5  |   6  |
|   7  |   8  |   9  |
|   3  |   3  |   3  |
+------+------+------+

Masukkan ke dalam tabel yang sama di MySQL semua catatan dari tabel

mysql> INSERT INTO table_name (a,b,c) select a,b,c from table_name;
+------+------+------+
|   a  |   b  |   c  |
+------+------+------+
|   1  |   2  |   3  |
|   4  |   5  |   6  |
|   7  |   8  |   9  |
|   3  |   3  |   3  |
|   1  |   2  |   3  |
|   4  |   5  |   6  |
|   7  |   8  |   9  |
|   3  |   3  |   3  |
+------+------+------+

Menyisipkan ke dalam tabel yang sama di MySQL beberapa catatan dari tabel

mysql> INSERT INTO table_name (a,b,c) select a,b,c from table_name where a=1 or a=3;
+------+------+------+
|   a  |   b  |   c  |
+------+------+------+
|   1  |   2  |   3  |
|   4  |   5  |   6  |
|   7  |   8  |   9  |
|   3  |   3  |   3  |
|   1  |   2  |   3  |
|   3  |   3  |   3  |
+------+------+------+

Anda mungkin mendapatkan kesalahan nilai duplikat jika salah satu bidang ini adalah kunci utama atau Anda memiliki batasan keunikan untuk bidang. Inilah cara menghindarinya.

Masukkan ke tabel yang sama di MySQL tanpa duplikat

Sintaks

INSERT INTO table_name ( field1, field2,...fieldN )
                       SELECT field1, field2, fieldN from table_name
                       ON DUPLICATE KEY
                       UPDATE primary_key_field=<expression> ;

Contoh

Untuk tabel nama_tabel dengan kolom a, b, c dan c adalah kunci utama

+------+------+------+
|   a  |   b  |   c  |
+------+------+------+
|   1  |   2  |   3  |
|   4  |   5  |   6  |
|   7  |   8  |   9  |
+------+------+------+

Masukkan ke dalam tabel yang sama di MySQL semua catatan dari tabel

mysql> INSERT INTO table_name (a,b,c) select a,b,c from table_name ON DUPLICATE KEY c=c+1;
+------+------+------+
|   a  |   b  |   c  |
+------+------+------+
|   1  |   2  |   3  |
|   4  |   5  |   6  |
|   7  |   8  |   9  |
|   1  |   2  |   4  |
|   4  |   5  |   7  |
|   7  |   8  |  10  |
+------+------+------+

Menyisipkan ke dalam tabel yang sama di MySQL beberapa catatan dari tabel

mysql> INSERT INTO table_name (a,b,c) select a,b,c from table_name where a=1 or a=3 ON DUPLICATE KEY c=c+1;
+------+------+------+
|   a  |   b  |   c  |
+------+------+------+
|   1  |   2  |   3  |
|   4  |   5  |   6  |
|   7  |   8  |   9  |
|   1  |   2  |   5  |
+------+------+------+

Anda dapat membaca lebih lanjut tentang Bagaimana melakukan penyisipan massal di MySQL

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memotong semua tabel dalam database MySQL dalam satu perintah?

  2. Bagaimana cara memeriksa apakah ada baris di MySQL? (yaitu memeriksa apakah ada email di MySQL)

  3. Mysql:Pilih baris dari tabel yang tidak ada di tabel lain

  4. C# dengan parameter MySQL INSERT

  5. MySQL :tidak ada di GROUP BY