oracle基本命令集合(1)--基本操作
来源:互联网 发布:淘宝 手办时光机 编辑:程序博客网 时间:2024/05/22 06:46
测试机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,snameselect 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 nullselect * 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无效
正在持续更新…
- oracle基本命令集合(1)--基本操作
- Oracle基本操作命令
- Oracle基本操作命令
- Oracle基本操作命令
- oracle基本操作命令
- vim操作基本命令集合
- Oracle 基本操作命令学习
- Oracle数据库基本操作命令
- oracle 表操作基本命令
- oracle的基本操作命令
- Oracle数据库基本操作命令
- oracle操作的基本命令
- Oracle数据库基本操作命令
- oracle基本命令集合(2)--单行函数
- Scala集合基本操作(1)
- vi基本操作(1) -- 基本编辑命令
- Oracle ,DB2和mysql基本操作命令
- Oracle Aix下启停及基本命令操作
- python操作txt
- Linux修改时间
- 决策树Python实现
- Hibernate Validator实现数据校验
- Java web 重定位失效
- oracle基本命令集合(1)--基本操作
- Android中Button的响应点击事件的几种写法
- 74.Docker的服务栈
- 在 .NET Core 中的并发编程
- /*先进先出页面置换算法*/
- Spring(4)装配Bean
- jQuery之缓存数据
- 阿里云服务器以及CDN支持IPV6的方法
- 使用ElasticSearch,Kibana,ASP.NET Core和Docker可视化数据