整理的Oracle常用语句

3个默认用户
sys change_on install [as sysdba]
system manager
scott tiger
创建用户
create user 用户名 identified by 密码 defaul tablespace 表空间(Users) temporary tablespace 表空间(Temp) quota 整数 on 表空间(Users);--quota(限额) 临时表空间不能使用限额
修改密码
alter user scott identified by tiger;
删除用户
drop user 用户名 [cascade];--cascade表示删除用户所有对象
限制用户
使用下面的语句解锁scott: alter user scott account unlock;
解锁之后可能会要求你改密码:alter user scott identified by tiger;
用户加锁:alter user 用户名 account lock;
用户口令即刻失效:alter user 用户名 password expire;

系统权限
赋予权限
grant create session to lisi;创建会话
grant create table to lisi;可以创建表
grant unlimited tablespace to lisi;给表空间

grant connect to lisi;连接至数据库,
并创建数据库对象
grant resource to lisi;允许用户使用
数据库中的存储空间
grant create sequence to lisi;在当前模式中创建
序列,此权限包含在CONNECT角色中
grant create session,create table,connect,resourse,create sequence to 数据库
撤销权限
revoke create session from lisi;
revoke create table from lisi;
revoke unlimited tablespace from lisi;
revoke create session,create table to 数据库
赋予公共权限
grant create session to public;
查找拥有的系统权限
select * from user_sys_privs;
赋予下一级用户修改所有表的权限
grant alter any table to lisi;
系统 权限传递
grant alter any table to lisi with admin option;--让李四拥有这个权限的管理员身份
创建表
CREATE TABLE martin.t_stu (
f_id char(3) NOT NULL Primary Key,
f_name char(8) NOT NULL ,
f_sex char(1) NOT NULL , f_birth date NULL , f_department char(5) NOT NULL
);
创建表
create table mytable (id int);
查看表结构
desc 表名
查看表拥有的约束
select table_name,constraint_name,constraint_type from user_constraints where table_name = ‘bbsusers‘;
删除约束
alter table bbsusers drop constraint ck_bbsusers_ugender;
更新/修改
update t_score set score = null where sid = 09001;
删除表
drop table 表名;
表的截断(截断表是将表中所有记录删除,但保留表结构)
truncate table 表名 或者 Delete from 表名
插入一行
insert into 表名[列名] values (,,,);
自动增长
create sequence bbsusers_usid minvalue 1 start with 1 increment by 1 cache 300;

删除序列的方法:drop sequence 序列名(bbsusers_usid );
对象权限
赋予
grant select on mytab to lisi;查询权限
grant update on mytab to lisi;更新权限
grant all on mytab to lisi;表的所有权限 插入、删除、更新和查询
撤销
revoke select on mytab from lisi;
revoke all on mytab from lisi;
删除表
drop user lisi cascade;
查找表格拥有的对象权限
select * from user_tab_privs;
对象权限传递
grant select on A to lisi with grant option;--将查询A的权限给lisi,同时让lisi拥有给别人角色
create role 角色名;--创建角色
grant 权限 to 角色名;--给角色赋权
grant 角色名 to 用户;--给用户赋予角色的权限
drop role 角色名;--删除角色
注:有些系统权限无法直接赋予角色
create table--只能给自己创建表 create any table--可以给任意一个用户创建表
alter any table--修改任意表 drop any table--删除任意表
没有的权限[alter table],[drop table]
表是属于某一用户的,角色不属于某一用户

查询A的权限
更新、添加 对象权限可以控制到列
grant update(name) on mytab to lisi;
grant insert(id) on mytab to lisi;
select * from user_col_privs;
注:查询和删除不能控制到列,至少操作一行
ddl dml dcl
数据库的三种验证机制
操作系统验证 sysdba,sysoper
密码文件验证 sysdba,sysoper
数据库验证
linux 下Oracle的启动过程
lsnrctl start
sqlplus sys/oracle as sysdba
startup
windows下Oracle的启动过程
lsnrctl start
oradim -starup -sid orcl
忘记Oracle的SYS用户密码
找到Oracle的安装目录,删除这个文件,删除之前最好备份一下D:\oracle\product\10.2.0\db_1\database\PWDorcl.ora
在cmd下输入 orapwd file=D:\oracle\product\10.2.0\db_1\database\PWDorcl.ora password=oracle entries=10 force=y/n
entries:指定能创建多少个特权用户,force:是否强制覆盖原来的密码
目录要一致,文件名必须要完全一致

