一 INSERT语句
INSERT INTO table_name
(column1,column2...)
VALUES(value1,value2,...)
二 实例
1、向表中所有字段添加值
SQL> desc userinfo
名称是否为空?类型
-----------------------------------------------------------------------------
ID NUMBER(6)
USERNAME VARCHAR2(20)
USERPWD VARCHAR2(20)
EMAIL VARCHAR2(30)
REGDATE DATE
SQL> insert into userinfo
2 values(1,'xxx','123','xxx@qq.com',sysdate);
已创建1行。
SQL>select*from userinfo;
ID USERNAME USERPWD
--------------------------------------------------
EMAIL REGDATE
--------------------------------------------
1 xxx 123
xxx@qq.com 25-6月-17
2、向表中指定字段添加值
SQL> insert into userinfo (id,username,userpwd)
2 values(2,'yyy','123');
已创建1行。
SQL>select username,userpwd from userinfo;
USERNAME USERPWD
----------------------------------------
xxx 123
yyy 123
3、在创建表时向表中添加默认值
SQL> create table userinfo1
2(id number(6,0),
3 regdate date default sysdate);
表已创建。
SQL> insert into userinfo1
2 values(1);
insert into userinfo1
*
第1行出现错误:
ORA-00947:没有足够的值
SQL> insert into userinfo1(id)
2 values(1);
已创建1行。
SQL>select*from userinfo1;
ID REGDATE
------------------------
125-6月-17
4、修改表,添加默认值
SQL> alter table userinfo
2 modify email default'无';
表已更改。
SQL> insert into userinfo(id)
2 values(3);
已创建1行。
SQL>select id,email from userinfo;
ID EMAIL
----------------------------------------
1 xxx@qq.com
2
3无
SQL> insert into userinfo(id,email)
2 values(4,'aa');
已创建1行。
SQL>select id,email from userinfo;
ID EMAIL
----------------------------------------
1 xxx@qq.com
2
3无
4 aa
三 复制表数据
1、在建表时复制
CREATE TABLE table_new
AS
SELECT column1,...|* FROM table_old
复制所有的字段
SQL> create table userinfo_new
2as
3select*from userinfo;
表已创建。
SQL> desc userinfo_new
名称是否为空?类型
-----------------------------------------------------------------------------
ID NUMBER(6)
USERNAME VARCHAR2(20)
USERPWD VARCHAR2(20)
EMAIL VARCHAR2(30)
REGDATE DATE
SQL>select*from userinfo_new;
ID USERNAME USERPWD
--------------------------------------------------
EMAIL REGDATE
--------------------------------------------
1 xxx 123
xxx@qq.com 25-6月-17
2 yyy 123
3
无
ID USERNAME USERPWD
--------------------------------------------------
EMAIL REGDATE
--------------------------------------------
4
aa
复制部分字段
SQL> create table userinfo_new1
2as
3select id,username from userinfo;
表已创建。
SQL>select*from userinfo_new1;
ID USERNAME
------------------------------
1 xxx
2 yyy
3
2、在添加时复制
复制时,新表必须已经存在。
INSERT INTO table_new
[(column1,...)]
SELECT column1,...|* FROM table_old
SQL> insert into userinfo_new
2select*from userinfo;
已创建4行。
SQL>select id from userinfo_new
2;
ID
----------
1
2
3
4
1
2
3
4
已选择8行。
SQL> insert into userinfo_new(id,username)
2select id ,username from userinfo;
已创建4行。
SQL>select id ,username from userinfo_new;
ID USERNAME
------------------------------
1 xxx
2 yyy
3
4
1 xxx
2 yyy
3
4
1 xxx
2 yyy
3
ID USERNAME
------------------------------
4