Oracle基础语法 一

表空间操作

1.创建一个表空间

create tablespace emp(空间名) datafile 'emp.dbf' size 10M autoextend on ;   →表空间名字 /  物理文件地址 和名字 / 空间大小

2.修改表空间大小

alter database  datafile ' emp.dbf ' resize 20M ;    →文件名字  /  修改的大小

3.查看表空间

select * from dba_tablespaces ;  (查询的内容比较详细) 或者 

select * from v$tablespace; 

4.删除表空间,不删除dbf物理文件

 drop tablespace emp(空间名字)

5.删除表空间同时 删除dbf物理文件

drop tablespace emp including contents and datafiles; 


用户的操作

1.创建用户

create user shx identified by 123 default tablespace emp;       →用户名 / 密码  / 表空间名称

2.给用户授权

grant dba to shx  → 权限名 / 用户名

3.撤销权限

revoke dba from shx ;→ 权限名  / 用户名

4.删除用户(用户已连接报错删不掉用)

   1.查看用户连接状态

select username,sid,serial# from v$session;

  2.找到要删除的sid和serial 并且删除

alter system kill session 'xx,xx';

3.删除用户

drop user shx(用户名) cascade ;       →用户名

 


 

表的操作

1.切换用户登录

conn  用户名 / 密码 

2.查询该用户下面所有的表

select * from tab;

3.查看当前表用户

show user;

4.创建序列

create sequence seq_student;

5.创建表

create table 表明(

 sid number not null primary key,

sname varchar2(10) not null,

gz numeric(7,2) check (gz between 5000 and 50000)

);

6.更改表字段

alter table student(表明) modify (sname varchar2(20) not null);       →  表明     字段名

7.查看表结构

desc student;      →表明

8.添加列

alter table student add (age number(10,0));           →表明    字段名

9.删除列

alter table student drop coiumn sex;     →表明  关键字  字段名

10.删除多列

alter table student drop ( password ,cid);   → 表明   字段

11.删除数据不删除表结构

truncate table student ;     →表明

12.给表重命名 

rename student to students ;

13.给列重命名

alter table 表明 rename column 列明 to 新列明 ;

14.添加主键

alter  table student add primary key(字段名);   →表明

15.删除主键

alter table student drop primary key(字段名);  →表明

16.给表中的某一列添加唯一约束

alter table student add constraint u_sname unique(sname);

17删除表

drop table 表明;

18.创建视图

create view 视图名 as select statment;

19.删除视图

drop view 视图名;


数据的操作

1.插入一条数据

insert into 表明(字段名) values(值);

例:insert into emp(empid) values(1);

2.更新修改一条数据

update 表明 set 字段名='值' where 字段名 ='值';

例:update emp set empname='小明' where empid =1;

3.条件查

查询1999年后出生 并且性别为女的员工信息 并按照年份降序排

select * from emp

where to_char(bir,'yyyy')>1999

and sex = '女'

order by to_char(bir,'yyyy')desc;          → to_char 作用是将日期只取年份

4.取年份

select to_char(字段名,'yyyy') from 表明;    →代表的是日期的字段

5.查询年龄

select  floor( months_between(sysdata,bir)/12) from emp ;     →关键字   sysdata代表的现在时间

6.||字符串连接符

select '员工编号是:' || empid || '姓名是:' || name from emp;

7.行号  rownum 只支持 <    <=

select name,bir,rownum from emp where rownum<=5;

8.排名

select row_number() over(order by 字段名 desc/asc)  名次 from 表明;

例子:

select empid,name,height,row_number() over(order by height desc) 名次 from emp;             →关键字

9.身高相同 名次显示相同 不跳号

select empid,name,height,dense_rank() over (order by heiger) 名次 from emp ;

10.左连接

select * from  emp lefft join kq on emp.emp.empid=kq.empid;

 或者

select * from emp,kq where emp.empid = kq.empid(+);

11.右连接

select * from  emp right join kq on emp.emp.empid=kq.empid;

 或者

select * from emp,kq where emp.empid(+) = kq.empid;

12.全连接

select * from emp full join kq on emp.empid=kq.empid;

13.模糊查询

select * from 表明 where 字段 like '%条件%' ;

posted @ 2019-11-07 17:58  new海  阅读(183)  评论(0编辑  收藏  举报