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';