zoukankan      html  css  js  c++  java
  • Oracle基础命令

      1.create user username identified by password;//建用户名和密码oracle ,oracle

      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 rownum<n;--足矣。(--是注释用的标记)

      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)||'www.CSDN.NET' 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;

       
      72. 怎样查看哪些用户拥有SYSDBA、SYSOPER权限?

      SQL>conn sys/change_on_install –登不上去

      SQL>select * from V_$PWFILE_USERS;

    76. 如何显示当前连接用户?

      SHOW USER

      77. 如何查看数据文件放置的路径 ?

      col file_name format a50

      SQL> select tablespace_name,file_id,bytes/1024/1024,file_name from dba_data_files order by file_id; 

      79. 如何改变一个字段初始定义的Check范围?

      SQL> alter table xxx drop constraint constraint_name;

      之后再创建新约束:

      SQL> alter table xxx add constraint constraint_name check(); 

      83. 如何执行脚本SQL文件?

    SQL>@所在的文件路径 /filename.sql;
    例如放在E盘的根目录下则应该是
    @E:a.sql;回车就OK了。

      84. 如何快速清空一个大表?

      SQL>truncate table table_name;

      85. 如何查有多少个数据库实例?

      SQL>SELECT * FROM V$INSTANCE;

      86. 如何查询数据库有多少表?

      SQL>select * from all_tables;

      87. 如何测试SQL语句执行所用的时间?

      SQL>set timing on ;

      SQL>select * from tablename;

      89. 字符串的连接

      SELECT CONCAT(COL1,COL2) FROM TABLE ;

      SELECT COL1||COL2 FROM TABLE ;

      90. 怎么把select出来的结果导到一个文本文件中?

      SQL>SPOOL C:ABCD.TXT;

      SQL>select * from table;

      SQL >spool off;

      91. 怎样估算SQL执行的I/O数 ?

      SQL>SET AUTOTRACE ON ;

      SQL>SELECT * FROM TABLE;

      OR

      SQL>SELECT * FROM v$filestat ;

      可以查看IO数

      92. 如何在sqlplus下改变字段大小?

      alter table table_name modify (field_name varchar2(100));

      改大行,改小不行(除非都是空的)

      93. 如何查询某天的数据?

    select * from a where trunc(日期字段)=to_date('2003-05-02','yyyy-mm-dd'); 
    若是date型数据
    insert into bsyear values(to_date('20130427','yyyymmdd'));
    或者是insert into bsyear values('27-4月-2013');
      94. sql 语句如何插入全年日期?

      create table BSYEAR (d date);

    insert into BSYEAR select to_date('20030101','yyyymmdd')+rownum-1 
    from all_objects where rownum <= to_char(to_date('20031231','yyyymmdd'),'ddd'); --在表后直接插入365行数据日期。
    紧急插入几条重要的:
    如何在Oracle中复制表结构和表数据
    1. 复制表结构及其数据: 
    create table table_name_new as select * from table_name_old 
    2. 只复制表结构: 
    create table table_name_new as select * from table_name_old where 1=2; 
    或者: 
    create table table_name_new like table_name_old 
    3. 只复制表数据:
    如果两个表结构一样:
    insert into table_name_new select * from table_name_old 
    如果两个表结构不一样:
    insert into table_name_new(column1,column2...) select column1,column2... from table_name_old
    创建带主键的表:
    create table stuInfo(stuID int primary key,stuName varchar2(20),age int);
    或是不直接增加主键
    alter table stuInfo add constraint stuInfo _PK primary key (stuID)
      95. 如果修改表名?

      alter table old_table_name rename to new_table_name;

      

      97. 如何知道用户拥有的权限?

      SELECT * FROM dba_sys_privs ; --一个权限对应一条数据,这样对于同一个用户就有多条数据了。

      98. 从网上下载的ORACLE9I与市场上卖的标准版有什么区别?

      从功能上说没有区别,只不过oracle公司有明文规定;从网站上下载的oracle产品不得用于商业用途,否则侵权。

     
      101. 如何搜索出前N条记录?

    SELECT * FROM empLOYEE WHERE ROWNUM < n ORDER BY empno; 
    Select * from a where rownum<N;

     

      104. 如何统计两个表的记录总数?

      select (select count(id) from aa)+(select count(id) from bb) 总数 from dual; --总数那是没有单引号的,双引号可以。

      106. 如何在给现有的日期加上2年?(

      select add_months(sysdate,24) from dual; -- 2015/4/27 9:28:52

      110. tablespace 是否不能大于4G?

      没有限制.

      111. 返回大于等于N的最小整数值?

      SELECT CEIL(N) FROM DUAL;

      112. 返回小于等于N的最小整数值?

      SELECT FLOOR(N) FROM DUAL;

      113. 返回当前月的最后一天?

      SELECT LAST_DAY(SYSDATE) FROM DUAL;

      ;

      115. 如何找数据库表的主键字段的名称?

      SQL>SELECT * FROM user_constraints WHERE CONSTRAINT_TYPE='P' and table_name='TABLE_NAME'; --我没有查出来。

      116. 两个结果集互加的函数?

      SQL>SELECT * FROM BSEMPMS_OLD INTERSECT SELECT * FROM BSEMPMS_NEW;

      SQL>SELECT * FROM BSEMPMS_OLD UNION SELECT * FROM BSEMPMS_NEW;

      SQL>SELECT * FROM BSEMPMS_OLD UNION ALL SELECT * FROM BSEMPMS_NEW;

      117. 两个结果集互减的函数?

      SQL>SELECT * FROM BSEMPMS_OLD MINUS SELECT * FROM BSEMPMS_NEW;

      139. 如何查找重复记录?

      SELECT * FROM TABLE_NAME WHERE ROWID!=(SELECT MAX(ROWID) FROM TABLE_NAMe WHERE TABLE_NAME.COL1=D.COL1 AND TABLE_NAME.COL2=D.COL2);

      140. 如何删除重复记录?

      DELETE FROM TABLE_NAME WHERE ROWID!=(SELECT MAX(ROWID) FROM TABLE_NAME D WHERE TABLE_NAME.COL1=D.COL1 AND TABLE_NAME.COL2=D.COL2);


      162. 如何知道表在表空间中的存储情况?

      select segment_name,sum(bytes),count(*) ext_quan from dba_extents where tablespace_name='&tablespace_name' and segment_type='TABLE' group by tablespace_name,segment_name; --把&tablespace_name改成相应的表空间名称。

  • 相关阅读:
    Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
    Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
    Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
    Java实现 蓝桥杯VIP 算法提高 贪吃的大嘴
    Java实现 蓝桥杯VIP 算法提高 士兵排队问题
    Java实现 蓝桥杯VIP 算法提高 士兵排队问题
    Java实现 蓝桥杯VIP 算法提高 士兵排队问题
    Java实现 蓝桥杯VIP 算法提高 士兵排队问题
    Java实现 蓝桥杯VIP 算法提高 数字黑洞
    Minifilter微过滤框架:框架介绍以及驱动层和应用层的通讯
  • 原文地址:https://www.cnblogs.com/MyBlog-/p/7873358.html
Copyright © 2011-2022 走看看