ITXP365(智码IT网)

分享电脑知识,传播IT技巧

致敬爱学习的您,祝您访问愉快!

MySql数据库通过一条SQL或多条SQL插入多条数据


发布:智码IT网   阅读:
MySql数据库插入数据,可以像其他数据库一样,一条insert语句插入一条记录,也可以一条insert语句同时插入多条记录。示例如下:

-- 方式一:执行多条SQL,插入多条数据
INSERT INTO `test`.`student` ( `StuName`, `Age`, `ClassID` ) VALUES ( '学生1', 11, 1 );
INSERT INTO `test`.`student` ( `StuName`, `Age`, `ClassID` ) VALUES ( '学生2', 13, 2 );
INSERT INTO `test`.`student` ( `StuName`, `Age`, `ClassID` ) VALUES ( '学生3', 14, 2 );
INSERT INTO `test`.`student` ( `StuName`, `Age`, `ClassID` ) VALUES ( '学生4', 16, 1 );
INSERT INTO `test`.`student` ( `StuName`, `Age`, `ClassID` ) VALUES ( '学生5', 12, 3 );
INSERT INTO `test`.`student` ( `StuName`, `Age`, `ClassID` ) VALUES ( '学生6', 13, 3 );
INSERT INTO `test`.`student` ( `StuName`, `Age`, `ClassID` ) VALUES ( '学生7', 16, 3 );
INSERT INTO `test`.`student` ( `StuName`, `Age`, `ClassID` ) VALUES ( '学生8', 15, 1 );

-- 方式二:执行一条SQL,插入多条数据
INSERT INTO `test`.`student` ( `StuName`, `Age`, `ClassID` )
VALUES
( '学生1', 11, 1 ),
( '学生2', 13, 2 ),
( '学生3', 14, 2 ),
( '学生4', 16, 1 ),
( '学生5', 12, 3 ),
( '学生6', 13, 3 ),
( '学生7', 16, 3 ),
( '学生8', 15, 1 );

第二种方式相对于其他数据库来说,除了语法更加简洁,还有一些其他的不同特点。比如本例中用到的student表中包含了ClassID字段是有外键约束的。当我们采取第一种方式,通过多条SQL插入数据的时候,如果某条SQL违反了外键约束,则本条SQL执行失败,本次insert操作失败,之后的insert语句也不会再执行,但是本条SQL之前的insert操作还是会生效的,如果要实现要么操作全成功,要么操作全失败,则需要使用到数据事务。当我们使用第二种方式(即一条insert语句插入多条数据的方式),则要么数据全部insert成功,要么全部insert都失败,自动就达到了事务的效果。

具体使用那种更好,还是需要根据应用场景来选择。



上一篇:没有了
下一篇:没有了

© 2001-智码IT网 www.itxp365.com版权所有

蜀ICP备2021001527号