• Oracle之常用SQL语句


    登录数据库,shell命令行执行

    sqlplus ogg/oracle123 #ogg用户登录
    sqlplus / as sysdba #超级用户登录
    
    • 1
    • 2

    启动数据库

    startup nomount --到非挂载模式
    alter database mount; --到挂载模式
    alter database archivelog; --启动归档
    alter database open; --open
    
    • 1
    • 2
    • 3
    • 4

    切换用户

    conn ogg/oracle123; #切换到ogg用户,ogg用户密码为oracle123
    conn / as sysdba; #切换到超级用户
    
    • 1
    • 2

    查询未使用的表空间大小

    select tablespace_name,sum(bytes)/1024/1024 from dba_free_space group by tablespace_name;
    
    • 1

    查询

    查询oracle数据库名

    SQL> SELECT name FROM v$database;
    
    NAME
    ---------------------------
    ORCL
    
    • 1
    • 2
    • 3
    • 4
    • 5

    查询oracle的实例名

    SQL>  select instance_name from v$instance;
    
    INSTANCE_NAME
    ------------------------------------------------
    orcl
    
    • 1
    • 2
    • 3
    • 4
    • 5

    查询oracle的服务名

    SQL> select global_name from global_name;
    
    GLOBAL_NAME
    --------------------------------------------------------------------------------
    ORCL
    
    • 1
    • 2
    • 3
    • 4
    • 5

    查询所有表空间大小

    select tablespace_name, sum(bytes)/1024/1024 from dba_data_files group by tablespace_name;
    
    • 1

    查询有哪些表空间

    select tablespace_name from dba_tablespaces;
    
    • 1

    查询表空间有哪些表

    select TABLE_NAME,TABLESPACE_NAME from dba_tables where TABLESPACE_NAME='表空间名';
    
    • 1

    查看当前用户的表

    select table_name from user_tables;
    
    • 1

    查询表中数据

    SQL> conn test_ogg/test_ogg;
    Connected.
    SQL> select * from test_ogg;
    
    	ID NAME
    ---------- ------------------------------------------------------------
    	 2 test
    	 3 test3
    	 4 test4
    	 5 test5
    	 6 test6
    	 7 test7
    	 1 test
    
    7 rows selected.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    查询当前用户下的所有表

    SQL> select table_name from user_tables;
    
    TABLE_NAME
    --------------------------------------------------------------------------------
    TEST_USER
    TEST3
    TEST2
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    触发器

    查看某个用户下的触发器
    查看触发器

    SQL> conn test/test;
    SQL> select TRIGGER_NAME from USER_TRIGGERS;
    
    TRIGGER_NAME
    --------------------------------------------------------------------------------
    TEST_USER_SEQ_TR
    TEST2_SEQ_TR
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    删除触发器

    SQL> DROP TRIGGER TEST2_SEQ_TR;
    
    Trigger dropped.
    
    确认是否删除
    SQL> select TRIGGER_NAME from USER_TRIGGERS;
    
    TRIGGER_NAME
    --------------------------------------------------------------------------------
    TEST_USER_SEQ_TR
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    序列

    查看某用户下序列名字

    SQL> select sequence_name  from user_sequences;
    
    SEQUENCE_NAME
    --------------------------------------------------------------------------------
    TEST_USER_SEQ
    
    • 1
    • 2
    • 3
    • 4
    • 5
    SQL> select * from user_sequences;
    
    SEQUENCE_NAME
    --------------------------------------------------------------------------------
     MIN_VALUE  MAX_VALUE INCREMENT_BY CYC ORD CACHE_SIZE LAST_NUMBER SCA EXT SHA
    ---------- ---------- ------------ --- --- ---------- ----------- --- --- ---
    SES KEE
    --- ---
    TEST2_SEQ
    	 1 1.0000E+28		 1 N   N	   20		1 N   N   N
    N   N
    
    TEST_USER_SEQ
    	 1 1.0000E+28		 1 N   N	   20	       10 N   N   N
    N   N
    
    SEQUENCE_NAME
    --------------------------------------------------------------------------------
     MIN_VALUE  MAX_VALUE INCREMENT_BY CYC ORD CACHE_SIZE LAST_NUMBER SCA EXT SHA
    ---------- ---------- ------------ --- --- ---------- ----------- --- --- ---
    SES KEE
    --- ---
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    SQL> DROP SEQUENCE TEST2_SEQ;
    
    Sequence dropped.
    
    确认是否删除
    SQL> select * from user_sequences;
    
    SEQUENCE_NAME
    --------------------------------------------------------------------------------
     MIN_VALUE  MAX_VALUE INCREMENT_BY CYC ORD CACHE_SIZE LAST_NUMBER SCA EXT SHA
    ---------- ---------- ------------ --- --- ---------- ----------- --- --- ---
    SES KEE
    --- ---
    TEST_USER_SEQ
    	 1 1.0000E+28		 1 N   N	   20	       10 N   N   N
    N   N
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    索引

    查看test用户下的索引名字

    SQL> conn test/test;
    Connected.
    SQL> select index_name from user_indexes;
    
    INDEX_NAME
    --------------------------------------------------------------------------------
    SYS_C007616
    TEST_MODIFIED_INDEX
    SYS_C007628
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    删除

    删除空的表空间,但是不包含物理文件

    drop tablespace tablespace_name;
    
    • 1

    删除非空表空间,但是不包含物理文件

    drop tablespace tablespace_name including contents;
    
    • 1

    删除空表空间,包含物理文件

    drop tablespace tablespace_name including datafiles;
    
    • 1

    删除非空表空间,包含物理文件

    drop tablespace tablespace_name including contents and datafiles;
    
    • 1

    如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上CASCADE CONSTRAINTS

    
    drop tablespace tablespace_name including contents and datafiles CASCADE CONSTRAINTS;
    
    • 1
    • 2

    删除表中某一行数据

    SQL> select * from student5;
    
           SNO SNAME		       SSEX	 SBIRTHDAY	 SCLASS
    ---------- --------------------------- --------- --------------- ---------------
           131 曾华                        男        01-SEP-77       95033
           132 曾华                        男        01-SEP-77       95033
           133 曾华                        男        01-SEP-77       95023
           134 牛顿                        男        01-SEP-77       95023
           135 牛顿                        男        01-SEP-77       95023
           132 牛顿                        男        01-SEP-77       95023
           132 牛顿                        男        01-SEP-77       95023
           133 牛顿                        男        01-SEP-77       95023
           134 牛顿                        男        01-SEP-77       95023
           135 牛顿                        男        01-SEP-77       95023
           136 霍金                        男        01-SEP-77       95023
    
           SNO SNAME		       SSEX	 SBIRTHDAY	 SCLASS
    ---------- --------------------------- --------- --------------- ---------------
           138 爱因                        男        01-SEP-77       95023
    
    12 rows selected.
    
    SQL> delete from student5 where sno=131;
    
    1 row deleted.
    
    SQL> select * from student5;
    
           SNO SNAME		       SSEX	 SBIRTHDAY	 SCLASS
    ---------- --------------------------- --------- --------------- ---------------
           132 曾华                        男        01-SEP-77       95033
           133 曾华                        男        01-SEP-77       95023
           134 牛顿                        男        01-SEP-77       95023
           135 牛顿                        男        01-SEP-77       95023
           132 牛顿                        男        01-SEP-77       95023
           132 牛顿                        男        01-SEP-77       95023
           133 牛顿                        男        01-SEP-77       95023
           134 牛顿                        男        01-SEP-77       95023
           135 牛顿                        男        01-SEP-77       95023
           136 霍金                        男        01-SEP-77       95023
           138 爱因                        男        01-SEP-77       95023
    
    11 rows selected.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43

    删除占用连接的用户

    SQL> drop user ogg cascade;
    drop user ogg cascade
    *
    ERROR at line 1:
    ORA-01940: cannot drop a user that is currently connected
    
    • 1
    • 2
    • 3
    • 4
    • 5
    SQL> select sid,serial# from v$session where username='ogg';
    
    no rows selected
    
    SQL> select sid,serial# from v$session where username='OGG';
    
           SID    SERIAL#
    ---------- ----------
    	 1	61401
    	81	36607
    
    SQL> alter system kill session '1,61401';
    
    System altered.
    
    SQL> alter system kill session '81,36607';
    
    System altered.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    SQL> drop user ogg cascade;
    
    User dropped.
    
    • 1
    • 2
    • 3
  • 相关阅读:
    [LeetCode解题报告] 2376. 统计特殊整数
    深度学习入门-卷积神将网络(CNN)
    关键性进展! 小米造车露真容 预计明年上市
    基于FPGA的简易计时闹钟ISE Verilog
    CentOS 7操作系统使用LAMP架构安装Zabbix 5.0监控系统的详细指南
    统信UOS Linux操作系统下怎么删除某个程序在开始菜单或桌面的快捷方式
    怎么将pdf合并成一个?将pdf合并成一个的方法
    【无标题】
    Vue.2x秘籍(下)
    MongoDB的UTCDateTime如何使用
  • 原文地址:https://blog.csdn.net/weixin_40548182/article/details/117127823