Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 870|回复: 0

oracle语法笔记

[复制链接]

该用户从未签到

发表于 2011-10-18 17:02:23 | 显示全部楼层 |阅读模式
oracle基本语句总结
1)增删改查:
insert into 表名 列名 values 值列表;
delete from 表名 where .....
update 表名 set 更改值   where 条件;
select ...... from ......where .....

2) 添加列:
alter table add(列名,类型)

3)创建表空间
create tablespace yyspace
datafile ’d:\yyspace.dbf’
size 10m
autoextend on;

4)创建临时表空间
create temporary tablespace yytemp
tempfile ’d:\yytemp.dbf’
size 10m
autoextend on;

5)创建用户
 create user yangrs
 identified by yangrs;
 alter user yangrs
 default tablespace yyspace;
 alter user yangrs
 temporary tablespace yytemp;

6)赋权
 grant connect,resource to yangrs
 --connect
  connect yangrs/yangrs;
 
7)建表/删表
  drop table stuInfo
  create table stuInfo
  (
  s_id number(4),
  s_name varchar2(10),
  s_sex char(2),
  s_age number(3),
  s_birthday date default(sysdate),
  s_note varchar2(50)
  );
  create table stuScore
  (
  stuid number(4),
  scoreid varchar2(10),
  score number(3)
  );
  drop table stuScore;

8)加约束/主键
  alter table stuInfo
  add constraint PK_s_id primary key(s_id);

9)检查
  alter table stuInfo
  add constraint CK_s_sex check(s_sex in (’男’,’女’));
  alter table stuInfo
  add constraint CK_s_age check(s_age>0 and s_age<100);
 
10)加默认的不行
  alter table stuInfo
  add constraint DK_s_birthday default(systimestamp );

11)外键
  alter table stuScore
  add constraint FK_stuid foreign key(stuid) references stuInfo(s_Id);
  --insert
  insert into stuInfo(s_id,s_name,s_age,s_Sex,s_Note) values(1000,’刘德华’,20,’男’,’just do it’);
  insert into stuInfo(s_Id,s_name,s_age,s_sex,s_birthday,s_note) values(1001,’yangrs’,19,’男’,to_date(’1989-01-01’,’yyyy-mm-dd’),’i am what i am’);
  insert into stuInfo(s_Id,s_name,s_age,s_sex,s_birthday,s_note) values(1002,’yangrs2’,19,’男’,to_date(’1989-01-01’,’yyyy-mm-dd’),’i am what i am’);
  insert into stuInfo(s_Id,s_name,s_age,s_sex,s_birthday,s_note) values(1003,’yangrs3’,19,’男’,to_date(’1989-01-01’,’yyyy-mm-dd’),’i am what i am’);
  insert into stuInfo(s_Id,s_name,s_age,s_sex,s_birthday,s_note) values(1004,’yangrs4’,19,’男’,to_date(’1989-01-01’,’yyyy-mm-dd’),’i am what i am’);
  insert into stuInfo(s_id,s_name,s_age,s_Sex,s_Note) values(1005,’华仔’,20,’男’,’just do it’);  
  insert into stuScore(Stuid,scoreid,Score) values(1001,’1’,100);
  insert into stuScore(Stuid,scoreid,Score) values(1001,’1’,100);
  insert into stuScore(Stuid,scoreid,Score) values(1000,’1’,100);
  insert into stuScore(Stuid,scoreid,Score) values(1000,’1’,100);

12)复制表
  create table stuBak
  as select * from stuInfo;

13)复制表结构
  create table stuBak2
  as select * from stuInfo where 1=2;

14)在已有的表结构中插入数据
  insert into stuBak2
  select * from stuBak;
  update stuBak set s_sex=’男’;
  savepoint mark;
  rollback to savepoint mark;
  rollback;

15)给予其他用户权限
  connect [email=scott/tiger@itjob]scott/tiger@itjob;
  grant select on emp to yangrs; --只给查询
  grant all on emp to yangrs --给所有的权限
  connect [email=yangrs/yangrs@itjob]yangrs/yangrs@itjob;
  select * from scott.emp;
  . 取消权限
  connect [email=scott/tiger@itjob]scott/tiger@itjob;
  revoke select on emp from yangrs;
  connect [email=yangrs/yangrs@itjob]yangrs/yangrs@itjob;
  select * from scott.emp; --此时已经连接不上去了

16)伪列 rowid rownum
  select rowid,rownum from stuInfo;

17)用于分页
  select * from (select rownum as num,stuInfo.* from stuInfo) where num>5;
  --sqlserver中是使用top来分页

18)哑元表
  select sysdate from dual;
  select systimestamp from dual;

19)对表的修改
  alter table stuInfo add(s_sal number(3));
  --is null and is not null
  select * from stuInfo where s_note is null;
  select * from stuInfo where s_name like ’y%’; --%代笔任意个字符
  select * from stuInfo where s_name like ’y_’; ---_代表一个字符
  select * from stuInfo where s_name like ’y?’;
  select * from stuInfo order by s_age desc; -- 排序
  select * from stuInfo order by s_birthday asc;
  select * from stuInfo order by s_age desc,s_birthday asc;
  --可以有两个条件
  --分组
  select * from stuInfo where s_name<>’yangrs’;
  select * from stuInfo where s_age=19;
  select * from stuInfo where s_name<>’yangrs%’; --这样是不行的
  --调用函数
  select sum(s_sal) as 奖学金 from stuInfo;
  select avg(s_age) 平均年龄 from stuInfo;
  select s_name,s_age from stuInfo group by s_age;
  select ’hell’||’loworld’ from dual;
  select 1+1 from dual;
  --转换大小写
  update stuInfo set s_name=upper(s_name);
  update stuInfo set s_name=lower(s_name);
  --转换ascii码
  select ascii(’A’) from dual;
  select ’Hello’||’\t’||’World’ from dual;
  select ’Hello’||chr(9)||’World’ from dual;
  select to_char(sysdate,’yyyy/mm/dd hh24:mi:ss’) from dual;
  select add_months(sysdate,-12) from dual;

20) 一年以前的今天
  select last_day(sysdate) from dual;
  select to_char(sysdate,’yyyy/mm/dd’) from dual; --改变日期格式
  select to_char(to_date(’19990214’,’yyyymmdd’),’yyyy"我"mm"月"dd"日"’) from dual;
  select to_char(to_date(’19990214’,’yyyymmdd’),’yyyy"我"mm"月"dd"日"’) from dual;

dba_ :是数据库中所有的
all_ :是这个用户所能访问到的,包括不是他的对象
user_ :是属于这个用户的
查看用户
select * from dba_users;
select * from all_users;
查看当前用户
select * from user_users;
查看所有角色
select * from dba_roles;
系统拥有的角色:
select * from dba_role_privs;
当前用户拥有的角色:
select * from user_role_privs;
用户或角色系统权限:
select * from dba_sys_privs;
select * from user_sys_privs;
用户对象权限:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
当前用户的表
select table_name from user_tables;      
select * from tab;
select * from cat;
所有用户的表   
select table_name from all_tables;      

包括系统表
select table_name from dba_tables;   

查看Oracle提供的系统权限
select name from sys.system_privilege_map
查看用户从那台机器登陆的oracle
SELECT machine , terminal FROM V$SESSION
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2024-5-22 05:05 , Processed in 0.379091 second(s), 46 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表