oracle笔记


sqlplus 进入数据库:
<1>以超级管理员的身份进行登录
user_name:conn/as sysdba 不是使用的sys用户,他是操作系统认证的只要你是administrator权限用户,不需要密码就可以进。
password:system
<2>
user_name:system as sysdba
password:system

exit ---->退出根目录
cls------->清屏

锁定或者解锁用户:
alter user 用户名 account lock;
alter user 用户名 account unlock;


给连接权限
grant connect to 用户;
给资源权限
grant resource to 用户;
给DBA权限
grant dba to 用户;
给角色名给用户:
grant 角色名 to 用户名;
取消角色名:
revoke 角色名 from 用户名;

给用户分配或者取消具体的系统权限:
grant create 对象名 to 用户名;
grant 操作 on 表名 to 用户名;
grant all on 表名 to 用户名; --将某表的所有权授予某用户
grant execute on 用户名.存储过程名 to


-----------------------
查看所有用户:
SQL> select * from all_users;


--创建表空间
create tablespace tansunftp
logging
datafile 'D:\oracle\product\10.2.0\oradata\tansun\TANSUNFTP.DBF'
size 32m
autoextend on
next 32m maxsize 1024m
extent management local;
--创建用户并指定表空间
create user tansunftp identified by tansunftp
default tablespace tansunftp
temporary tablespace temp;
--给用户授予权限
grant connect,resource,dba to tansunftp;

修改用户密码:
alter user user_name identified by password [default tablespace 表空间名]
修改用户的表空间名:
alter user default tablespace 表空间名
删除用户:
Drop 表空间名 用户名;


修改表空间:
alter tablespace 表空间名 add datafile '路径\*.dbf' size 尺寸;


查询权限可以使用所有的表:
select table_name from all_tables where owner='用户名';

查询当前数据库实例名
方法一:select instance_name from v$instance;
方法二:show parameter instance

查询数据库的SID:
SQL>select instance_name from v$instance;

删除表中的数据:
TRUNCATE TABLE tableName

确认你Oracle编码是否可以存储中文
select userenv('language') from dual;

查看Oracle编码:
select * from nls_database_parameters where parameter ='NLS_CHARACTERSET';

AMERICAN_AMERICA.WE8MSWIN1252

修改字符集:
 --修改oracle数据库字符集:(在SQL Plus中)
sql> conn / as sysdba;
  sql> shutdown immediate;
sql> startup mount;
sql> alter system enable restricted session;
sql> alter system set job_queue_processes=0;
sql> alter system set aq_tm_processes=0;
sql> alter database open;
  sql> alter database character set internal_use AL32UTF8;
  sql> shutdown immediate;
sql> startup;

ZHS16GBK支持中文


创建用户:
create user db_xm identified by db_xm
grant dba to db_xm;

Oracle语法:
动态执行SQL语句 execute immediate 'sql statement';
Oracle的输入和输出必须加上begin和end才可以,end之后必须加入分号(;)

增加列
alter table table_name add column_name(...)
修改列名
alter table table_name column old_column_name rename to new_column_name;
删除列
alter table table_name drop column column_name;
修改列的默认值:
alter table table_name modify(列名 约束 ...)
修改
alter table table_name rename to new_name;
更新命令:
update 表名 set 列名=值,。。。 where 条件
——————查询资料
修改表中的列的字段类型
alter table table_name modify 字段名 字段类型 ;
根据已有的表创建新表:
SQL Server中:
select * into new_table from oldtable where 1=0
Oracle 和 mysql中:
create table newtable as select * from oldtable where 1=0


事务:事务具有原子性,是最小的工作单元
一个事务可以有多条SQL语句,如果一个执行不成功,则整个事务执行不成功。
用于事务控制的语句:
commit - 提交并结束事务处理
rollback -撤销事务中已完成的工作
savepoint-回滚点,事务中可以回滚的点

数据控制语言(DCL)
事务控制语句(TCL)
数据库操纵语言(DML)
数据定义语言(DDL)

SQL操作符中:集合操作符:union union all intersect minus
———————查询资料

操作符的优先级:
1、算术操作符
2、连接操作符
3、比较操作符
4、not > and > or


SQL函数——————查询资料

约束(table_name表示你的表名)
1、添加外键约束:
alter table table_name add constraint 约束名 foreign key(列名) references 另一个表名(列名)
2、删除约束:
alter table table_name drop constraint 约束名;
3、移走主键约束:——————查询资料
alter table table_name drop primary key cascade ;
4、禁用约束或者启用约束:
alter table table_name disable(或者enable) constraint 约束名 ;
5、查询约束信息:
select * from user_constraints where table_name='表名' ;


序列:——————查询资料
create sequence ;————创建简章序列,默认从1开始,每次增长1
create table mytab(
id number ,
name varchar2(10)
)
使用方法:
insert into mytab(myseq.nextval,'tom');
insert into mytab(myseq.nextval,'jack')
创建序列举例:
create sequence 序列名
increment by 5 --每次增长多少
start with 0 --从**开始
maxvalue 50
minvalue -50;

同义词:————查询资料
create synonym name for 表名; --给表创建同义词
create public synonym name for 表名;————任何用户都可以访问、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值