代码改变世界

Oracle-05-SQL语句概述、分类&SQL*PLUS概述(初识insert,desc,list,r,del,a,c,n等命令)

2017-08-13 13:23  tlnshuju  阅读(377)  评论(0编辑  收藏  举报

一、SQL语句概述

(1)SQL全程是“结构化查询语言(Structured Query Language)”。

SQL是大多数主流数据库系统採用的标准查询语言。

(2)SQL语句的优势:语言结构简单、功能强大、简单易学。

(3)在进行SQL开发是为了更easy的訪问关系数据库,所以SQL可以运行以下几种操作:

①从数据库中查询数据

②向数据库中插入数据

③从数据库中删除数据

④创建和操作数据库对象(如用户、索引、触发器等)

⑤控制对数据库的訪问

⑥更新数据

(4)注意:SQL不是程序设计语言。

它仅仅是提供输入、检索、更改、删除和显示存储在数据库中的数据的语句。

(5)假设以后在使用SQL语句出现错误信息,能够进入http://ora-code.com站点查询信息。就是假设报错信息ORA-XXXXXX。当中XXXXXX是一串数字。可能三位可能五位,所以一旦出现这样的错误信息。能够登录上面站点查询。

 

二、SQL分类(重点)

(1)数据定义语言(DDL)。如:create,drop,rename…(一旦运行成功,基本不可能恢复原样,没有回旋余地,比方现有A表。将其改名,假设运行成功,无法改变。无法恢复原样)

(2)数据操作语言(DML),如:insert,update,delete…(数据能够回滚

比方如今登录数据库用户是sys,用例如以下命令查询t表,其内没有数据信息,例如以下图:


如今给t表加入数据:


然后查询t表。发现里面有刚才加入的数据:


如今又一次开一个cmd窗体,用新用户lisi登录。查询t表,发现其内没有刚才加入的数据,例如以下图:



在原sys登录的cmd窗体内继续写commit命令,例如以下图:


然后再去lisi登录的cmd窗体查询t表,发现有新加入的数据。例如以下图:


【总结】假设用DML操作数据后。必须commit,才干保证真正存到数据库内。

(3)数据控制语言(DCL),如:grant,Revoke…

(4)查询语言,如:select…

(5)事务控制语言(Transaction Control,TC)。如:commit,rollback,savepoint…

 

三、SQL*PLUS概述

1.SQL*PLUS定义,它是一个由ORACLE开发的、能够运行SQL语句的环境,它也是提供了一种连接数据库的直接运行方式。

 

2.SQL*PLUS特征

它是一个client应用工具。如命令行SQL*PLUS、Oracle中的SQL*PLUS

或iSQL*PLUS他们都能够与数据库管理系统直接通信。

 

3.假设出现以下界面,就是SQL*PLUS环境。例如以下图:


四、显示表结构语法格式:desc表名


五、查看缓存中SQL语句的语法格式:l(或者list)

比如,假设先输入select*fromall_users;后回车。会看到全部用户,然后这条命令被存入SQL*PLUS缓存,假设这时候输入l,会出现上一条命令信息,例如以下图:


【注意】将来SQL语句会写非常长。所以须要换行写,例如以下图:


方法是输入完第一行后回车,接着输入第二行,假设输入分号则表示结束,这时候若用l查询上一条语句,也可查询到,例如以下图:


图中*表示定位在当前行。

 

六、将缓存中的SQL语句又一次执行一次,格式为:/(或者r)

这事实上是一个快捷操作。

假设写/后回车。则直接执行缓存中的SQL语句。假设写r回车。则先列出缓存中的SQL语句再执行该语句。

 

七、n命令的使用

假设写的SQL语句出错,能够是使用“n”。这个“n”的意思是设置sql*plus中当前行,“n”就是一个详细的值(如:1,2,3…)。

语法格式:n

比如。写个1回车。则定位到缓存SQL命令中的第1行,写个2回车。则定位到缓存SQL中的第2行

 

八、删除命令

假设要删除某行。能够使用del命令。

语法格式del n

输入del 2后将缓存中第2行代码删除



九、加入命令

假设如今某一行后面加入一些sql语句,能够使用a(append)。

语法格式:a

比如:先用list查看缓存区命令,然后用a加入命令


发现两个命令靠一起了,即student和where连一起了。所以在使用a命令往缓存区加入命令时候敲两个回车,当中第一个回车是a命令必须带的回车,第二个回车是作为新代码的开头被加入到缓存区,例如以下图:



问:假设缓存区有3行SQL命令,须要在第二行加入命令。怎样操作?

答:先list命令将缓存区命令列举出来,然后用n命令,即输入2定位到第2行,然后用a命令在该行后面加入新命令。然后再用list查看一下新命令,最后执行。全步骤例如以下图:



十、改动命令

假设要改动sql缓存中的语句。能够使用c(change)命令。

语法格式:c /被改动内容/新内容

(c后面有两个空格)

比如。可用c命令做到部分删除的效果。例如以下图:


先list出缓存区全部命令,然后用n命令定位到第2行,然后用c命令将’%s%’之后命令删除,仅仅要c  /or 1=1/就可以,也就是将须要删除的部分替换为空白。注意c后面两个回车。