Oracle学习笔记第六天

Oracle学习笔记第六天

这篇要记录数据相关的操作了,其实在数据库的操作中,90%以上我觉得都是对数据的操作,毕竟在DBA定好数据库结构后基本上就不会再动,之后就是用户的增加与权限的变更。

数据的CRUT(增删查改)中90%以上也是数据的查询,当数据插入进去后,多数情况下是将数据读取出来进行数据的分析和展示,哪个公司没事会随意的插入数据然后在修改和删除的。所以查询将单独开来。

增:

增加数据可以单独增加一条数据,也可以批量导入数据,还可以将其他表里的数据复制过来。

新增一条数据:
insert into [user.]table [@db_link][(column1[,column2...])] 
values (express1[,express2...])
1. insert into: 固定语法
2. user:表示要插入的表属于的用户名,如果是本用户,可以不写,其他用户的话,应该要注意权限,我这边暂时没有遇到将数据插入到别的用户表里的。
3. table:数据要插入哪张表的表名
4. @db_link:数据库连接名,额,这个没用过,暂时不明白,
5. [(column1[,column2...])]:
	这部分表示列名,可以不写,不写表示插入的数据包括表里所有的字段,写的话,表示插入的数据只有写的那几个字段。
6. values:固定语法
7. (express1[,express2...]):插入的数据,如果之前没写列名,则这里插入的数据要与所有的字段对应,如果写了列名,这里的数据需要与列名对应。
建议:插入数据时不管是不是全部插入,最好写列名,这样可以清晰的知道插入了什么数据,同时,如果以后万一对表的字段进行修改了,这样的话也不会受到影响。
批量插入数据:
insert into [user.]table [@db_link][(column1[,column2...])] 
Subguery
前面关键字一样,
Subgery:是子查询语句,可以是任何合法的 select 语句,但是其查询出来的结果必须和前面的字段相对应。(列即字段)
建表时插入数据:
create table 表名 as Subguery;
Subguery:和上面的一样。
这玩意好使,比如说你要修改某张表里的数据,而这张表在公司里面很重要,万一没弄好,就是删库跑路的节奏了,这时,你可以先用这个语句把表里的数据拷贝出来,相当于对这张表建一个备份,然后操作这个备份表,成功了在操作原表,出了事,删掉也不影响原表,但是直接干原表就不一样了...
再次强调:这个可以用来对表进行备份。

删:

DELETE FROM table_name [WHERE cndition]
DELETE FROM:固定语法
table_name:表名
[WHERE cndition]:判断条件,如果不加条件,则会删除表里的所有数据,当然,按第五天写的,假的条件类似 1=1 这种判定 100% 为true的,也会全部删掉。如果只想删除指定数据,则需要添加判断符合删除的条件,按照条件删除。
建议使用 DELETE 语句一定要带上 WHERE 子句;否则将会把表里的所有数据全部删除,不过貌似可以恢复,至于怎么恢复,会没研究。书上写可以使用rollback进行回滚,但没干过,我觉得好像之前有提到一个回滚空间,删除的数据应该保存在那里面,所以这样干掉了数据还不至于删库跑路...
truncate table table_name [REUSE STORAGE / DROP STORAGE]
truncate table:固定语法
table_name:表名
[REUSE STORAGE]:添加这个关键字表示删除记录后任然保存记录占用的空间。
[DROP STORAGE]: 添加这个关键字表示删除记录后立即回收记录占用的空间。
如果确定要删除表中的所有数据,建议使用 TRUNCATE 语句,使用 TRUNCATE语句删除数据时,很多情况下速度比DELETE 语句要快,但是这个它不会产生回滚信息,删除后操作时不能撤销的。

改:

UPDATE table_name 
set { column1 = express [,column2 = express2...]
  (column1[,column2])=(select query)}
[where condition]
update:这部分用来指定要修改的表的名称,后面需要跟一个或者多个要修改的表名,不能少。
set:这部分用于设置要更新的列和更新的列的新值。
where:这部分可选,后面可以增加限定条件,限定更新哪些数据,如果不加则更新的数整张表。
select:将查询的值赋给对应的列,这里注意,查询出来的值只能由一个,如果为多个,则会报错。

猜你喜欢

转载自blog.csdn.net/xxydzyr/article/details/84447407