Oracle基本语法学习记录(Day01)

本文详细介绍了如何在数据库中创建用户、赋予权限、撤回权限、创建表格以及各种查询操作,包括条件筛选、排序、使用函数处理数据等,是数据库管理与开发人员的实用参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建用户及赋予权限和撤回权限

 创建用户  
create user 用户名 identified by 指令(密码) 
-- 如果提示公共用户名无效,失败。那就再用户名前加一个c##
create user c##用户名 identified by 指令(密码)
 赋予权限
grant connect, resource to 用户名
 删除用户
drop user 用户名
-- 若用户拥有对象,则不能直接删除,否则将返回一个错误值。指定关键字cascade,可删除用户所有的对象,然后再删除用户。
drop user 用户名 cascade;
-- 撤销权限
revoke connect, resource from 用户名

创建表格

举例:
create table user(
	id number primary key not null,
	name varchar(10) not null,
)

数据库关系图

以下代码都基于上传的数据库

点击这里下载该数据库

--查询s_emp表的所有信息
select * from s_emp

--如果是开发人员建议写下面的格式用来方便开发时的操作便捷
select ID, LAST_NAME, FIRST_NAME, USERID, START_DATE, MANAGER_ID, COMMENTS, TITLE, DEPT_ID, SALARY, COMMISSION_PCT from s_emp

--查询s_emp表的指定字段信息
select COMMISSION_PCT, MANAGER_ID, DEPT_ID, SALARY, TITLE from s_emp

--查询出每个员工的姓名
 select FIRST_NAME ||' '|| LAST_NAME from  s_emp
--别名
 select FIRST_NAME ||' '|| LAST_NAME as 名字 from  s_emp
--查询出s_emp表每个员工的每月薪水
--nvl(表达式或者默认名,默认值),当表达式或者列名得到的值为null时,使用默认值,不为空时,就用表达式或者列名的值
select ID, LAST_NAME, FIRST_NAME, USERID, START_DATE, MANAGER_ID, COMMENTS, TITLE, DEPT_ID, SALARY, COMMISSION_PCT,
           SALARY*nvl(SALARY*COMMISSION_PCT,0)/100 as 提成,SALARY+SALARY*nvl(SALARY*COMMISSION_PCT,0)/100 as 薪水 from s_emp

--请查询出s_dept表的部门名称
--distinct去重复值
select distinct NAME from s_dept
--查询出s_emp表中所有的员工的部门ID及职称:
select distinct DEPT_ID, TITLE from s_emp

--请查询出s_emp表中部门ID为50并且工资大于1500的员工的信息:
select * from s_emp where DEPT_ID=50 and SALARY>1500

--请查询出s_emp表中工资在1500到2000之间的员工信息:
select * from s_emp where SALARY between 1500 and 2000

--请查询出s_dept表中region_id为1,3的部门信息:
select * from s_dept where region_id=1 or region_id=3
select * from s_dept where region_id in(1,3)

--   _表示占一位,%表示可以0位或者是多位
--请查询出s_emp表中姓中含有字母a的员工信息:
select * from s_emp where LAST_NAME like '%a%'

----请查询出s_emp表中姓中首字母a A的员工信息:
select * from s_emp where LAST_NAME like '%a%' or LAST_NAME like '%A%'

----请查询出s_emp表中姓中第三位字母b的员工信息:
select * from s_emp where LAST_NAME like '__b%'

--请查询出当前用户下所有以‘s_’开头的表
select table_name 
from user_tables 
where table_name like 'S\_%' escape '\'
--'\'为转义字符

--查询出s_emp表中非销售职位的员工信息  
--空值查询要用is null  不可以用=
select * from s_emp where COMMISSION_PCT is not null

--SELECT    <列名>   FROM      <表名> [ where  条件] [order by [列名1,列名1,.可以多个.] [asc 升序|desc 降序]]
--查询出s_emp表将部门ID为41的员工的工资按从高到低排列显示出来
select * from s_emp where DEPT_ID =41 order by SALARY desc

--查询一名last_name以“M”开头的员工,他的好像是’3X’
select * from s_emp where last_name like 'M%' and dept_id like '3%' 

--查询工资在1200至1500之间的员工
select * from s_emp where SALARY between 1200 and 1500

--查询来自部门ID为(41,42,43)的员工
select * from s_emp where DEPT_ID in(41,42,43)

(未完持续)。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值