Oracle数据库常用的Sql语句

Oracle数据库常用的Sql语句

今天想查询一下Oracle数据库下所有的表名或某个用户下的所有表,半天没想起来.还是在网上找到了答案.
select table_name from all_tables;//所有的表明
select table_name from user_all_tables;//用户的所有的表
一下是转贴的sql语句的帖子.

select * from user_objects; //查询所有的表
select * from dba_tables; //查询所有的表
select * from all_tables; //查询所有的表
select * from user_users //查出一个用户
select * from all_users //查询所有用户
select * from dba_users //查询所有用户
select name,dbid from v$database; //查询数据库名和它的ID
select * from sys.user_tab_columns; //查询表名 ,并显示列名
describe 表名 //查询表结构
2: 查询数据库参数
show parameter db;
3:查询数据库的实例名
select instance_name from v$instance;
4: 数据库域名
数据库安装结束后,如果要知道正在运行额数据库是否有域名以及数据库域名名称可以用
select value from v$parameter where name='db_domain'
show parameter domain
5:数据库服务名
如果数据库有域名,则数据库服务名就是全局数据库名,如果该数据库没有定义域名,则数据库服务名与数据库名相同
show parameter service_name
6:显示当前用户

show user
7:直接登陆
sqlplus "/as sysdba"
8:当前ORACLE系统时间
select sysdate from dual;

9:查询数据库字典v$nls_parameter产看字符集相关参数
select * from v$nls_parameters;

//*************
oracle基本操作语句(适合初学者)
oracle操作语句:
1.创建表
createtable表名(
列名1类型,
列名2类型
);
2.修改类属性
altertable表名modify(列名类型);
3.添加列
altertable表名add(列名类型);
4.添加主键约束和非空约束
altertable表名addconstraintpk_表名primarykey(列名);
altertable表名modify(列名notnull);
5.删除主键约束
altertable表名dropprimarykey;
altertable表名dropconstraintpk_表名;
6.失效约束
altertable表名disableprimarykey;
altertable表名disableconstraintpk_表名;
7.有效约束
altertable表名enableprimarykey;
altertable表名enableconstraintpk_表名;
8.删除列
altertable表名dropcolumn列名;
9.设置某列不可用,然后删除
altertable表名setunused(列名);
altertable表名dropunusedcolumns;
10.修改表名
rename表名1to表名2
alter表名1renameto表名2;
11.截断表
truncatetable表名;
12.截断表保留行空间
truncatetable表名resuestorage;
13.查看表结构
desctable表名;
14.删除表
droptable表名;
15.插入记录
例:insertinto表名values(内容1,内容2,内容3,内容4);
16.带参数对话方式插入行
例:insertinto表名values(&列名1,&列名2);
insertinto表名values(内容1,内容2);
17.插入某几列记录
insertinto表名(列名1,列名2)values(内容1,内容2);
18.为列插入空值(其列不能为notnull)
insertinto表名values(内容1,null,null);
19.创建表(包括主键及外键设置)方法一
createtable表名(
列名1类型
constraintpk_表名primarykey,
列名2类型notnull,
列名3类型
constraintfk_表名reference表名(列名),
列名3类型
constraintck_表名check(列名3in(''内容1'',''内容2'',''内容3''))
);
20.查询所有行
select*from表名;
21.查询某几列
select列名1,列名2from表名;

22.重复行消除
selectdistict列名from表名;
23.where语句查询
select*from表名where条件orderby列名;
(注:如number类型查出自动按升序排列,如要按降序排列,则select*from表名where条件orderby列名desc;)
24.创建表,方法二
createtable表名(
列名1类型primarykey,
列名2类型notnull,
列名3类型check(列名3in('''','''','''')),
列名4类型refernce表名(列名)
);

25.修改列=‘?’的数据
update表名set(列=?)where列=‘?’;

26.删除行
deletefrom表名where条件;

27.事务处理
--事务处理
update表名
set列名(日期)=''30-5月-98''
where条件;
savepointmark1;
deletefrom表名where条件;
savepointmark2;
rollbacktosavepointmark1;
rollback;
28.建立用户user1,密码为password
授予用户connect,resource的权限
connect角色用于登录
resource角色用于建表等.
connectsystem/manager
createuseruser1identifiedbypassword;
grantconnect,resourcetopassword;
29.数据控制语言
connectscott/tiger
30.把对表1查询和修改的权限授予user1
grantselect,updateon表1touser1;
31.把对表表1中列1和列2修改的权限授予user1
grantupdate(列1,列2)on表1touser1;
32.把对表表1查询的权限授予用户user1
并且user1用户还可以把这个权限授予别的用户(withgrantoption)
grantselecton表1touser1withgrantoption;
33.从用户user1撤销对表1查询和修改的权限
revokeselect,updateon表1fromuser1;

你可能感兴趣的:(Oracle数据库常用的Sql语句)