您的位置:首页 > 其它

DB2 insert语句三种格式

2013-04-09 14:40 183 查看
DB2 insert语句三种格式

有点SQL基础的人都会写INSERT语句,可是有很大一部分人不知道DB2的INSERT语句有三种格式,即:一次插入一行,一次插入多行和从SELECT语句中插入。考虑下面的情况:

CREATE TABLE USER
(
NAME VARCHAR(20) NOT NULL,---姓名
BIRTHDAY DATE---生日
);

CREATE TABLE USER
(
NAME VARCHAR(20) NOT NULL,---姓名
BIRTHDAY DATE---生日
);

现在要求你插入一行数据,我们这么写:

INSERT INTO USER (NAME,BIRTHDAY) VALUES ('张三','2000-1-1');

INSERT INTO USER (NAME,BIRTHDAY) VALUES ('张三','2000-1-1');

现在要求你插入三行数据,我们这么写:

INSERT INTO USER (NAME,BIRTHDAY) VALUES ('张三','2000-1-1');
INSERT INTO USER (NAME,BIRTHDAY) VALUES ('李四','2000-1-1');
INSERT INTO USER (NAME,BIRTHDAY) VALUES ('王五','2000-1-1');

INSERT INTO USER (NAME,BIRTHDAY) VALUES ('张三','2000-1-1');
INSERT INTO USER (NAME,BIRTHDAY) VALUES ('李四','2000-1-1');
INSERT INTO USER (NAME,BIRTHDAY) VALUES ('王五','2000-1-1');

除此之外,我们还可以这么写:

INSERT INTO USER (NAME,BIRTHDAY) VALUES
('张三','2000-1-1'),
('李四','2000-1-1'),
('王五','2000-1-1');

INSERT INTO USER (NAME,BIRTHDAY) VALUES
('张三','2000-1-1'),
('李四','2000-1-1'),
('王五','2000-1-1');

那么后一种写法有什么好处呢?有两点好处:

1、性能更好。

2、由于一条语句,所以它们是一个处理单元,要么都插入,要么都不插入。

除此之外,我们还可以从SELECT中插入,格式如下:

INSERT INTO USER (NAME,BIRTHDAY)
SELECT <COLUMN1>,<COLUMN2> FROM <TABLE_NAME> WHERE ...

INSERT INTO USER (NAME,BIRTHDAY)
SELECT <COLUMN1>,<COLUMN2> FROM <TABLE_NAME> WHERE ...

以上比较简单,我就不举例子了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: