masukkan rekod
Sisipkan rekod
Terdapat dua sintaks asas untuk memasukkan rekod
Sisipkan sintaks asas satu
Sisipkan Tatabahasa Asas 2
Penjelasan
Tatabahasa Asas 1 dan Tatabahasa Asas Perbezaan antara 2 ialah:
1 Untuk penyataan sisipan sintaks asas 1, seberapa banyak nilai yang terdapat dalam jadual mesti disisipkan. Tiada siapa boleh lebih, dan tiada siapa boleh kurang. Jika terdapat nilai lalai dan anda tidak mahu meneruskannya, anda boleh menulis nol.
2. Dalam Sintaks Asas 2, melainkan terdapat medan yang diperlukan, nilai mesti ditulis. Jika anda tidak mahu menulis nilai lalai, anda boleh mengabaikannya. mysql akan melengkapkan nilai lalai secara automatik.
3 Dalam sintaks asas 2, susunan medan pengguna(id, nama pengguna, jantina) ialah susunan nilai.
Andaikan terdapat jadual yang dipanggil jadual pengguna Kami menghuraikan medan, perihalan medan, jenis dan status pilihan dan diperlukan bagi medan tersebut:
Tulis pernyataan sisipan dalam jadual di atas mengikut sintaks asas:
insert into user values(null,'王开 ','php@163.com',null ,1);
Nota
1 tertib selepas nilai hendaklah konsisten dengan pengisihan medan jadual.
2. Medan dengan nilai lalai tidak perlu ditulis, maka nilai lalai akan digunakan.
3 Jika terdapat nilai lalai atau medan yang boleh dibatalkan dan anda tidak mahu memasukkan nilai tertentu, anda boleh menulis nol.
4. Format data mestilah konsisten dengan format data yang dinyatakan dalam jadual.
Tulis pernyataan sisipan dalam jadual di atas mengikut sintaks asas 2:
insert into user(username,sex) values('王开',1);
Nota
1 Medan dengan ID penambahan automatik tidak perlu memasukkan nilai . Setiap kali ini dimasukkan, Nilai medan akan meningkat secara automatik sebanyak 1.
2. Medan dengan nilai lalai dan nilai yang boleh dibatalkan tidak perlu dihantar
3 Berdasarkan susunan pemasukan pengguna jadual (nama pengguna, jantina)
4. Sintaks asas Yang kedua ialah penggunaan yang lebih biasa
Variasi sintaks asas: masukkan berbilang rekod pada satu masa
insert into user(username,password,sex) values('黄晓明', 'abcdef', 1), ( 'angelababy', 'bcdeef', 0), ( '陈赫', '123456', 1), ('王宝强', '987654', 1);
Selepas memasukkan rekod, kembalikan ID rekod
Mysql提供了一个LAST_INSERT_ID()的函数。 mysql> SELECT LAST_INSERT_ID(); -> 195
Ringkasnya, fungsi ini akan Mengembalikan nilai medan yang ditambah secara automatik dalam jadual rekod yang dimasukkan Secara amnya, kami menamakan ID medan yang ditambah secara automatik. Ini akan mengembalikan nilai ID rekod yang baru dimasukkan.
Kaedah pelaksanaan MySQL untuk memasukkan rekod apabila ia tidak wujud dan kemudian mengemas kininya jika ia wujud
mysql> truncate `200702`; Query OK, 0 rows affected (0.01 sec) mysql> select * from `200702`; Empty set (0.01 sec) mysql> insert into `200702` (`domain`, `2nd_domain`, `tld`, `query_ns1`, `query_ns2`, `report_date`) values ('dnspod.com', 'dnspod', 'com', 1000, 2000, '2007-02-04') ON DUPLICATE KEY UPDATE `query_ns1` = `query_ns1` + 1000, `query_ns2` = `query_ns2` + 2000; Query OK, 1 row affected (0.00 sec)
Sudah tentu, apabila mencipta jadual, jangan lupa untuk membuat unik
UNIQUE KEY `domain` (`domain`,`report_date`)
untuk domain