您的位置:首页 > 数据库 > Oracle

SQL-Oracle05数据库更新操作

2014-01-05 14:31 281 查看
数据库更新操作:

数据库的主要操作分为两种:

 数据库的查询操作:SELECT

 数据库的更新操作:INSERT(增加)/UPDATE(修改,更新)/DELETE(删除)

此时,为了保存原始的emp表的信息,在进行增加、修改、删除操作之前先将

此表复制一份。

CREATE TABLE myemp AS SELECT * FROM emp;

此语句执行之后,会将表结构及数据完整的复制出来。

SELECT * FROM myemp;

此时数据已经复制出来。

SELECT INTO 表名称[(字段名称1,字段名称2,...)]VALUES(值1,值2,...) ;

eg:为myemp 

INSERT INTO myemp(empno,ename,job,mgr,hiredate,sal,comm,deptno)

VALUES(7899,'张三','清洁工',7369,'14-2月-1995',9000,300,40) ;

创建完成之后,下面进行查询操作,观察记录是否已经在myemp表中:

SELECT * FROM myemp;

必须再次提醒,数字不用加单引号,字符串必须加单引号。

简略写法(并不推荐),因为现在是要添加所有字段的内容,所以此处可以不写上

任何的字段名称,只要值的数量及顺序与数据表中的一致即可。

INSERT INTO myemp VALUES (8899,'李四','清洁工',7369,'14-2月-1995',9000,300,40) ;

范例:要求插入一个新的雇员,但是此雇员暂时没有领导,没有奖金

 第一种做法:不明确的写出要插入的字段

INSERT INTO myemp(empno,ename,job,hiredate,sal,deptno)

 VALUES (8899,'王五','清洁工','14-2月-1995',9000,40) ;

 第二种做法:如果插入时没有明确的写出字段名称的话,则使用null表示其具体内容。

INSERT INTO myemp

 VALUES (8899,'王五','清洁工',null,'14-2月-1995',9000,null,40) ;

 

之前插入数据的时候,日期的格式是使用了表中固定好的一种格式,如果现在

有这样的一个日期“2009-01-16”日期格式,那么现在如何把这种格式的日期插入进去呢?

 使用TO_DATE()函数,将一个字符串类型的数据变为DATE类型的数据。

INSERT INTO myemp(empno,ename,job,hiredate,sal,deptno)

 VALUES(8888,'赵六','保洁工',TO_DATE('2009-01-16','yyyy-mm-dd'),9000,40) ;

 

------

修改、更新数据

修改全部:UPDATE 表名称 SET 要修改的字段=新值,要修改的字段=新值,...;

修改局部:UPDATE 表名称 SET 要修改的字段=新值,要修改的字段=新值,...WHERE 修改条件;

但是,一般的开发角度上讲,修改操作一般都加入修改条件。

eg:将emp表中的所有雇员的佣金修改为1000-》

UPDATE myemp SET comm=1000;

从运行结果中发现,一共更新了19行记录,下面查询myemp表。

UPDATE myemp SET sal=5000 WHERE empno=7899;

UPDATE myemp SET mgr=null WHERE empno=7899;

UPDATE myemp SET mgr=null,comm=null WHERE emp=7899 IN(7369,8899,7788);

---------

删除数据

删除全部

SELECT FROM 表名称 WHERE 删除条件 ;

删除局部

SELECT FROM myemp WHERE empno=7899 ;

范例:删除编号是8899,7889,8889,8888

SELECT FROM myemp WHERE empno IN(8899,7889,8888) ;

DELETE FROM 表名称 WHERE 删除条件 ;

DELETE FROM myemp WHERE empno IN NOT NULL ;

eg:删除表的全部内容

删除的时候不指定删除条件,则表示删除表中的全部记录数。

DELETE FROM myemp ;

开发中一般不是很建议,基本上在执行删除命令的时候都要指定删除条件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  SQL oracle数据库