1:学习Oracle首先需要安装Oracle,网上已经有很多很多教程了,这里不做叙述,自己百度即可,这里安装的标准版,个人根据需求安装学习或者企业开发即可。如果安装出错,自己百度Oracle的卸载即可,这里不作多叙述。
2:安装好Oracle,首先看看自己的Oracle是否安装上了吧。
2.1:打开windows命令行的运行,然后输入cmd打开之后sqlplus /nolog,出现SQL>即表示安装成功;
3:验证之后就可以开始登陆自己的Oracle数据库了,这里介绍两种方式:
3.1:第一种是通过命令行cmd登陆,打开window的命令行,输入cmd,确定之后出现如下所示:
(1):这里使用账号密码登陆:sqlplus 账号/密码 as sysdba;之后输入的账号是默认的system,密码是自己安装的时候设置的。
注意:ERROR:ORA-01031: insufficient privileges这个错误出现的很让我头疼,百度了很多,但是不知道怎么解决,如果看到的有大神能解决的,还希望指点一二,但是貌似不影响学习哈,所以这里先不管它了。
(2)这里使用账号角色登陆:sqlplus / as sysdba;之后输入的账号是默认的system,密码是自己安装的时候设置的。
3.2:第二种方式登陆的通过Oracle默认的命令行,选择window的开始,找到Oracle-OraDb11g_home1下面的SQL Plus,点击打开:
点开之后,输入默认账号,system,密码是自己安装的时候设置的。之后输入select name from v$database;验证一下自己真的登陆进来了,还能进行操作。
4:通过上面的登陆之后,即使用超级管理员身份解锁scott普通用户,并为其设置一个密码,个人喜欢即可;
解锁用户: alter user scott account unlock;
设置密码:alter user scott identified by tiger;【注意,修改密码也可以使用此句,超级管理员修改密码】
5:修改之后验证一下scott即可,如下所示,
5.1:重新打开Oracle-OraDb11g_home1下面的SQL Plus,点击打开:登陆即可。
5.2:使用window的命令行,打开命令行,输入cmd,确定之后如下所示,登陆即可;
6:Oracle的一些基本命令:
6.1:显示当前用户:show user;
6.2:普通用户修改自己的密码,但是一定需要记住自己的老密码:
6.3:退出sql plus
6.4:查询scott用户下的所有对象,使用tab表,tab表是没个用户都有的一张表;
6.5:查看表结构desc 表名;
6.6:使用/杠,执行最近一次的SQL语句;
7:Oracle查询的用法,
7.1:查询emp表的所有的内容,*号表示通配符,表示该表中的所有的字段,但是*号不能和具体的字段一起使用;
7.2:使用别名进行查询,字段名 "别名";AS大小写皆可也可省略,别名使用引号引起来,如果不加引号别名中间不能存在空格;不加双引号的别名不能有空格,加了双引号的别名可以有空格,要加只能加双引号,不能加单引号,因为在oracle中单引号表示字符串类型或者是日期类型的哦。
注意:
单引号出现的地方如下:
(1)字符串型,例如:'hello' || ' world'
(2)日期型,例如'25-4月-15'
双引号出现的地方如下:
(1)列别名,例如:sal*12 "年 薪",或 sal*12 年薪,个人提倡用""双引号作列别名
7.3:去除重复的,查询emp表的不重复的工作;
7.4:解决null的问题,使用NVL()函数,NVL(a,b):如果a是null,用b代替,如果a是非null,就不用b替代,直接返回a的值:因为null和具体数字运算时结果为null;
7.5:使用dual哑表或者伪表,使用字符串链接符号||,输出"hello world";oracle中必须写from关键字;
7.6:使用sysdate,显示系统当前时间,在默认的情况下,oracle只显示日期(某日-某月-某年),而不显示时间;
注意:如果查询两个日期之间的,这样写select * from emp where date between 20-1月-16 and 23-5月-17;
7.7:Oracle的清屏操作,不是clear,而是host cls;
7.8:使用spool命令,保存sql语句到硬盘文件e:/oracle-day01.sql,并创建sql文件;
7.9:使用spool off命令,保存sql语句到硬盘文件e:/oracle-day01.sql,并创建sql文件,结束语句;
7.10:使用@命令,将硬盘文件e:/crm.sql读到orcl实例中,并执行文件中的sql语句;
7.11:使用--符号,设置当行注释,使用/**/符号,设置多行注释;
7.12:分清sql语句和sql plus命令:注意:sql plus命令是SQL Plus工具中特有的语句;
(1)SQL语句的特点
(a)是SQL92/99的ANSI官方标准,只要按照该标准来写,在任何的关系型数据库中都可以直接执行
(b)SQL语句的关健字不能简写,例如:select,where,from
(c)大小写不敏感,提倡大写
(d)能够对表数据进行增删改查操作
(e)必须以分号结束
(f)通常称做语句
(2)SQLPLUS命令的特点
(a)是oracle自带的一款工具,在该工具中执行的命令叫SQLPLUS命令
(b)SQLPLUS工具的命令中的关健字可以简写,也可以不简写,例如:col ename for a10;
(c)大小写不敏感,提倡大写
(d)不能够对表数据进行增删改查操作,只能完成显示格式控制,例如:设置显示列宽,清屏,记录执行结果
(e)可以不用分号结束,也可以用分号结束,个人提倡不管SQL或SQLPLUS,都以分号结束
(f)通常称做命令,是SQLPLUS工具中的命令