oracle学习积笔计总结

1.用户名和密码

2.工具

window+R--->运行---->sqlplus.exe

输入用户名和密码:c##scott/tiger

3.

 

--删除数据表
DROP TABLE emp PURGE;
DROP TABLE dept PURGE;
DROP TABLE bonus PURGE;
DROP TABLE salgrade PURGE;
--创建数据表
CREATE TABLE dept(
    deptno NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY,
    dname VARCHAR2(14),
    loc   VARCHAR2(13)
);
CREATE TABLE emp(
    empno NUMBER(4) CONSTRAINT PK_EMP PRIMARY KEY,
    ename VARCHAR2(10),
    job   VARCHAR2(9),
    mgr   NUMBER(4),
        hiredate DATE,
    sal   NUMBER(7,2),
    comm  NUMBER(7,2),
    deptno NUMBER(2) CONSTRAINT FK_DEPTNO REFERENCES DEPT
);
CREATE TABLE bonus(
    ename     VARCHAR2(10),
    job     VARCHAR2(9),
    sal     NUMBER,
    comm    NUMBER
);
CREATE TABLE salgrade(
    grade NUMBER,
    losal NUMBER,
    hisal NUMBER
);
--插入测试数据——dept
INSERT INTO dept VALUES(10,'ACCOUNTING','NEW YORK');
INSERT INTO dept VALUES(20,'RESEARCH','DALLAS');
INSERT INTO dept VALUES(30,'SALES','CHICAGO');
INSERT INTO dept VALUES(40,'OPERATIONS','BOSTON');
-- 插入测试数据——emp
INSERT INTO emp VALUES(7369,'SMITH','CLERK',7902,to_date('17-12-1980','dd-mm-yyyy'),800,NULL,20);
INSERT INTO emp VALUES(7499,'ALLEN','SALESMAN',7698,to_date('20-2-1981','dd-mm-yyyy'),1600,300,30);
INSERT INTO emp VALUES(7521,'WARD','SALESMAN',7698,to_date('22-2-1981','dd-mm-yyyy'),1250,500,30);
INSERT INTO emp VALUES(7566,'JONES','MANAGER',7839,to_date('2-4-1981','dd-mm-yyyy'),2975,NULL,20);
INSERT INTO emp VALUES(7654,'MARTIN','SALESMAN',7698,to_date('28-9-1981','dd-mm-yyyy'),1250,1400,30);
INSERT INTO emp VALUES(7698,'BLAKE','MANAGER',7839,to_date('1-5-1981','dd-mm-yyyy'),2850,NULL,30);
INSERT INTO emp VALUES(7782,'CLARK','MANAGER',7839,to_date('9-6-1981','dd-mm-yyyy'),2450,NULL,10);
INSERT INTO emp VALUES(7788,'SCOTT','ANALYST',7566,to_date('13-07-87','dd-mm-yyyy')-85,3000,NULL,20);
INSERT INTO emp VALUES(7839,'KING','PRESIDENT',NULL,to_date('17-11-1981','dd-mm-yyyy'),5000,NULL,10);
INSERT INTO emp VALUES(7844,'TURNER','SALESMAN',7698,to_date('8-9-1981','dd-mm-yyyy'),1500,NULL,30);
INSERT INTO emp VALUES(7876,'ADAMS','CLERK',7788,to_date('13-07-87','dd-mm-yyyy')-51,1100,NULL,20);
INSERT INTO emp VALUES(7900,'JAMES','CLERK',7698,to_date('3-12-1981','dd-mm-yyyy'),950,NULL,30);
INSERT INTO emp VALUES(7902,'FORD','ANALYST',7566,to_date('3-12-1981','dd-mm-yyyy'),3000,NULL,20);
INSERT INTO emp VALUES(7934,'MILLER','CLERK',7782,to_date('23-1-1982','dd-mm-yyyy'),1300,NULL,10);
-- 插入测试数据——salgrade
INSERT INTO salgrade VALUES(1,700,1200);
INSERT INTO salgrade VALUES(2,1201,1400);
INSERT INTO salgrade VALUES(3,1401,2000);
INSERT INTO salgrade VALUES(4,2001,3000);
INSERT INTO salgrade VALUES(5,3001,9999);
-- 事务提交
COMMIT;
-- 查询
SELECT * FROM emp;

--每行显示300个字符
SET LINESIZE 300;
--每页显示30行记录
SET PAGESIZE 30;

--查看当前用户
SHOW USER;
--在sys用户中查询c##scott.emp表数据
SELECT * FROM c##scott.emp;

--使用sys用户以管理员方式登录
CONN sys/change_on_install AS SYSDBA;

--查看当前容器名称
SHOW con_name;

--将CDB的切换到PDB
ALTER SESSION SET CONTAINER=pdborcl;

--通过CDB打开PDBORCL可插入数据库
ALTER PLUGGABLE DATABASE pdborcl OPEN;

--在pdborcl下查看scoot与sh用户是否存在
SELECT username FROM dba_users where username='SCOTT' OR username='SH';

--切换回CDB容器
ALTER SESSION SET CONTAINER=CDB$ROOT;

--取得当前用户的全部数据对象
SELECT * FROM tab;

--查看dept的表结构
DESC dept;

--使用本机的操作系统命令
HOST COPY D:\mldn.sql D:\hello.sql

--使用DISTINCT关键字去掉全部的重复内容
SELECT DISTINCT job FROM emp;

--设置别名用AS
SELECT empno 雇员编号,ename 雇员姓名,(sal+200)*12+5000 AS 年薪 FROM emp;

--查看emp表中的数据量
SELECT COUNT(*) FROM emp;

--限定查询WHERE
SELECT * FROM emp WHERE sal>1500;

WHERE sal BETWEEN 1500 AND 3000;

--判断空或非空   IS NULL/IS NOT NULL
SELECT * FROM emp WHERE comm IS NOT NULL;

--通过IN操作符指定查询范围
SELECT * FROM emp WHERE empno IN(7369,7788,7566);

--模糊查询LIKE,以S开头的全部雇员信息
SELECT * FROM emp WHERE ename LIKE 'S%';

--任意的其他字符用“%”匹配
--“_”表示任意的一个字符

--直接使用了“'%%'”的形式,则表示查询全部

--排序ORDER BY 字段 ASC(升序,默认)|DESC(降序)
SELECT * FROM emp ORDER BY sal DESC;

4.

 

 

--取得当前的系统时间
SELECT SYSDATE FROM dual;

SELECT SYSTIMESTAMP FROM dual;

--修改日期显示格式
ALTER SESSION SET NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss';

 

 

猜你喜欢

转载自www.cnblogs.com/qunxuan/p/9633230.html