Dalam mysql, anda boleh menggunakan pernyataan INSERT untuk meningkatkan nilai medan Sintaks ialah "INSERT INTO table name field name list VALUES (value list);" atau "INSERT INTO table name SET name 1 = nilai 1, Nama medan 2 = nilai 2,…”.
Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql8, komputer Dell G3.
Dalam mysql, anda boleh menggunakan pernyataan INSERT untuk meningkatkan nilai medan.
Pernyataan INSERT boleh memasukkan satu baris atau berbilang baris data tuple ke dalam jadual sedia ada dalam pangkalan data.
Pernyataan INSERT mempunyai dua bentuk sintaks, iaitu pernyataan INSERT…VALUES dan INSERT…SET.
1) INSERT…VALUES pernyataan
INSERT VALUES 的语法格式为: INSERT INTO <表名> [ <字段名1> [ , … <字段名n>] ] VALUES (值1) [… , (值n) ];
Sintaks diterangkan di bawah.
Klausa NILAI atau NILAI: Klausa ini mengandungi senarai data yang hendak disisipkan. Susunan data dalam senarai data hendaklah sepadan dengan susunan lajur.
2) INSERT...SET pernyataan
Format sintaks ialah:
INSERT INTO <表名> SET <字段名1> = <值1>, <字段名2> = <值2>, …
Pernyataan ini digunakan untuk menambah terus pada jadual Lajur tertentu dalam menentukan nilai lajur yang sepadan, iaitu, nama lajur data yang akan dimasukkan dinyatakan dalam klausa SET, nama_kolom ialah nama lajur yang ditentukan, dan tanda sama diikuti oleh data yang ditentukan . Untuk lajur yang tidak ditentukan, nilai lajur akan ditetapkan sebagai nilai lalai untuk lajur.
Ia boleh dilihat daripada dua bentuk pernyataan INSERT:
Gunakan pernyataan INSERT...VALUES untuk memasukkan satu baris data atau beberapa baris data ke dalam jadual;
Gunakan penyataan INSERT…SET untuk menentukan nilai setiap lajur dalam baris yang disisipkan, atau anda boleh menentukan nilai beberapa lajur; >
INSERT…SELECT pernyataan Masukkan data daripada jadual lain ke dalam jadual.[Contoh 1]Masukkan rekod baharu dalam jadual tb_courses, nilai id_kursus ialah 1, nilai_nama_kursus ialah "Rangkaian", nilai gred_kursus ialah 3 dan nilai maklumat ialah "Rangkaian Komputer".
Sebelum melaksanakan operasi sisipan, lihat pernyataan SQL dan hasil pelaksanaan jadual tb_courses seperti ditunjukkan di bawah.Hasil pertanyaan menunjukkan bahawa kandungan jadual semasa kosong dan tiada data Seterusnya, masukkan data Pernyataan SQL input dan proses pelaksanaan adalah seperti berikut.
Anda boleh melihat bahawa rekod telah berjaya dimasukkan. Apabila memasukkan data, semua medan jadual tb_courses ditentukan, jadi nilai baharu akan dimasukkan untuk setiap medan. Turutan nama lajur selepas penyataan INSERT tidak semestinya tertib apabila jadual tb_courses ditakrifkan, iaitu apabila memasukkan data, tidak perlu memasukkan dalam susunan yang ditentukan oleh jadual , selagi susunan nilai adalah sama dengan susunan medan lajur.mysql> SELECT * FROM tb_courses; Empty set (0.00 sec)
mysql> INSERT INTO tb_courses -> (course_id,course_name,course_grade,course_info) -> VALUES(1,'Network',3,'Computer Network'); Query OK, 1 rows affected (0.08 sec) mysql> SELECT * FROM tb_courses; +-----------+-------------+--------------+------------------+ | course_id | course_name | course_grade | course_info | +-----------+-------------+--------------+------------------+ | 1 | Network | 3 | Computer Network | +-----------+-------------+--------------+------------------+ 1 row in set (0.00 sec)
Apabila menggunakan INSERT untuk memasukkan data, senarai nama lajur column_list dibenarkan kosong Pada masa ini, senarai nilai perlu menentukan nilai untuk setiap medan jadual dan susunan nilai mesti sama seperti apabila medan ditakrifkan dalam jadual data.
[Contoh 3]Masukkan rekod baharu dalam jadual tb_courses, nilai course_id ialah 3, nilai course_name ialah "Java", nilai course_grade ialah 4 dan nilai info ialah "Jave EE". Pernyataan SQL input dan keputusan pelaksanaan ditunjukkan di bawah.
mysql> INSERT INTO tb_courses -> (course_name,course_info,course_id,course_grade) -> VALUES('Database','MySQL',2,3); Query OK, 1 rows affected (0.08 sec) mysql> SELECT * FROM tb_courses; +-----------+-------------+--------------+------------------+ | course_id | course_name | course_grade | course_info | +-----------+-------------+--------------+------------------+ | 1 | Network | 3 | Computer Network | | 2 | Database | 3 | MySQL | +-----------+-------------+--------------+------------------+ 2 rows in set (0.00 sec)
Tiada senarai sisipan dinyatakan dalam pernyataan INSERT, hanya senarai nilai. Dalam kes ini, senarai nilai menentukan nilai yang dimasukkan untuk setiap lajur medan, dan nilai mestilah dalam susunan yang sama seperti medan yang ditakrifkan dalam jadual tb_courses.
Nota: Walaupun nama lajur data yang dimasukkan boleh diabaikan apabila menggunakan INSERT untuk memasukkan data, jika nilai tidak mengandungi nama lajur, nilai selepas kata kunci VALUES bukan sahaja mesti lengkap, tetapi juga susunan mestilah sama dengan susunan lajur apabila jadual ditakrifkan sama. Jika struktur jadual diubah suai, dan lajur ditambah, dipadamkan atau kedudukannya ditukar, operasi ini akan menyebabkan susunan data dimasukkan dengan cara ini berubah pada masa yang sama. Jika anda menentukan nama lajur, ia tidak akan terjejas oleh perubahan struktur jadual.
mysql> INSERT INTO tb_courses -> VLAUES(3,'Java',4,'Java EE'); Query OK, 1 rows affected (0.08 sec) mysql> SELECT * FROM tb_courses; +-----------+-------------+--------------+------------------+ | course_id | course_name | course_grade | course_info | +-----------+-------------+--------------+------------------+ | 1 | Network | 3 | Computer Network | | 2 | Database | 3 | MySQL | | 3 | Java | 4 | Java EE | +-----------+-------------+--------------+------------------+ 3 rows in set (0.00 sec)
为表的指定字段插入数据,是在 INSERT 语句中只向部分字段中插入值,而其他字段的值为表定义时的默认值。
【实例 4】在 tb_courses 表中插入一条新记录,course_name 值为“System”,course_grade 值为 3,course_info 值为“Operating System”,输入的 SQL 语句和执行结果如下所示。
mysql> INSERT INTO tb_courses -> (course_name,course_grade,course_info) -> VALUES('System',3,'Operation System'); Query OK, 1 rows affected (0.08 sec) mysql> SELECT * FROM tb_courses; +-----------+-------------+--------------+------------------+ | course_id | course_name | course_grade | course_info | +-----------+-------------+--------------+------------------+ | 1 | Network | 3 | Computer Network | | 2 | Database | 3 | MySQL | | 3 | Java | 4 | Java EE | | 4 | System | 3 | Operating System | +-----------+-------------+--------------+------------------+ 4 rows in set (0.00 sec)
可以看到插入记录成功。如查询结果显示,这里的 course_id 字段自动添加了一个整数值 4。这时的 course_id 字段为表的主键,不能为空,系统自动为该字段插入自增的序列值。在插入记录时,如果某些字段没有指定插入值,MySQL 将插入该字段定义时的默认值。
【相关推荐:mysql视频教程】
Atas ialah kandungan terperinci Bagaimana untuk meningkatkan nilai medan dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!