OracleSQLPlusTutorial学习笔记(一)

2014-11-24 16:55:48 · 作者: · 浏览: 0
普通登录oracle的大体流程:

sqlplus --> user name & passwd --> host 回到操作系统环境 --> echo %oracle_sid% #装在windows上的oracle,可以用该命令。 -->define #查看定义的oracle环境变量。 -->show parameters/user #显示oracle系统参数/当前用户。

以管理员身份登录oracle的大体流程:
SQL>connect sys as sysdba #也可在同一行输入用户名和密码不安全,linux中用ps可以看到,最好分开输入。 --> enter passwd

查看当前用户的所有的表名的命令:

SQL> select table_name from user_tables;

SQL> select * from v$version; 查看oracle数据库的版本。

打算用oracle自带的scott用户登陆做练习,结果提示ORA-28000: the account is locked。

解决办法,用命令解锁。以管理员身份登录,然后
SQL> alter user scott account unlock;
User altered.
SQL> commit;
Commit complete.
SQL> conn scott/tiger;
ERROR:
ORA-28001: the password has expired
Changing password for scott
New password:
Retype new password:
Password changed
Connected.
SQL> show user;
USER is "SCOTT"

若记scott的密码,可用以下方法修改密码。
SQL> conn /as sysdba
Connect.
SQL> show user;
USER is "SYS"
SQL> alter user scott identified by scott;
User altered.
SQL>commit;
Commit complete.
SQL>conn scott/scott;
Connected.
SQL> show user;
USER is "SCOTT"

注释:以下实验操作基于linux上安装的oracle 10g中默认的用户scott,默认密码tiger, 以及scott的emp表。


[oracle@redhat ~]$ sqlplus


SQL*Plus: Release 10.2.0.1.0 - Production on Sat Feb 15 22:41:37 2014


Copyright (c) 1982, 2005, Oracle. All rights reserved.


Enter user-name: scott
Enter password:


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options


SQL> show user
USER is "SCOTT"
SQL> select table_name from user_tables;


TABLE_NAME
------------------------------
DEPT
EMP
BONUS
SALGRADE


SQL> desc emp; #desc代表describe
Name Null Type
----------------------------------------- -------- ----------------------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)


SQL> select empno, ename, job, mgr, hiredate
2 from emp
3 order by 1; # 1是指按照第一列排序,数字由小到大。


EMPNO ENAME JOB MGR HIREDATE
---------- ---------- --------- ---------- ---------
7369 SMITH CLERK 7902 17-DEC-80
7499 ALLEN SALESMAN 7698 20-FEB-81
7521 WARD SALESMAN 7698 22-FEB-81
7566 JONES MANAGER 7839 02-APR-81
7654 MARTIN SALESMAN 7698 28-SEP-81
7698 BLAKE MANAGER 7839 01-MAY-81
7782 CLARK MANAGER 7839 09-JUN-81
7788 SCOTT ANALYST 7566 19-APR-87
7839 KING PRESIDENT 17-NOV-81
7844 TURNER SALESMAN 7698 08-SEP-81
7876 ADAMS CLERK 7788 23-MAY-87


EMPNO ENAME JOB MGR HIREDATE
---------- ---------- --------- ---------- ---------
7900 JAMES CLERK 7698 03-DEC-81
7902 FORD ANALYST 7566 03-DEC-81
7934 MILLER CLERK 7782 23-JAN-82


14 rows selected.


SQL> set pagesize 200 #设置页面的最大行数。
SQL> /


EMPNO ENAME JOB MGR HIREDATE
---------- ---------- --------- ---------- ---------
7369 SMITH CLERK 7902 17-DEC-80
7499 ALLEN SALESMAN 7698 20-FEB-81
7521 WARD SALESMAN 7698 22-FEB-81
7566 JONES MANAGER 7839 02-APR-81
7654 MARTIN SALESMAN 7698 28-SEP-81
7698 BLAKE MANAGER 7839 01-MAY-81
7782 CLARK MANAGER 7839 09-JUN-81
7788 SCOTT ANALYST 7566 19-APR-87
7839 KING PRESIDENT 17-NOV-81
7844 TURNER SALESMAN 7698 08-SEP-81
7876 ADAMS CLERK 7788 23-MAY-87
7900 JAMES CLERK 7698 03-DEC-81
7902 FORD ANALYST 7566 03-DEC-81
7934 MILLER CLERK 7782 23-JAN-82


14 rows selected.




SQL> l #显示buffer缓存。同下面的list。
1 select empno, ename, job, mgr, hiredate
2 from emp
3* order by 1
SQL> list
1 select empno, ename, job, mgr, hiredate
2 from emp
3* order by 1


SQL> 1 #阿拉伯数字一,输出缓存中的第一行。
1* select empno, ename, job, mgr, hiredate
SQL> c/empno/deptno #将缓存中的第一行中的empno换成deptno
1* select deptno, ename