首页 > 数据库 > Oracle > 正文

Oracle基本操作

2024-08-29 13:54:54
字体:
来源:转载
供稿:网友

1. 系统用户

sys(管理员/系统操作员) > system(可直接登录) sysman(操作企业管理器 - 管理员级别) scott(默认密码tiger) 2.用户登录语句 [username/passWord] [@sever] [as sysdba|sysoper] system/root @orcl as sysdba (orcl就是自己设置的服务名)

注: SQL语句中不区分大小写

2. 几种登录方式 选择

system/rootconnect sys/root as sysdbaconnect 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 2017Copyright (c) 1982, 2010, Oracle. All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real application Testing optionsSQL>

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,2900Perkins,SH_CLERK,2500Bell,SH_CLERK,4000Everett,SH_CLERK,3900McCain,SH_CLERK,3200Jones,SH_CLERK,2800Walsh,SH_CLERK,3100Feeney,SH_CLERK,3000107 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------------------HartsteinFayMavrisBaerHigginsGietz6 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---------------------------------------------------------------------------MavrisBaerHigginsGietz

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 JAVALearn 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:设置保存点

- LOCK:对数据库的特定部分进行锁定


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表