Oracle新建用户,授权,单表查询,连接符,去重,排序,逻辑运算,where子查询

oracleXE

  1. 账户名:system 系统账户(管理员)
    sys:超级用户(工程师)
  2. 区别:sys比system的权限要多
  3. oracleXE版本不自带普通用户
  4. oracle 11g和oracle 12g自带用户scott,默认密码是tiger,并给该用户自带四张二维的数据表。

sql语句

概念:结构化语言,
作用:操作数据,管理用户,管理事务。
使用:

  1. 通过SQL语句对数据库中的数据进行管理。
  2. 数据的读取:单表查询,多表查询,子查询,
  3. 数据的存储:增加一条数据或表,删除一条数据或表,修改一条数据或表。
  4. 创建,删除,修改用户。
  5. 管理事务。

oracle新建用户,授权

使用system登录plsql,登录身份sysdba。

-- 这两个杠是注解的意思
-- 创建用户
-- create user 用户名 identified by 密码
create user scott identified by 1234;
-- 给用户授予权限
--赋予数据库登录连接权限
grant connect to scott;
--赋予数据库操作资源的权限
grant resource to scott;

单表查询

-- 单表查询
-- 查询表中所有数据
--select * from 表名
select * from emp;
-- 查询表中的某个字段
-- select 字段名,字段名 from 表名;
select empno,ename from emp;
-- 查询结果中的字段使用别名
--select 字段名 as "别名" from 表名;
--as关键字可以省略,若别名中无特殊的字符,双引号也可以省略;
select empno 员工编号,ename "员工姓名",job as 工作,mgr as "员工工资" from emp;

连接符,去重,排序,逻辑运算

 -- 连接符
 --||作为sql语句连接符,
 -- 连接符的格式:字段名 || ‘字符集’|| 字段名
 -- 一个拼接好的连接在结果集中作为一个新的字段来显示的,可以使用别名来优化显示
 select * from emp;
 select empno || '的名字是'||ename as "信息" from emp;
 -- 去除重复
 --当是多行的时候,多行相同时进行去除
 select distinct empno,ename from emp;
 select distinct mgr from emp;
 --单字段排序 asc升序,desc降序
 -- select * from 表名 order by 字段 asc;
 -- select * from 表名 order by 字段;默认asc升序
 -- select * from 表名 order by 字段名 desc;
 select * from emp order by empno desc;
 --多字段排序
 --select * from 表名 order by 字段1,字段2 desc;
 -- select * from 表名 order by 字段1,字段2 ;
 -- select * from 表名 order by 字段1,字段2 asc;
 -- 先按照字段1进行排序,若字段1的字段名相同,则按照字段2进行排序。
 select * from emp order by empno,ename;
  select * from emp order by empno desc,ename asc;
 -- 字段的逻辑运算
 --字段时数值类型的时候,可以进行四则运算,也可以同数值类型的字段进行四则运算
 select mgr+1000,mgr+comm from emp;

where子查询

 --使用where子查询
 --单条件查询
 --模式 select * from emp where 字段名 筛选条件;
 -- 筛选条件是:= ,<,>,<=,>=,<>(这是不等于,标准写法),后面的是不标准的写法,!=
 -- 字符用单引号括起来,数值可以不用,用了最好,
--查询用户名SMITH的用户信息,逻辑运算符=
select * from emp where ename = 'SMITH';
-- 查询员工工资大于1000的员工信息,逻辑运算符>
select * from emp where sal>1000;
--查询员工工资不等于3000的员工信息
select * from emp where sal <> 3000;
--练习
--查看工资等于1250的员工信息
select * from emp where sal = '1250'
--查看工作等于CLERk的员工信息
select * from emp where job='CLERK'
--查看工资大于等于2000的员工信息
select * from emp where sal > 1250
--查看工资大于1250的员工姓名和工作
select ename,job from emp where sal > 1250
--查看工资不等于1500的员工信息
select * from emp where sal<>1500
--查看入职日期在81年之后的员工信息
-- 日期的格式为日-月-年,实例:'03-1月-1981';
select * from emp where hiredate > '01-1月-1981'
--where的多条件查询
--(and,between and,or ,in,is null,is not null,escape,like,)
-- 查询有津贴的员工信息
-- is null 表示的是数据为空,is not null 表示的数据不为空(比如0.0也是不为空)
--多条件使用and关键字进行连接,筛选出所有符合条件的数据 
select * from emp where comm is not null and comm >0
--查询姓名中包含s,以s开头,以s结尾,第二个字符是‘a’的
-- 模糊查询中%表示任意多个任意字符,_表示一个字符,
--查询姓名包含的s的用户信息
select * from emp where ename like '%S%'
--查询姓名以S开头的用户信息
 select * from emp where ename like 'S%'
 --查询姓名以S开结尾的用户信息
 select * from emp where ename like '%S'
 --查询第二字符是A的用户信息
 --_表示一个任意字符
 select * from emp where ename like '_A%'
 -- 这里面的_是特殊字符,它本身就是个下划线,但在这里它有了新的含义,但就是使用它本身的意思
 --就需要使用escape,escape将普通字符转换成转义字符,转移字符将特殊字符转换成普通字符。 
 -- select * from 表名 where 字段名 like '字符1字符二' escape '字符1';
 select * from emp where ename like '/_' escape '/'
 -- 查询工作为SALESMAH,ANALYST,MANAGER的员工信息
    --使用or关键字,进行或条件的筛选
    select * from emp where job='SALESMAH' or job='ANSLYST' or job='MANAGER'
    --使用in关键字进行筛选,但是in关键字的只能是一个字段名中的,而or可以是不同的字段名
    select * from emp where job in ('SALESMAH','ANSLYST','MANAGER')
 --查询工资在2000到3000之间的员工的信息
    --使用and关键字,多条件同时成立进行筛选
    select * from emp where sal > 2000 and sal < 3000
    --使用between and进行条件的筛选,这个是包含两头的。
    select * from emp where sal between 2000 and 3000
     
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值