如何用insert into语句插入多行数据?这是今天一朋友的问题,解决办法如下(只限于MS SQL和My SQL数据库中,其它数据库没有测试):
下面以实例来说明这个问题:
--创建一个用户表,包括姓名和年龄
CREATE TABLE tablename
(
name VARCHAR(20) PRIMARY KEY,
age SMALLINT NOT NULL
)
假如现在我们要插入以下数据(name1, 10/ name2, 12/ name3, 15),但要求只能用一条INSERT INTO语句,标准的SQL语句的INSERT INTO操作:
INSERT INTO tablename
SELECT ‘name1', 10
UNION ALL SELECT 'name2', 12
UNION ALL SELECT 'name3', 15;
如果是My SQL数据库,可以用另一种方案来代替:
INSERT INTO tablename VALUES ('name1', 10), ('name2', 12), ('name3', 15);
第一种方案在MS SQL和My SQL下测试通过,第二种方案仅在My SQL下测试通过!
下面以实例来说明这个问题:
--创建一个用户表,包括姓名和年龄
CREATE TABLE tablename
(
name VARCHAR(20) PRIMARY KEY,
age SMALLINT NOT NULL
)
假如现在我们要插入以下数据(name1, 10/ name2, 12/ name3, 15),但要求只能用一条INSERT INTO语句,标准的SQL语句的INSERT INTO操作:
INSERT INTO tablename
SELECT ‘name1', 10
UNION ALL SELECT 'name2', 12
UNION ALL SELECT 'name3', 15;
如果是My SQL数据库,可以用另一种方案来代替:
INSERT INTO tablename VALUES ('name1', 10), ('name2', 12), ('name3', 15);
第一种方案在MS SQL和My SQL下测试通过,第二种方案仅在My SQL下测试通过!