ORACLE第一步- 创建表空间、用户、授权以及简单查询
-- 以 SYSTEM 用户登录 SQL*Plus
-- 创建一个自动增长的表空间WORKTBS
CREATE TABLESPACE WORKTBS
DATAFILE 'D:\ORACLE\ORADATA\APTECH\WORKTBS01.DBF'
SIZE 10M AUTOEXTEND ON;
-- 创建用户
CREATE USER SANIC
IDENTIFIED BY SANICPWD
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP;
-- 授予连接和创建各种数据库对象的权限
GRANT CONNECT TO SANIC;
-- 授予使用表空间资源的权限
GRANT RESOURCE TO SANIC;
--仅授与指定表的指定列权限
GRANT UPDATE(C1, C2) ON TABLE1 TO USER1;
--授权并使该用户可以授这些权给其他用户
GRANT…WITH GRANT OPTION;
-- 修改用户密码
ALTER USER SANIC IDENTIFIED BY SANICPWD;
-- 删除用户及其拥有的对象
DROP USER SANIC CASCADE;
--删除表数据
TRUNCATE TABLE EMP;-删除数据,释放空间
TRUNCATE TABLE EMP REUSE STORAGE;-删除数据保留空间
--删除表(结构)
DROP TABLE EMP;
--NULL的判断和处理
SELECT * FROM EMP WHERE COMM IS NOT NULL;
SELECT ENAME,JOB,SAL,NVL(COMM,0) FROM EMP;
--卸载表空间
DROP TABLESPACE WORKTBS;
-- 查看正在运行的后台进程
SELECT * FROM v$bgprocess WHERE paddr <> '00';
-- 查看用户SANIC的信息
select * from dba_users where username = 'SANIC';
--1.找出各月最后一天受雇的所有雇员.
select * from emp where hiredate = last_day(hiredate);
--2.找出早于12年之前受雇的雇员
select * from emp where to_char(sysdate, 'yyyy') - to_char(hiredate, 'yyyy') > 12;
--3.显示只有首字母大写的所有雇员的姓名
select ename from emp where ename = initcap(ename);
--4.显示不带有"R"的雇员姓名
select ename from emp where ename not like '%R%';
--5.显示所有雇员的姓名,用a替换所有"A"
select replace(ename, 'A', 'a') from emp;
--6.显示所有雇员的姓名以及满10年服务年限的日期
select ename,add_months(hiredate,120) from emp;
--7.对于每个雇员,显示其加入公司的天数
select round(sysdate - hiredate, 0) from emp;
--8.以年、月和日显示所有雇员的服务年限.
select empno,
floor(months_between(sysdate, hiredate) / 12) As Year,
floor((months_between(sysdate, hiredate) / 12 -
floor(months_between(sysdate, hiredate) / 12)) * 12) As Month,
ceil((((months_between(sysdate, hiredate) / 12 -
floor(months_between(sysdate, hiredate) / 12)) * 12) -
floor((months_between(sysdate, hiredate) / 12 -
floor(months_between(sysdate, hiredate) / 12)) * 12)) * 30) As Day
from emp
order by hiredate;
浙公网安备 33010602011771号