利用现有的表创建表
语法:

CREATE TABLE <new_table_name> AS
SELECT column_names FROM <old_table_name>;

联接查询 查询出每天销售情况:销售日期、零件名称、价格以及零件的供应商及其所处城市
select seldate,f_pname,f_price,f_supname,f_supaddr
from t_sells SE,t_supplier SU,t_part PA
where SE.f_sid=SU.f_sid and SE.f_pid=PA.f_pid;

无条件联接(cross join)
select * from t_product cross join t_supplier; 也可以:select * from t_part,t_supplier;

条件联接(join)-[ inner ] join
例如我们可以联接t_part表和t_sells表以创建显示零件销售情况的结果集,在内联接中,结果集内不包含没有销售记录的零件,也不包含没有零件名的销售记录。
select f_pid,seldate,f_pname from t_product join t_sells on t_product.f_pid=t_sells.proid;
也可以:select f_pid,seldate,f_pname from t_product,t_sells where t_product.f_pid=t_sells.proid;

时间: 2024-11-07 18:06:43

整理的Oracle常用语句的相关文章

Oracle 常用语句整理

Oracle 常用语句整理 最近做了份大型数据库作业.遇到了一些问题,在网上找的很是辛苦,于是,将一些常用的语句记录下来,方便大家学习.都是一些基本的东西.如果忘了,可以来看看. 1.创建临时表空间 create temporary tablespace car_data //car_data,表空间名 tempfile 'C:\Users\Administrator\Desktop\car_data.dbf'//表空间路径 size 50m autoextend on next 50m max

oracle 常用语句

1.decode 函数(小版本的case when) select  decode(pd.discount_id,null,'','购买'||pd.product_count||'个,'||pd.product_discount_rate||'折优惠') as discount from b2b_product d right join b2b_product_hot ph on d.product_id = ph.product_id  left join b2b_dictionary aon

oracle 常用语句3

- oracle 函数 select sign(-3),sign(3), sign(0) from dual; select ceil(3.7) from dual; select floor(3.7) from dual; -- 四舍五入 select round(123.456, 2) from dual; select round(183.456, -2) from dual; select round(183.556) from dual; select trunc(123.456, 2

Oracle 常用语句1

-- 我是注释信息 sql语句 -- 创建用户: create user 用户名 identified by 密码; create user jack identified by j123; -- lacks CREATE SESSION priviledge 用户没有权限连接数据库 -- 授权用户: grant 权限1,权限2 to 用户名; -- 管理员 dba -- 普通用户 connect,resource grant connect,resource to jack; -- 收回权限:

[Oracle系列整理03] oracle常用函数

一)日期函数[重点掌握前四个日期函数]1.add_months[返回日期加(减)指定月份后(前)的日期] add_months(d1,n1)[功能]:返回在日期d1基础上再加n1个月后新的日期.[参数]:d1,日期型,n1数字型[返回]:日期select sysdate,add_months(sysdate,3)  from dual;返回:2015/3/2 22:22:50,2015/6/2 22:22:50 2.last_day [返回该月最后一天的日期] last_day(d1)[功能]:

Oracle常用语句

1.查看某个字段在哪张表 select owner, table_name from dba_tab_columns where lower(column_name)='字段名'; 2.导出序列 SELECT ' create sequence username.' || SEQUENCE_NAME ||          ' minvalue ' || MIN_VALUE ||         ' maxvalue ' || MAX_VALUE ||         ' start with

ORACLE常用语句合集

查询库中所有表空间: select tablespace_name from dba_tablespaces; select tablespace_name from user_tablespaces; 查询使用过的表空间: select distinct tablespace_name from dba_all_tables; select distinct tablespace_name from user_all_tables; 查询表空间中所有表名: select table_name

oracle 常用语句2

-- number(38) -- char(2000) -- varchar(4000) create table student( sno number(3) primary key, sname varchar2(40) default ('佚名'), sex char(2) check(sex in('男', '女', '中')), age number(2) check( age between 20 and 30 ), birthday date, sclass varchar2(10

【Oracle】常用语句集合

1 oracle常用经典SQL查询 2 常用SQL查询: 3 4 1.查看表空间的名称及大小 5 6 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size 7 from dba_tablespaces t, dba_data_files d 8 where t.tablespace_name = d.tablespace_name 9 group by t.tablespace_name; 10 11 2.查看表空间物