向Oracle表中的添加数据

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

猜你喜欢

转载自cakin24.iteye.com/blog/2388598