创建新用户:(用户名:username、密码:password)
create user username identified by password;
用户授权:
GRANT CONNECT, RESOURCE, DBA TO username;
权限说明:
DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限。
SQL语句分为三种类型:DML数据库操纵语言、DDL数据库定义语言、DCL数据库控制语言
DML:增(INSERT)、删(DELETE)、改(UPDATE)、查(SELECT)
DDL:创建表(CREATE TABLE)、更改表结构(ALTER TABLE)、删除表(DROP TABLE)、在表上建立索引(CREATE INDEX)、删除索引(DROP INDEX).......
DCL:授权(GRANT)、撤销权限(REVOKE)、提交事务处理(COMMIT)、事务处理回滚(ROLEBACK)、设置保存点(SAVEPOINT)、对数据库的特定部分进行锁定(LOCK)
SELECT语句:
select * from 表名; //查询表内所有的数据
select 列名1,列名2,列名3 from 表名; //查询表内的特定列
列的别名
select 列名1 (as) 别名1,列名2(as) 别名2,列名3(as) 别名3 from 表名; //查询表内的特定列
此方法默认别名显示为大写,若要显示小写,可在别名上加上“ ”,eg “别名1”
连接符 || || (类似于JAVA中的+)
select last_name ||'`s job is'|| job_id from employees;
去掉重复数据 distinct
select distinct 列名 from 表名; //不显示该列的重复数据
条件查询:
select * from where ...
注:字符和日期包含在单引号中、字符的大小写敏感、日期的格式敏感
日期格式:13-7月-1998(不常用) 通常写法:to_char(列名,'yyyy-mm-dd') = '1998-07-13'
--between and 的用法
select last_name,id ,salary from employees where salary>=4000 and salary<=7000;
||
select last_name,id ,salary from employees between 4000 and 7000;
--in的用法
select last_name,id from employees where id = 60 or id = 70 or id = 80;
||
select last_name,id from employees where id in(60,70,80);
--like的用法(模糊查询)
select last_name,id from employees where last_name like '%a%'; //查询名字中带有a的
注:若名字中带有下划线,则需要使用转义字符'escape,示例如下:
--查询名字中带有_的
select last_name,department_id,salary from employees where last_name like '%\_%' escape '\';
查询并排序
select last_name,department_id,salary from employees where department_id = 80 order by salary desc;
--若salary相同,则按照last_name排序
select last_name,department_id,salary from employees where department_id = 80 order by salary desc,last_name asc;
order by 排序,desc表示从大到小的顺序排列,asc表示从高向低排序
单行函数
单行函数主要分为以下五类:字符函数、数字函数、日期函数、转换函数、通用函数;
字符函数:
大小写控制函数 | 字符控制函数 |
---|---|
LOWER | CONCAT |
UPPER | SUBSTR |
INITCAP | LENGTH |
INSTR | |
LPAD | RPAD | |
TRIIM | |
REPLACE |
数字函数:ROUND:四舍五入、TRUNC:截断、MOD:求余
日期函数:Oracle中的日期型函数包含两个值,日期和时间。sysdate
函数 | 描述 |
---|---|
months_between | 两个日期相差的月数 |
add_months | 向指定日期中加上若干月数 |
next_day | 指定日期的下一个星期对应的日期 |
last_day | 本月的最后一天 |
round | 日期的四舍五入 |
trunc | 日期截断 |
转换函数:包含隐性、显性
源数据类型 | 目标数据类型 |
---|---|
VARCHAR2 or CHAR | NUMBER |
VARCHAR2 or CHAR | DATE |
NUMBER | VARCHAR2 |
DATE | VARCHAR2 |
显示转化:TO_DATE 、TO_CHAR 、TO_NUMBER
select to_char(123456789,'999,999,999,99') from dual;
通用函数
附录:
1.查看表结构:
desc 表名