MySQL INSERT语句简介
INSERT语句用于将数据添加到表中。INSERT INTO命令将一个或多个行插入到MySQL表中。根据要添加的行数,语法略有不同。
MySQL INSERT INTO –通用语法
当在MySQL表中插入一条单行时,语法如下:
INSERT INTO table_name(column_1,column_2,column_3) VALUES (value_1,value_2,value_3);
在INSERT INTO查询中,您应该指定以下信息:
- table_name:要向其添加新行的MySQL表。
- (column_1,column_2,column_3):新行将包含的列列表。这些列在圆括 中用逗 分隔。
- (value_1,value_2,value_3):将用括 括起来的值列表,该值将用于每个对应的列。
列数和值应匹配;否则,它将失败。
在MySQL表中插入多行时,语法如下:
INSERT INTO table_name (column_1, column_2, column_3, ...) VALUES (value_list_1), (value_list_2), ... (value_list_n);
在这里,您应该输入以下信息:
- table_name:要在其中插入数据的表。
- column_1, column_2, column_3:用于存储数据的列的列表。这些列在圆括 中用逗 分隔。
- value_list_1/2/…/n:要在一行中插入的值的列表。这些值在圆括 中用逗 分隔。每个列表中的值数应与中指定的列数相匹配。(column_1, column_2, column_3, …)
此外,在VALUES子句中,行用逗 分隔。
MySQL INSERT范例
让我们探讨一些在执行与数据相关的任务时使用MySQL INSERT语句的示例。
首先,通过执行以下脚本创建三个表:Customer,Products01和Smartphones:
CREATE TABLE Customers ( ID int, Age int, FirstName varchar(20), LastName varchar(20) ); -- Создание таблицы Products CREATE TABLE Products01 ( ID int, ProductName varchar(30) NOT NULL, Manufacturer varchar(20) NOT NULL, Price decimal NOT NULL, ProductCount int DEFAULT 0 ); CREATE TABLE Smartphones ( ID int, ProductName varchar(30) NOT NULL, Manufacturer varchar(20) NOT NULL, Price decimal NOT NULL, ProductCount int DEFAULT 0 );
用于插入指定值的MySQL INSERT命令
当需要为指定的行添加值和列时,可以使用此命令。例如,只有在添加数据名字和姓氏的列的客户表。
INSERT INTO Customers(ID, FirstName, LastName) VALUES ('1', 'User', 'Test');
命令插入值的名字和姓氏作为C列ustomers MySQL表。由于Age列使用Null作为默认值,因此,如果您未在INSERT语句中明确指定Null的值,则MySQL会将Null插入Age列。
MySQL INSERT命令用于向所有列插入值
可以使用此命令将值添加到所有列。例如,将值添加到Product01表。请记住,值的顺序应与表中列的顺序匹配。
INSERT INTO Products01 VALUES ('01', 'iPhoneX', 'Apple', 35000, 3);
该语句将指定的值插入到Product01表的所有列中。
MySQL INSERT命令用于插入默认值
当为列指定默认值时,可以使用此命令。例如,Products01表的ProductCount列的默认值等于0。要插入默认值,请执行以下查询之一:
INSERT INTO Products01(ProductName, Manufacturer, Price, ProductCount) VALUES ('Nokia 9', 'HD Global', '41000', DEFAULT);
INSERT INTO Products01 (ProductName, Manufacturer, Price, ProductCount) VALUES ('Nokia 9', 'HD Global', '41000', NULL);
该语句为ProductCount列插入默认值。
MySQL INSERT用于插入特定值
要将值插入列中,我们可以使用SET子句代替VALUES子句。
INSERT INTO Customers SET ID=2, FirstName='User2';
在输出中,该语句根据SET子句中显式指定的值将值插入到列中。
MySQL INSERT用于从另一个表插入数据
在MySQL INSERT INTO语句中使用SELECT子句可以将SELECT语句生成的行插入到目标MySQL表中。
INSERT INTO Products01 SELECT * FROM Smartphones;
在这种情况下,INSERT INTO语句复制您使用SELECT语句从Smartphones表中检索的行,并将其插入到Products01表中。
如果要根据条件检索特定的行,请在WHERE子句中应用过滤选项。请记住,两个表的结构应该匹配;否则,它将无法正常工作。
INSERT INTO Products01 SELECT * FROM Smartphones WHERE Price=34000;
此命令将价格等于34000的Smartphones表中的Products01表值添加到其中。
您也可以从另一个表复制并插入指定的列。但是,在这种情况下,请确保目标表中没有指定名称的记录。否则,它将失败,并发生错误。
MySQL INSERT –插入数据时忽略错误
如果在执行向MySQL表中插入行时遇到错误或任何意外行为,该语句的执行将被中断。具有有效值和无效值的行不会添加到表中。例如,执行以下查询:
INSERT INTO Products01 VALUES ('01', 'iPhoneX', 'Apple', 35000, 3);
该语句返回错误,因为具有该ID的记录已经存在。现在,使用IGNORE修改该语句。它允许您插入具有有效值的行,但超过具有无效值的行。
INSERT IGNORE INTO Products01 VALUES ('01', 'iPhoneX', 'Apple', 35000, 3);
结果,脚本被正确执行。MySQL将通知您行已添加到表中。
使用dbForge Studio for MySQL创建INSERT INTO查询
可以使用dbForge Studio for MySQL轻松执行所有数据操作,包括创建,选择,插入,更新,删除或删除操作。该工具提供了一组丰富的高级功能,可以在易于使用的界面中开发,管理和部署MySQL数据库时提高生产率并节省时间。
假设我们需要向数据库中添加一个新客户。在dbForge Studio for MySQL中,我们可以使用“ 生成脚本为”功能在MySQL表中插入一行或多行。
要插入有关客户的信息,请执行以下操作:

3.在标准工具栏上,单击Execute。该语句将新客户的名字,姓氏和电子邮件添加到 格的底行。

结论
下载dbForge Studio for MySQL的30天免费试用版,以评估该工具提供的所有有用功能。
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!