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 表名;————任何用户都可以访问、
oracle笔记
最新推荐文章于 2024-10-02 10:51:38 发布