SQL> INSERT INTO student_ning(id,name,email,registtime)
VALUES(1,'peter','peter@',sysdate);
--如果新增全部列,可以省略列名称,必须提供全部的列数据,数据的顺序必须按照表结构,如果有数据没提供,用 null 表示。
SQL>INSERT INTO student_ning
VALUES (2,'chris','chris@',sysdate);
--如果增加的不是全部字段,必须提供字段列表。
--建议采用写列名的方式 ,即使是插入全部数据,也建议把列名写全。 SQL> INSERT INTO student_ning(id, name,registtime)
VALUES(3,'bono',to_date('2012/11/01','yyyy/mm/dd'));
-- to_date 函数是oracle 独有的,在oracle 数据库中插入日期数据,一定要用
to_date处理。不要采用默认格式,比如:'01-NOV-11'。
--一次增加多条记录,使用子查询代替values 。在emp表中查询部门10的员工编号,员工姓名,那么id、name与empno和ename相对应。
SQL>insert into student_ning(id, name)
select empno, ename from emp
where deptno = 10;
--作此操作是为了开发时候保护数据,做备份。那么我现在不想创建一个表再复制数据,而直接复制一个表作为备份,怎么办?下面再介绍另一种向表里增加记录的方法。
2、复制表
2.1、复制全表
语法格式:create table 表名
as
查询语句;
2.2、只复制结构,不复制数据
【例】复制表:只复制结构,不复制数据
SQL>create table salgrade_yyy
as
select * from salgrade
where 1<>1; --红字部分是结果是false。
2.3、复制一部分数据(给查询语句加条件)
--如果复制表时的查询语句中有表达式或者函数(包括单行函数和组函数),必须指定新表中的列名。指定方式:给列设置别名;或者在新表中设置列名。