Oracle入门之对表内容的dml操作

Posted lvzhengmao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle入门之对表内容的dml操作相关的知识,希望对你有一定的参考价值。

oracle表的管理--添加数据

使用insert语句向表中插入数据

插入数据基本语法:

insert into table[(column [,column...])] values(value [,value...]);

insert into 表名[(列名 [,列名2...])] values(值 [,值2...]);

注意事项:

1、插入的数据应与字段的数据类型相同。

2、数据的大小应在列的规定范围内,例如:不能将一个长度为80的字符串加入到长度为40的列中。

3、在values中列出的数据位置必须与被加入的列的排列位置相对应。

4、字符和日期型数据应包含在单引号中。

5、插入空值,不指定或insert into table values(null);

6、给表的所有列添加数据时,可以不带列名直接添加values值。

 

oracle表的管理--修改数据

使用update语句修改表中数据。

Update语句基本法:

update tablename set columnname=expr1 [,columnname2=expr2,...][where where_definition];

update 表名 set 列名=表达式 [,列名2=表达式2,...][where 条件];

注意事项:

1、update语法可以用新值更新原有表行中的各列;

2、set子句指示要修改哪些列和要给予哪些值;

3、where子句指定应更新哪些行。如没有where子句,则更新所有的行。(特别小心)

 

students中的数据进行修改

将张三的性别改成女

SQL>update students set sex=‘女‘ where name=‘张三‘;

把张三的奖学金改为10

SQL>update students set fellowship=10 where name=‘张三‘;

把所有人的奖金都指高10%

SQL>update students set fellowship=fellowship*1.1;

students添加数据

SQL>insert into students (id,name,sex,brithday,fellowship,resume) values(1,‘张三‘,‘男‘,‘11 

-11月-01‘,23.34,‘hello‘);

SQL>insert into students values(2,‘李四‘,‘男‘,‘11-11月-02‘,67.34,‘hello2‘);

SQL>insert into students values(3,‘王五‘,‘女‘,‘11-11月-03‘,671.34,‘hello3‘);

 

插入部分字段与插入空值,语法是一样的。只是要注意,当字段设置可为空时,可以不用将字段列出。否则就需要将字段名和值添加进去。否则报错,具体参见上述插入数据6点注意事项。

insert into table[(column [,column...])] values(value [,value...]);

oracle表的管理--删除数据

基本语法:

delete from TABLENAME [where where_definition];

delete from 表名 [where 条件表达式];

注意事项:

1、如果不使用where子句,将删除表中所有的数据。(特别注意)

2、delete语句不能删除某一列的值(可使用update)。

3、使用delete语句仅删除记录,不删除表本身。如要删除表,使用drop table语句。

4、同insert和update一样,从一个表中删除记录将引起其它表的参照完整性问题,在修改数据库数据时,头脑中应始终不要忘记这个潜在的问题。

 

删除的几种方法比较:

delete from 表名;

删除所有记录,表结构还在,写日志,可以恢复的,速度慢

drop table 表名;

删除表的结构和数据

delete from student where xh=‘A001‘;

删除一条记录

truncate table 表名;

删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快。

 

设置保存点

savepoint 保存点名称;

回滚

rollback to 保存点名称;

特别注意:设置保存点及回滚操作是配合delete语句使用,用来找回使用delete删除的数据。而通过truncate删除的表数据是无法通过此方法找回的。

建议

在使用delete删除表数据前使用savepoint设置保存点,防止数据误删除。

 

以上是关于Oracle入门之对表内容的dml操作的主要内容,如果未能解决你的问题,请参考以下文章

oracle入门之对表数据查询

oracle入门之对表数据查询

Oracle 12.2新特性----在线move表

oracle对表的基本操作

OGG18.1次新特性之对MariaDB集成

Oracle新手入门:如何提高索引创建速度?