大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1.create user username identified by password;//建用户名和密码oracle ,oracle
福贡网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。创新互联建站于2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站。
2.grant connect,resource,dba to username;//授权 grant connect,resource,dba,sysdba to username;
3.connect username/password//进入。
4.select table_name,column_name from user_tab_columns where table_name='TABLE_NAME';//查询表中的表名,字段名等等。 最后的table_name要大写。
5. 如何执行脚本SQL文件? SQL@PATH/filename.sql;
7.查询用户下的所有表 select distinct table_name from user_tab_columns; ===仅显示一列表名。
8.如何搜索出前N条记录?
select * from tablename where rownumn;--足矣。(--是注释用的标记)
9.查找用户下的所有表:select * from tab; --查询该用户下的所有表及视图(显示表名tname, 类型tabname和clusterid)
2、显示当前连接用户
SQL show user –不能用在sql窗口 只能用在command命令窗口。
3、查看系统拥有哪些用户
SQL select * from all_users;
4、新建用户并授权
SQL create user a identified by a;(默认建在SYSTEM表空间下)
SQL grant connect,resource to a;
5、连接到新用户
SQL conn a/a –或者是connect a/a
6、查询当前用户下所有对象
SQL select * from tab; --table或是view
7、建立第一个表
SQL create table a(a number);
8、查询表结构
SQL desc a
9、插入新记录
SQL insert into a values(1);
10、查询记录
SQL select * from a;
11、更改记录
SQL update a set a=2;
12、删除记录
SQL delete from a;
13、回滚
SQL roll;
SQL rollback;
14、提交
SQL commit;
select * from
(select t.*,dense_rank() over (order by cardkind) rank from cardkind t)
where rank = 2;
46. 如何在字符串里加回车?
select 'Welcome to visit'||chr(10)||'' from dual ; --‘||chr(10)||’作为换行符
53. 如何使select语句使查询结果自动生成序号?
select rownum COL from table; --主要就是oracle中引入了rownum
54. 如何知道数据裤中某个表所在的tablespace?
select tablespace_name from user_tables where table_name='TEST'; --table_name名称要大写。
select * from user_tables中有个字段TABLESPACE_NAME,(oracle);
select * from dba_segments where …;
55. 怎么可以快速做一个和原表一样的备份表?
create table new_table as (select * from old_table);
59. 请问如何修改一张表的主键?
alter table aaa drop constraint aaa_key ;
alter table aaa add constraint aaa_key primary key(a1,b1) ;
60. 改变数据文件的大小?
用 ALTER DATABASE .... DATAFILE .... ;
手工改变数据文件的大小,对于原来的 数据文件有没有损害。
61. 怎样查看ORACLE中有哪些程序在运行之中?
查看v$session表
62. 怎么可以看到数据库有多少个tablespace?
select * from dba_tablespaces;
如果都是n位2进制的
我举个例子
比如表a有字段col是5位2进制
select max(substr(col,1,1))||max(substr(col,2,1))||max(substr(col,3,1))||max(substr(col,4,1))||max(substr(col,5,1)) from a
oracle只能显示成这样
select 身份证号码,姓名,年龄,wm_concat(体检时间),wm_concat(体检结果) from 表名 group by 身份证号码,姓名,年龄
oracle的if语句采用decode函数。
DECODE(value,if1,then1,if2,then2,if3,then3,...,else)
表示如果value 等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else
示例:
比如,有个if语句如下
if(a==1){//如果a等于1,返回2,否则返回3
return 2;
}else{
return 3;
}
翻译成DECODE如下
DECODE(a,1,2,3)
select i.姓名,i.成绩, (select count(distinct o.成绩) from info o where i.成绩o.成绩 and i.姓名o.姓名)+1 as '排名' from info i
表名要做相应的修改!!!
我这个是在SQL SERVER2005上运行的,我想也不需要改动什么也可以在oracle上运行出来。 这样做的话不需要动不动就去修改原表的结构或者数据。 大致的思路是先把原表中的姓名和成绩这两列的原始数据查出来,然后通过一个子查询来统计出比我当前要查的这个人的成绩要大的人数有多少来作为排名这一列的数据。
如果确实想将排名的数据添加到表里面的话(在SQL SERVER2005下可以这样写,你试一下能否在你的oracle上面用)
update info set 排名=T.排名 from info i,(select i.姓名, (select count(distinct o.成绩) from info o where i.成绩o.成绩 and i.姓名o.姓名)+1 as '排名' from info i) T where i.姓名=T.姓名
-----------------------------------------------------------------------------------------------------------------------
以上测试均是在SQL SERVER2005上测试,且均成功。我后来在oracle上运行了一遍,结果发现确实存在问题。
下面是经过修改之后的sql语句,经过测试是可以成功运行的。
单纯将排名查出来,并不正真改变数据:
select i.姓名,i.成绩, (select count(distinct o.成绩) from info o where i.成绩o.成绩 and i.姓名o.姓名)+1 as "排名" from info i
通过update语句将排名这一列的数据加上:
update info i set i.排名=(select count(distinct o.成绩)+1 from info o where i.成绩o.成绩 and i.姓名o.姓名)
Oracle存储过程基本语法: CREATE OR REPLACE PROCEDURE 存储过程名 IS BEGIN NULL; END;解释: 行1: CREATE OR REPLACE PROCEDURE 是一个SQL语句通知Oracle数据库去创建一个叫做skeleton存储过程, 如果存在就覆盖它; 行2: IS关键词表明后面将跟...