insert 插入数据

语法格式:

insert into 表名称[(字段名称1,字段名称2……)]values[(值1,值2,……)]


创建备份表myemp 

create table myemp as select * from emp;


标准语法:对于没有数据的列就不写进字段列表

insert into myemp(empno,ename,job,mgr,hiredate,sal,comm,deptno) values(7899,'张三丰','清洁工',7369,to_date('2005-02-20', 'yyyy-mm-dd'),1200,300,40);


select * from myemp;
insert 插入数据_第1张图片


简略语法:如果插入时没有明确的写出字段,则没有值得字段用null来代替

insert into myemp values(9991, '陈寅恪', '教师', null, to_date('1902-01-03', 'yyyy-mm-dd'), 1200, null, 30);

select * from myemp;
insert 插入数据_第2张图片

两种写法比较:

       推荐使用标准写法,不推荐使用简略写法。

        简略写法再添加表字段的时候容易出问题。


给myemp 表添加字段住址字段 address 

alter table myemp add address varchar2(100);
 

此时再执行上面的两条insert 语句

insert into myemp(empno,ename,job,mgr,hiredate,sal,comm,deptno) values(7899,'张三丰','清洁工',7369,to_date('2005-02-20', 'yyyy-mm-dd'),1200,300,40);
可以顺利插入表中

insert into myemp values(9991, '陈寅恪', '教师', null, to_date('1902-01-03', 'yyyy-mm-dd'), 1200, null, 30);
insert 插入数据_第3张图片    没有足够的值


检查下就可以发现,添加表字段后,myemp增加了字段address,而简略写法中,没有预留该字段值,故出错。

所以,推荐标准写法,按照列插入数据。

你可能感兴趣的:(insert)