oracle基本命令集合(1)--基本操作

xiaoxiao2021-02-28  85

测试机oracle参数 版本:oracle 11g 用户/密码:sys/orcl,system/manager,scott/tiger

序: SQL语言是数据库的核心语言。全称是“结构化查询语言(Structured Query Language)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEMR开发的一种查询语言,它的前身是SQUARE语言。 SQL语言大致可分为以下几组: 1.DML(Data Manipulation Language,数据操作语言):用于检索或者修改数据 SELECT:查询表中数据 UPDATE:更新表中记录 INSERT:向表中添加新记录 DELETE:删除表中记录 2.DDL(Data Definition Language,数据定义语言):用于定义数据的结构,如创建、修改或者删除数据库对象 CREATE:创建数据库对象 ALTER:修改数据库对象 DROP:删除数据库对 truncate:删除表中记录,不可回退 3.DCL(Data Control Lanaguage,数据控制语言) GRANT:授权命令 REVOKE:撤消权限命令

一.登陆sqlplus

3种方法,因地制宜 1)、在命令行下输入sqlplus按提示输入用户名,密码 2)、直接输入sqlplus scott/tiger 3)、以管理员身份登录:sqlplus sys/orcl as sysdba

二.创建表(create)

create table t_class(cno varchar2(10) primary key, cname varchar2(20) not null); create table t_student( sno varchar2(20) constraint pk_student primary key, sname varchar2(20) constraint chk_name not null, sex char(2) constraint chk_sex check (sex in('男', '女')), birth date, idcard varchar2(10) references t_class(cno));

三.插入(insert)

insert into t_class values('c001', '2班'); insert into t_class values('c002', '1班'); insert into t_student values('s002', '李斯','男',sysdate,'c001'); insert into t_student(sno, sname,sex) values('s001','张飒','男');

四.修改(alter)

用SET UNUSED选项标记一个或多个未使用的列 用DROP UNUSED COLUMNS选项删除被标记为未使用的列

alter table t_student set unused column sno; --标记表头sno alter table t_student drop unused columns; --删除被标记为使用的列

添加列

SQL> alter table t_student add in_date date;

删除列

alter table t_student drop column in_date;

五.更新(update)

update t_student set name='张3',sex='女' --修改所有 update t_student set name='张3',sex='女' where sno='s001'

六.查询(select)

1.普通查询

select * from tab; --查询本用户所有的表 select sno,sname from t_student; --只查询sno,sname select sno,sname from t_student; --将查询结果以“学号 名字 sex”的格式显示 select distinct job from emp; --去重复显示emp表中job信息 select * from emp where sal > 1000; select * from emp where sal > 1000 and deptno=10; --数据段本身区分大小字 select * from emp where sal > 3000 or job='MANAGER'; --一个sql中既有and又有or一定用括号指定分组 select * from emp where (sal > 2500 or job='MANAGER') and deptno=10; --工资在3000至5000之间的员工 select * from emp where sal>=3000 and sal<=5000; select * from emp where sal between 3000 and 5000; --小数在前,大数在后 --查询null/not null select * from emp where comm is null; select * from emp where comm is not null; select * from emp where sal > 3000; select * from emp where not sal > 3000; --查询工作岗位是CLERK,MANAGER,ANALYST的员工的信息 select * from emp where job='CLERK' or job = 'MANAGER' , job = 'ANALYST'; select * from emp where job='CLERK' or job = 'MANAGER' , job = 'ANALYST'; select * from emp where job in ('CLERK', 'MANAGER','ANALYST'); select * from emp where job not in ('CLERK', 'MANAGER','ANALYST');

2.模糊查询

select * from emp where ename like 'KING'; --查询姓名以s开头的员工信息 select * from emp where ename like 'S%'; --以S结尾的员工信息 select * from emp where ename like '%S'; --查询姓名是四个字符的员工信息 select * from emp where ename like '____'; select * from emp where ename like '%\_%' escape \; select * from emp where ename like '%#_%' escape '#';--指定转义符为“#”

3.排序

select * from emp order by sal asc;--默认升序 --降序排 select * from emp order by sal desc; --多条件排 --部门降序,工资升序 select * from emp order by deptno desc,sal; --desc只作用于使用它的列 select empno,ename,job,sal from emp where job='CLERK' order by deptno ,sal desc; --按列别名 SQL> select empno,ename,job,sal 工资 from emp order by 工资; --按列序号 SQL> select empno,ename,job,sal 工资 from emp order by 1 desc; SQL> select empno,ename,job,sal 工资 from emp order by 4 ;

七.删除

1.删除整个表

(1)至回收站

drop table 表的名字;

(2)永久删除

drop table 表的名字 purge;

2.永久删除表中记录

truncate table 表的名字;

truncate 语句是个快速数据删除语句,越过Oracle 中的事物控制,使数据改变具有不可恢复性。截断表总是比不带where 子句的delete 语句快,但完成这个操作之后,就无法恢复数据,除非对数据进行备份。

3.删除表中记录到回收站

delete * from 表的名字;

4.查看/清空回收站

–查看回收站

show recyclebin

(1)删除回收站所有垃圾信息

purge recyclebin;

(2)清除选中信息

purge table 表的名字; purge index 索引的名字

5.闪回

SQL> flashback table "BIN$gNXtmTKZT72wL38EHVrFeQ==$0" to before drop; 闪回完成。

另外一些常用命令及注意事项:

show user : 显示当前登录用户 conn 用户名/密码:切换至另一用户 desc[ribute] 表名:查看指定表的表结构 select * from tab:查看当前用户所拥有的表 set serveroutput on:打开服务器端输出 set pagesize 100:设置每页显示多少条记录 set linesize 200:设置每行显示多少字符 alter session set nls_date_format=‘yyyy-mm-dd’:设置当前环境下日期的使用格式 cl[ear] sc[reen]:清除屏幕 spool c:\test.sql :脱机至指定文件 spool off:结束脱机 save c:\test.sql:保存上条sql语句 start或@ c:\test.sql:执行指定文件中的sql语句 ed[it]:找开文本编辑工具,编辑上一条命令 /:执行上一条命令 store set c:\test.out:保存环境设置 set timing out:输出每条命令的执行时间 password :修改当前用户密码 disc[onnect]:断开连接

–开头为注释(两个杠)oracle监听端口为1521删除所有数据 delete from table_name; DML, 逐行删除,速度慢,会记日志,可撤消 truncate table table_name; DDL,先摧毁后重建,速度快,不记日志,不可撤消

drop table table_name;

在表中的所有数据和结构都被删除任何未决的事务都被提交 所有的索引被删除 你 不能 回退DROP TABLE语句 任何视图和同义词被保留但无效

八.回退

rollback; --对truncate无效

正在持续更新…

转载请注明原文地址: https://www.6miu.com/read-76372.html

最新回复(0)