向数据库表中插入数据时使用非常频繁的操作,用户向数据库系统发出一条用户插入数据的insert语句,SQL引擎负责解析并执行这条语句。
--第10章 操纵数据表
--10.1 插入数据
--10.1.2 使用insert语句
--不指定列名的插入语句
INSERT INTO dept VALUES (81, '包装部', '龙山');
--指定字段列表的方式插入记录
INSERT INTO emp
(empno, ename, job, mgr, hiredate, sal, comm, deptno)
VALUES
(7893,
'刘七',
'副理',
7566,
TO_DATE('2001-08-15', 'YYYY-MM-DD'),
8000,
300,
20);
--10.1.3 插入默认值和空值
--插入NULL值
INSERT INTO emp VALUES(7894,'姓名','',NULL,'',NULL,NULL,20);
--使用默认值
INSERT INTO emp VALUES(7896,'姓名','',DEFAULT,'',NULL,NULL,20);
--插入带引号的用户名
INSERT INTO emp (empno, ename, deptno) VALUES (7998, 'O''Malley', 20);
--没有为主键指定值
INSERT INTO emp (ename, sal, comm) VALUES ('李大海', 9000, 1000);
--查看员工信息
SELECT empno, ename, hiredate FROM emp WHERE empno = 7895;
update emp set hiredate=null where empno = 7895;
SELECT empno, ename, hiredate FROM emp WHERE empno = 7998;
update emp set ename='' where empno = 7998;
select * from emp where ename is null or hiredate is null;
--显式插入null值
insert into emp values(7892,'霍元甲',null,null,null,null,null,20);
--对于字符串类型的字段,可用空白字符代替null值
insert into emp values(8011,'',null,null,null,null,null,20);
--插入默认值
insert into emp values(8014,'霍西北',null,null,default,null,null,20);
select * from emp where empno=8014;
--修改表定义,将hiredate字段的默认值设置为sysdadte
alter table emp modify hiredate default sysdate;
--插入当前用户
insert into emp values(8015,'霍英男',user,null,default,null,null,20);
select * from emp where empno=8015;