1. 系统用户
sys(管理员/系统操作员) > system(可直接登录)
sysman(操作企业管理器 - 管理员级别)
scott(默认密码tiger)
2.用户登录语句
[username/password] [@sever] [as sysdba|sysoper]
system/root @orcl as sysdba (orcl就是自己设置的服务名)
注: SQL语句中不区分大小写
2. 几种登录方式 选择
- system/root
- connect sys/root as sysdba
- connect scott/tiger
2.1 使用windows的cmd窗口登录Oracle
加入Oracle数据库信息如下:
- IP:127.0.0.1
- SID:orcl
- 端口号:1521
- 用户名:scott
- 密码:tiger
- 本地客户端配置服务名:orcl
1.通过服务名连接数据库
sqlplus [数据库名/密码]@[本地客户端服务名]
C:\Users\hp>sqlplus scott/tiger@orcl
出现下图,表示链接成功
SQL*Plus: Release 11.2.0.1.0 Production on Thu Mar 2 00:03:39 2017
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
2.通过IP地址连接
sqlplus [数据库名/密码]@[IP:端口号]
C:\Users\hp>sqlplus scott/tiger@127.0.0.1:1521
3. 常用的命令
- show user:查看当前用户
- dba_users:用户数据字典
- alter user [username] account unlock:解锁并启用用户
4. 表空间介绍
1、永久表空间(存放数据库中永久存储的内容,表、视图、触发器等)
2、临时表空间(存放数据库操作过程中临时执行的过程,执行结束后,表空间会被释放,不进行永久保存)
3、UNDO表空间(存放事务所修改数据的旧值,也就是被修改之前的数据,即回滚的来源)
- dba_tablespaces、user_tablespaces(分别指数据库和用户的表空间数据字段信息)
- dba_user、user_users(系统用户和普通用户的数据字段信息)
exp:查看表空间
- desc dba_tablespaces;
- select tablespace_name from dba_tablespaces;
输出:
- SYSTEM:存放sys这个用户的表、视图及存储过程等这些数据库对象,称为系统表空间。主要用于存储系统信息。
- SYSAUX:作为EXAMPLE的辅助表空间。
- EXAMPLE:用于安装oracle实例及数据库实例的表空间。
- UNDOTBS1:用于存储撤销信息,属于UNDO表空间。
- TEMP:存储SQL语句处理的表、索引信息,属于临时表空间。
- USERS:属于永久性表空间,用于存储数据库用户创建的数据库对象。与sys表空间差不多。
SQL语句
1. DML (Data manipulate Language) 数据操作语言
- INSERT:增
- DELETE:删
- UPDATE:改
- SELECT:查
1. 空值
空值不等于零,凡是空值参与操作的运算都为空
2. 使用sql进行运算
select 3+6 from dual;
结果:9
注意dual必须为该关键词,其他的不行
3. 列的别名
select employee_id as id employee_name as "name" from employee as emp;
其中的 as
是可有可无的 之后跟的就是别名,emp就是employee的别名,使用"name"
表示查询后的结果name字段使用小写
4.连接符
- 把列与列,列与字符连接起来
- 用 ‘||’表示
- 可以使用‘合成’ 列
select last_name|| 'email is:' ||email as detais from employees;
使用该方法查询的的话查询结果是两个字段连接在一起但是只返回一列。
select last_name || ',' || job_id || ','||salary "OUT PUT" from employees;
结果:
OUT PUT
---------------------------
Gates,SH_CLERK,2900
Perkins,SH_CLERK,2500
Bell,SH_CLERK,4000
Everett,SH_CLERK,3900
McCain,SH_CLERK,3200
Jones,SH_CLERK,2800
Walsh,SH_CLERK,3100
Feeney,SH_CLERK,3000
107 rows selected.
5.去重复
select distinct department_id from employees;
可以把所有的department_id重复的值全部去掉
6. 过滤
查询id大于200的employee的lastName
select last_name from employees where employee_id>200;
结果:
LAST_NAME
------------------
Hartstein
Fay
Mavris
Baer
Higgins
Gietz
6 rows selected.
注意,当条件为字符串或者日期的时候要使用单引号括起来
where last_name='Higgins'
条件是日期的时候注意格式
使用to_char(hire_date,'yyyy-mm-dd')
函数将日期格式化为想要的格式
SQL> select last_name from employees where to_char(hire_date,'yyyy-mm-dd')='1994
-06-07';
LAST_NAME
---------------------------------------------------------------------------
Mavris
Baer
Higgins
Gietz
6.1 查询带下划线的名字
select last_name from employees where lasy_name like %\_% escape '\'
6.2 比较运算符
操作符 | 含义 |
---|---|
between …and… | 在两个值之间,包含边界 |
in(set) | 等于值列表中的一个 |
like | 模糊查询 |
is null | 空值 |
7 SQL的函数
7.1 单行函数
1. 字符
- 大小写控制函数
- LOWER:转成小写
- UPPER:转成大写
- INITCAP:转成首字母大写
SQL> select lower('LEARN JAVA'),upper('learn java'),initcap('lEaRn jAvA') from d
ual;
输出:
LOWER('LEARNJAVA') UPPER('LEARNJAVA')
------------------------------ ------------------------------
INITCAP('LEARNJAVA')
------------------------------
learn java LEARN JAVA
Learn Java
- 字符控制函数
函数 | 结果 | 含义 |
---|---|---|
concat(‘Hello’,’World’) | Hello World | 连接字符串 |
substr(‘helloworld’,1,5) | hello | 截取字符串,从1开始截取5个 |
length(‘helloworld’) | 10 | 取得字符串长度 |
instr(‘helloworld’,’W’) | 6 | 返回指定字符串首次出现的索引位置 |
lpad(salary,10,’*’) | *****24000 | 取10位不足的用*补齐 |
rpad(salary,10,’*’) | 24000***** | |
trim(‘H’ from ‘HelloWorld’) | elloWorld | 去掉指定的字符串 |
replace(‘abcd’,’b’,’m’) | amcd | 将指定的字符替换为另外一个 |
3. 数字函数
- round:四舍五入函数
- trunc:截断函数
- mod:求余数
7.2 多行函数
2. DDl (Data Definition Language) 数据定义语言
- CREATE TABLE:创建数据库表
- ALTER TABLE:更改表结构,添加,删除,修改列长度
- DROP TABLE:删除表
- CREATE INDEX:在表上面建立索引
- DROP INDEX:删除索引
3. DCL (Data Control Language) 数据控制语言
- GRANT:授予访问权限
- REVOKE:撤销访问权限
- COMMIT:提交事务处理
- ROLLBACK:书屋处理回退
- SAVEPOINT:设置保存点