测试机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:撤消权限命令
3种方法,因地制宜
1)、在命令行下输入sqlplus按提示输入用户名,密码
2)、直接输入sqlplus scott/tiger
3)、以管理员身份登录:sqlplus sys/orcl as sysdba
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 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','张飒','男');
用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 t_student set name='张3',sex='女' --修改所有
update t_student set name='张3',sex='女' where sno='s001'
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');
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 '#';--指定转义符为“#”
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)至回收站
drop table 表的名字;
(2)永久删除
drop table 表的名字 purge;
truncate table 表的名字;
truncate 语句是个快速数据删除语句,越过Oracle 中的事物控制,使数据改变具有不可恢复性。截断表总是比不带where 子句的delete 语句快,但完成这个操作之后,就无法恢复数据,除非对数据进行备份。
delete * from 表的名字;
–查看回收站
show recyclebin
(1)删除回收站所有垃圾信息
purge recyclebin;
(2)清除选中信息
purge table 表的名字;
purge index 索引的名字
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]:断开连接
drop table table_name;
在表中的所有数据和结构都被删除任何未决的事务都被提交
所有的索引被删除
你 不能 回退DROP TABLE语句
任何视图和同义词被保留但无效
rollback; --对truncate无效
正在持续更新…