sql plus命令
SELECT [DISTINCT] {*,COLUMN [ALIAS], ……} FROM table_name;
字段的非唯一的结果集
DISTINCT 字段名1 [ ,字段名2]
数字类型字段名之间可以进行算术运算
+ - * / 等
例如: (字段名1*字段名2)/3
合并字段内容的连接字符 ||
字段名1 || 字段名2
DEL n 删除sql buffer里第n行
I[NPUT] text 在sql buffer后面插入text
L[IST] n 显示sql buffer里第n行
n 使第n行为当前行
n text 第n行替换成text
0 text 在第一行前面插入一行
(3) SQL*PLUS里的文件命令:
SAV[E] filename [REP[LACE] | APP[END] ]
3、PLSQL Developer 连接测试
输入正确的用户名/口令:
成功登陆:
4、创建表空间
打开sqlplus工具:
Sql代码
1.sqlplus /nolog
sqlplus /nolog
连接数据库:
Sql代码
1.conn /assysdba
conn /as sysdba
创建表空间:
Sql代码
1.createtablespace camds datafile'D:\oracle\product\10.2.0\oradata\camds\camds.dbf'size200m autoextendonnext10m maxsize unlimited;
imp userid/pwd@sid file=path/file fromuser=testcamds touser=userid
命令实例:
Sql代码
1.imp testcamds/123@camds file=c:\testcamds fromuser=testcamds touser=testcamds
说明: 一行只显示数字位的长度, 超过长度折行,加word_wrapped后, 单词不会折行
规定long字符的显示宽度
SQL>set long 200;
规定字段名的显示内容
SQL> column 字段名 heading '字段名显示内容';
SQL> set heading off; 查询时不显示字段名称
规定字段的对齐方向
SQL> column 字段名 justify [left | right | center];
清除字段的格式
SQL> column 字段名 clear;
5. SQL*PLUS里规定字段的显示格式例子
SQL> column last_name heading 'Employee|Name为你创建的数据库名,以后在访问数据,创建“本地Net服务名”时用到;
2)数据库口令在登录和创建“本地Net服务名”等地方会用到。
2、创建“本地Net服务名”
1)通过【程序】-》【Oracle - OraDb10g_home1】-》【配置和移植工具】-》【Net Configuration Assistant】,运行“网络配置助手”工具:
NVL(EXPR1, EXPR2)函数
解释: IF EXPR1=NULL RETURN EXPR2
ELSE RETURN EXPR1
编程技巧: NVL函数在多条件模糊查询的时候比较有用
nvl('+input_value+','0')='0' or filed_name like '%+input_value+%'
NVL函数可返回多种数据类型:
返回日期 NVL(start_date,'2002-02-01')
返回字符串 NVL(title,'no title')
返回数字 NVL(salary,1000)
3. 使用SQL*PLUS
(1)登录SQL*PLUS的方法
用户名,密码,数据库连接字符串
数据库连接字符串可以用net8 easy configuration建立本地网络服务名配置,
连接操作的字段名上最好要有索引
连接操作的字段最好用整数数字类型
有外连接时, 不能用OR或IN的比较操作
1、安装
Oracle 版本:Oracle Database 10gRelease 2 (10.2.0.1)
下载地址:
/technology/software/products/database/oracle10g/htdocs/10201winsoft.html
1. 数据表间的连接
简单的连接语法:
SELECT 字段名1, 字段名2, …… FROM 表名1, [表名2, ……]
WHERE 表名1.字段名 = 表名2. 字段名 [ AND ……] ;
SELECT 字段名1, 字段名2, …… FROM 表名1, [表名2, ……]
WHERE 表名1.字段名 = 表名2. 字段名(+) [ AND ……] ;
create tablespace camds datafile 'D:\oracle\product\10.2.0\oradata\camds\camds.dbf' size 200m autoextend on next 10m maxsize unlimited;
5、创建新用户
运行“P/L SQL Developer”工具,以DBA(用户名:System)的身份登录:
SQL> column salary justify right format $99,999.99;
SQL> column start_date format a10 null 'Not Hired';
说明:如果start_date为null, 显示字符串'Not Hired'
6. 判断题(T/F)
SQL>delete from table_name t1
where t1.rowid >
(select min(rowid) from table_name t2
where t1.email = t2.email
group by email
having count(email) > 1);
找到手机用户的服务区域:
命令实例:
Sql代码
1.exp testcamds/123@camdsora file=c:\testcamds owner=testcamds
exp testcamds/123@camdsora file=c:\testcamds owner=testcamds
导入结果:
一、选择行
1. 简单的SELECT 语句
imp testcamds/123@camds file=c:\testcamds fromuser=testcamds touser=testcamds
导入结果:
2
命令语法:
Sql代码
1.exp userid/pwd@sid file=path/file owner=userid
exp userid/pwd@sid file=path/file owner=userid
STA[RT] filename 运行上次保存到文件filename里的SQL命令
@filename 运行上次保存到文件filename里的SQL命令
EDIT 打开编辑窗口,编辑sql buffer里的SQL命令
EDIT filename 打开编辑窗口,编辑文件filename里的SQL命令
SPO[OL] filename [OFF | OUT] 把SQL命令结果输出到OS下一个文件filename OFF结束输出到文件, OUT结束输出到文件并打印文件
SQL> set pause on; 可以使大量结果集在用户按“Enter”(回车)后翻页
SQL> set pagesize 100; 设定SQL语句返回结果集一页的行数100, 默认值是14
SQL> set linesize 100; 设定SQL语句返回结果集一行的宽度100, 默认值是80
(2)SQL*PLUS里的编辑命令
(1). SQL command are always held in sql buffer. [T]
(2). SQL*PLUS command assit with query data. [T]
SQL*PLUS命令只控制SELECT结果集的显示格式及控制文件.只有SQL命令能访问数据库.
四、从多个表里选取数据记录
1
2
3
4
5
6
输入新用户的“用户名/口令”:
新用户“testcamds”成功登陆:
6、导入导出数据库
先运行cmd命令,进入命令行模式,转到下面的目录:D:\oracle\product\10.2.0\db_1\BIN【该目录下有exp.exe文件】
1
命令语法:
Sql代码
1.imp userid/pwd@sid file=path/file fromuser=testcamds touser=userid
SQL> select a.handphoneno,nvl(,'null'),a.totalscore
from topscore a,chargeoperator cc,chargeoperatorinfo c
where substr(a.handphoneno,1,7)=cc.hpnohead(+)