Oracle及SQLPLUS使用笔记
自己之前粗粗的学过MySQL,学校用的是Oracle,学生使用sqlplus,这是个命令行界面的数据库管理软件(为了学习嘛,不用图形化可以理解),这里记录一些使用时候涉及到的实用内容:
-
sqlplus删除已输入内容:ctrl+backspace
-
注意Oracle和MySQL的区别:Oracle的自动提交功能是关闭的,所以如果修改了数据库data之后没有提交就关闭了就gg了,所以使用Oracle一定要熟记commit和rollback指令
-
sqlplus没有回溯指令的功能
-
注意在进入sqlplus或者mysql中先要选择要使用的数据库,否则会出错!这点MySQL bench做的不好,没选择数据库就进行操作只会显示
query interrupted
,也不说是出了什么问题。(当然这是在root用户下,如果是一般用户可能只有某个数据库的权限(例如我学校账户的Oracle),登录进去之后就只能修改这个数据库下的内容。 -
查询当前库下的所有表:
select * from all_tables
;(适用于Oracle),show tables
(适用于MySQL) -
查看表结构:
describe [表名称]
;(亲测对于Oracle和MySQL都有效) -
对表进行修改:alter table xxx modify/add/drop [之后的操作视要执行的命令不同而不同]
增加一列:
alter table emp4 add test varchar2(10);
修改一列:
alter table emp4 modify test varchar2(20);
删除一列:
alter table emp4 drop column test;
修改表的时候注意,MySQL里mdify之后是不加括号的,而Oracle要加:
-
/和run都可以再执行一遍上一条命令(这个功能只有Oracle的SQLPLUS有):
-
使用替代变量来优化数据(手动)插入过程:
如图,只要输入第一个框里的内容,然后每次都使用/或者run调用,就可以在每一次插入时都得到提示了,当然这种主要用于手动操作时使用
要弄清楚替代变量哪里写什么才和表项一致,可以先用describe <table名>来检查一遍
注意,如果输入的表项是varchar类型的,则替代变量必须用引号括住
-
非sql语句,打不打;都可以,例如
describe <表名
,这个不加分号也是可以的