首页 > 代码库 > Oracle入门之对表内容的dml操作
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操作