加注释的oracle命令大全

合集下载

Oracle 常用命令大全

Oracle 常用命令大全
1. 集合函数列表
AVG (DISTINCT | ALL | N) 取平均值
COUNT (DISTINCT | ALL | N | expr | * ) 统计数量
MAX (DISTINCT | ALL | N) 取最大值
MIN (DISTINCT | ALL | N) 取最小值
SUM (DISTINCT | ALL | N) 取合计值
1. 数据表间的连接
简单的连接语法:
SELECT 字段名1, 字段名2, …… FROM 表名1, [表名2, ……]
WHERE 表名1.字段名 = 表名2. 字段名 [ AND ……] ;
SELECT 字段名1, 字段名2, …… FROM 表名1, [表名2, ……]
WHERE 表名1.字段名 = 表名2. 字段名(+) [ AND ……] ;
(2) Using the having clause to exclude rows from a group calculation [F]
解释:
Group function 都是忽略NULL值的 如果您要计算NULL值, 用NVL函数
Where语句在Group By前把结果集排除在外Having语句在Group By后把结果集排除在外
SQL>delete from table_name t1
where t1.rowid >
(select min(rowid) from table_name t2
where t1.email = t2.email
group by email
having count(email) > 1);
找到手机用户的服务区域:
/ 再次执行上次的sql语句

oracle sql注释

oracle sql注释

oracle sql注释
Oracle SQL注释是Oracle数据库管理系统中用于解释SQL语句的一种方法。

它可以为SQL语句提供额外的信息,以帮助数据库管理员和开发人员更好地理解SQL语句的功能和目的。

Oracle SQL注释可以分为两种类型:单行注释和多行注释。

1. 单行注释:使用双斜杠“//”表示,并在其后输入注释文本。

单行注释只会注释掉其所在的一行。

2. 多行注释:使用斜杠星号“/”开始,使用星号斜杠“/”结束,并在其间输入注释文本。

多行注释可以跨越多行。

以下是关于如何在Oracle SQL中使用注释的示例:
1. 单行注释示例:
```sql
SELECT FROM // 员工信息表
```
2. 多行注释示例:
```sql
SELECT FROM / 员工信息表 /
```
在使用Oracle SQL注释时,请确保遵循正确的语法规则,以确保注释能够正确地解释SQL语句的含义和目的。

常见的Oracle操作命令

常见的Oracle操作命令

常见的Oracle操作命令常见的Oracle操作命令1. 创建⽤户和授权-- 创建⽤户和密码create user username identified by userpassword;-- 创建⽤户并且指定默认表空间create user username identified by userpassword default tablespace tablespaceName;-- 修改密码alter user username identified by by newpassword;-- 删除⽤户drop user username;-- 删除⽤户及对象drop user username cascade;-- 查看当前数据库连接⽤户show user;-- 授予⽤户创建 session 的权限,即登录权限grant create session to username;-- 授予⽤于使⽤表空间的权限grant unlimited tablespace to username;-- 授予创建表的权限grant create table to username;-- 授予删除表的权限grant drop any table to username;-- 授予插⼊表数据的权限grant insert any table to username;-- 授予修改表的权限grant update any table to username;-- 授予⽤户查看指定表的权限grant select on tablename to username;-- 授予删除指定表的权限grant drop on tablename to username;-- 授予插⼊数据到指定表的权限grant insert on tablename to username;-- 授予修改指定表的权限grant update on tablename to username;-- 授予对指定表特定字段的插⼊和修改权限,仅限 insert 和 updategrant insert(id) on tablename to username;grant update(id) on tablename to username;-- 授予⽤户 alert 任意表的权限grant alert all table to username;-- 授予 dba 权限-- CONNECT:拥有Connect权限的⽤户只可以登录ORACLE,不可以创建实体,不可以创建数据库结构-- RESOURCE:拥有Resource权限的⽤户只可以创建实体,不可以创建数据库结构-- DBA:拥有全部特权,是系统最⾼权限,只有DBA才可以创建数据库结构grant connect,resource,dba to username;2. 撤销⽤户权限-- 基本语法同 revoke,撤销权限3. 导⼊数据⽂件-- 进⼊到 sql ⽂件⽬录下,登录需要导⼊的⽤户sql>@D:/oracle.sql;4. 常见的查询命令-- 查询 oracle 的版本select * from v$version;-- 查询所有⾓⾊具有的权限个数select role, count(1) from role_sys_privs group by role;-- 查询某个⾓⾊拥有的权限select grantee,privilege from dba_sys_privs where grantee='username' order by privilege;-- 查询所有的表名select table_name from user_tables;-- 查询所有字段名select column_name from user_col_comments;5. 表空间相关操作-- 创建表空间,初始⼤⼩为 500M,每次⾃增 5Mcreate tablespace practice datafile 'practice.dbf' size 500M autoextend on next 5M maxsize unlimited;-- 查询所有表空间的物理位置select name from v$datafile;-- 查询当前⽤户的表空间select username,default_tablespace from user_users;-- 查询所有的表空间select * from user_tablespaces;-- 修改⽤户的表空间alter user username default tablespace tablespaceName;-- 删除表空间alter tablespace tablespaceName offline;drop tablespace tablespaceName including contents and datafiles;6. 常见表的操作-- 创建表并设置默认值CREATE TABLE student(ID VARCHAR2(10),NAME VARCHAR2(10),sex VARCHAR2(20),address VARCHAR2(100),registerdate DATE DEFAULT SYSDATE);-- 修改表名称rename tablename to newTableName;-- 删除表并重建表truncate table tablename;-- 添加注释comment on column tablename.columnName is 'comment';-- 修改表字段数据类型alter table tablename modify columnName datatype;-- 删除字段alter table tablename drop column columnName;-- 在某个字段上建⽴索引create index indexname on tablename(columnName);7. 表的锁操作-- 查询是否锁表select ERNAME,B.SID,B.SERIAL#,C.OBJECT_NAME,B.OSUSER,B.MACHINE,B.PROGRAM,B.LOGON_TIME,MAND,B.LOCKWAIT,B.S ADDR,B.PADDR,B.TADDR,B.SQL_ADDRESS,A.LOCKED_MODEfrom v$locked_object Ainner join v$session B on A.SESSION_ID = B.SIDinner join dba_objects C on A.OBJECT_ID = C.OBJECT_IDorder by B.LOGON_TIME;-- 0:none-- 1:null 空-- 2:Row-S ⾏共享(RS):共享表锁,sub share-- 3:Row-X ⾏独占(RX):⽤于⾏的修改,sub exclusive-- 4:Share 共享锁(S):阻⽌其他DML操作,share-- 5:S/Row-X 共享⾏独占(SRX):阻⽌其他事务操作,share/sub exclusive-- 6:exclusive 独占(X):独⽴访问使⽤,exclusive-- 查询某 session 正在执⾏的 sql 语句select sql_textfrom v$sqltext Awhere (A.hash_value, A.address) in (select decode(sql_hash_value, 0, prev_hash_value, sql_hash_value),decode(sql_hash_value, 0, prev_sql_ad dr, sql_address)from v$session Bwhere B.sid = 'sid')order by piece asc;。

数据库表名注释

数据库表名注释

数据库表名注释在数据库中,为表名添加注释(也称为描述或元数据)是一个很好的做法,它可以帮助其他开发者理解表的目的和用途。

注释也可以在以后用于文档生成或数据建模工具中。

以下是如何在不同的数据库系统中为表添加注释的方法:1. MySQL:```sqlALTER TABLE your_table_name COMMENT 'Your table comment here';```2. SQL Server:```sqlEXEC sp_addextendedpropertyname = N'MS_Description',value = 'Your table comment here',level0type = N'Schema', level0name = 'dbo',level1type = N'Table', level1name = 'your_table_name';```3. Oracle:```sqlCOMMENT ON TABLE your_table_name IS 'Your table comment here'; ```4. PostgreSQL:```sqlCOMMENT ON TABLE your_table_name IS 'Your table comment here'; ```5. SQLite:SQLite没有内置的方法来添加表注释,但您可以使用第三方工具或脚本来为表添加注释。

当你需要查看这些注释时,可以使用相应的`DESCRIBE`或`COMMENT ON`命令(取决于数据库系统)来查看。

请注意,虽然添加注释是一个好习惯,但最好的实践还是确保表的结构、命名和逻辑都清晰,使得其他开发者可以直观地理解其用途,而无需查看注释。

oracle的注释

oracle的注释

oracle的注释Oracle的注释是在SQL语句中添加可读性和解释性的说明文字。

注释可以以多种形式出现在代码中,包括单行注释(行尾注释)、多行注释(块注释)和嵌套注释。

注释可以帮助开发人员和维护人员更好地理解和阅读代码,从而提高代码的可读性和可维护性。

下面是一些关于Oracle注释的参考内容:1. 标准注释格式:在Oracle中,使用“--”符号表示单行注释,使用“/* */”符号表示多行注释。

示例:-- This is a single line comment/* This isa multi-linecomment */使用标准的注释格式可以使代码更加清晰明了,并且方便其他人在阅读和维护代码时理解代码的意图。

2. 注释SQL语句:在编写SQL语句时,可以使用注释在代码中添加说明和解释。

例如,给出查询语句的意图、查询优化提示等。

示例:SELECT /*+ PARALLEL(4) */ * FROM employee;上述代码中的注释/*+ PARALLEL(4) */是一个查询优化提示,指示Oracle数据库在执行该查询时使用4个并行进程。

这样的注释可以提高查询性能。

3. 对表和列添加注释:可以使用Oracle提供的COMMENT语句为表和列添加注释,从而更好地说明其用途和特性。

示例:COMMENT ON TABLE employeesIS 'This table stores employee information';COMMENT ON COLUMN employees.employee_idIS 'Primary key of the employees table';通过为表和列添加注释,可以帮助开发人员和维护人员更好地了解数据库结构和含义,有助于维护和开发过程中的数据管理。

4. 注释存储过程和函数:在存储过程和函数中,注释可以用于解释其功能、输入输出参数的含义和用法等。

Oracle 命令

Oracle 命令

Oracle 命令Array Oracle用户管理:创建一个用户:create user 用户名identified by 密码(密码必须以字母开头)给用户修给密码:password 用户名修改用户密码:alter user 用户名identified by 新密码删除用户:drop user 用户名[cascade]授权用户登录dba:grant conn(connect) to 用户名授予用户查询emp表权限:grant select on emp to 用户名授予用户修改emp表权限:grant update on emp to 用户名授予用户修改/删除/查修权限:grant all on emp to 用户名收回用户对emp表的权限:revoke select/update on emp from 用户名希望xiaoming用户可以把查询权限授予别的用户:grant select on scott.emp to xiaoming with grant option;(如果收回xiaoming对emp查询的权限,那么xiaoming授予用户也会受到诛连) 用户锁定:指定用户用户登录最多可以输入密码的次数。

例子:指定scott这个用户最多尝试3次登录,锁定时间为2天。

创建profile文件:create profile lock_account limit failed_login_attempts 3 password_lock_time 2;alter user scott profile lock_account;给用户解锁:alter user 用户名account unlock;终止口令:create profile myprofile limit password_life_time 10 password_grace_time 2;alter user 用户名profile myprofile;口令历史:如果希望用户在修改密码时不能用以前的密码。

oracle 查询表字段注释

oracle 查询表字段注释

oracle 查询表字段注释Oracle数据库中,表字段注释是一种非常有用的元数据信息,它可以帮助开发者更好地理解表结构和数据含义,提高代码开发效率和维护性。

本文将介绍如何查询Oracle数据库的表字段注释,包括使用SQL语句和Oracle系统表等方式。

1.使用SQL语句查询表字段注释在Oracle数据库中,可以使用以下SQL语句查询表字段注释: SELECT col.column_name, mentsFROM user_col_comments colWHERE col.table_name = '表名';其中,user_col_comments是Oracle系统表,它存储了当前用户下所有表和视图的字段注释信息。

col.column_name是列名,ments是字段注释信息,'表名'是需要查询的表名,可以根据实际情况替换。

2.使用Oracle系统表查询表字段注释在Oracle数据库中,还可以通过查询系统表的方式获取表字段注释信息,具体步骤如下:1)使用以下SQL语句查询当前用户下所有表和视图的名称:SELECT table_name FROM user_tables;2)对于每个表名,使用以下SQL语句查询表字段注释信息:SELECT column_name, commentsFROM all_col_commentsWHERE table_name = '表名' AND owner = '用户名';其中,all_col_comments是Oracle系统表,它存储了所有表和视图的字段注释信息。

column_name是列名,comments是字段注释信息,'表名'是需要查询的表名,'用户名'是该表所属的用户。

需要注意的是,如果查询的表不是当前用户下的表,需要将owner替换成表所属用户的名称。

综上所述,通过SQL语句和Oracle系统表,可以方便地查询Oracle数据库的表字段注释信息,有助于提高开发效率和代码维护性。

oracle命令大全总结全面

oracle命令大全总结全面
删除后三行:delete from test where name not in(select name from test where rownum<=(select count(*) from test)-3);
删除相同行:delete from test where rowid not in(select max(rowid) from test group by name,age,sex);
sql>update emp set column_x=null;
sql>commit;
sql>alter table emp drop(column_x);
===============================================================
===============================================================
===============================================================
创建表空间的数据文件:create tablespace test datafile 'd:\oracle\binbo.dbf' size 10m;
创建用户:create user 用户名 identified 用户名;
添加数据:insert into bfiletest s(1,bfilename('TMPDIR','tmptest.java'));
===============================================================
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ORACLE的启动和关闭1、在单机环境下要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下su - oraclea、启动ORACLE系统oracle>svrmgrlSVRMGR>connect internalSVRMGR>startupSVRMGR>quitb、关闭ORACLE系统oracle>svrmgrlSVRMGR>connect internalSVRMGR>shutdownSVRMGR>quit启动oracle9i数据库命令:$ sqlplus /nologSQL*Plus: Release 9.2.0.1.0 - Production on Fri Oct 31 13:53:53 2003Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.SQL> connect / as sysdbaConnected to an idle instance.SQL> startup^CSQL> startupORACLE instance started.2、在双机环境下要想启动或关闭ORACLE系统必须首先切换到root用户,如下su -roota、启动ORACLE系统hareg -y oracleb、关闭ORACLE系统hareg -n oracleOracle数据库有哪几种启动方式说明:有以下几种启动方式:1、startup nomount非安装启动,这种方式启动下可执行:重建控制文件、重建数据库读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。

2、startup mount dbname安装启动,这种方式启动下可执行:数据库日志归档、数据库介质恢复、使数据文件联机或脱机,重新定位数据文件、重做日志文件。

执行“nomount”,然后打开控制文件,确认数据文件和联机日志文件的位置,但此时不对数据文件和日志文件进行校验检查。

3、startup open dbname先执行“nomount”,然后执行“mount”,再打开包括Redo log文件在内的所有数据库文件,这种方式下可访问数据库中的数据。

4、startup,等于以下三个命令startup nomountalter database mountalter database open5、startup restrict约束方式启动这种方式能够启动数据库,但只允许具有一定特权的用户访问非特权用户访问时,会出现以下提示:ERROR:ORA-01035: ORACLE 只允许具有RESTRICTED SESSION 权限的用户使用6、startup force强制启动方式当不能关闭数据库时,可以用startup force来完成数据库的关闭先关闭数据库,再执行正常启动数据库命令7、startup pfile=参数文件名带初始化参数文件的启动方式先读取参数文件,再按参数文件中的设置启动数据库例:startup pfile=E:Oracleadminoradbpfileinit.ora8、startup EXCLUSIVE二、用户如何有效地利用数据字典ORACLE的数据字典是数据库的重要组成部分之一,它随着数据库的产生而产生, 随着数据库的变化而变化,体现为sys用户下的一些表和视图。

数据字典名称是大写的英文字符。

数据字典里存有用户信息、用户的权限信息、所有数据对象信息、表的约束条件、统计分析数据库的视图等。

我们不能手工修改数据字典里的信息。

很多时候,一般的ORACLE用户不知道如何有效地利用它。

dictionary全部数据字典表的名称和解释,它有一个同义词dictdict_column全部数据字典表里字段名称和解释如果我们想查询跟索引有关的数据字典时,可以用下面这条SQL语句:SQL>select * from dictionary where instr(comments,'index')>0;如果我们想知道user_indexes表各字段名称的详细含义,可以用下面这条SQL语句:SQL>select column_name,comments from dict_columns where table_name='USER_INDEXES';依此类推,就可以轻松知道数据字典的详细名称和解释,不用查看ORACLE的其它文档资料了。

下面按类别列出一些ORACLE用户常用数据字典的查询使用方法。

1、用户查看当前用户的缺省表空间SQL>select username,default_tablespace from user_users;查看当前用户的角色SQL>select * from user_role_privs;查看当前用户的系统权限和表级权限SQL>select * from user_sys_privs;SQL>select * from user_tab_privs;2、表查看用户下所有的表SQL>select * from user_tables;查看名称包含log字符的表SQL>select object_name,object_id from user_objectswhere instr(object_name,'LOG')>0;查看某表的创建时间SQL>select object_name,created from user_objects where object_name=upper('&table_name');查看某表的大小SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segmentswhere segment_name=upper('&table_name');查看放在ORACLE的内存区里的表SQL>select table_name,cache from user_tables where instr(cache,'Y')>0;3、索引查看索引个数和类别SQL>select index_name,index_type,table_name from user_indexes order by table_name;查看索引被索引的字段SQL>select * from user_ind_columns where index_name=upper('&index_name');查看索引的大小SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segmentswhere segment_name=upper('&index_name');4、序列号查看序列号,last_number是当前值SQL>select * from user_sequences;5、视图查看视图的名称SQL>select view_name from user_views;查看创建视图的select语句SQL>set view_name,text_length from user_views;SQL>set long 2000; 说明:可以根据视图的text_length值设定set long 的大小SQL>select text from user_views where view_name=upper('&view_name');6、同义词查看同义词的名称SQL>select * from user_synonyms;7、约束条件查看某表的约束条件SQL>select constraint_name, constraint_type,search_condition, r_constraint_namefrom user_constraints where table_name = upper('&table_name');SQL>select c.constraint_name,c.constraint_type,cc.column_namefrom user_constraints c,user_cons_columns ccwhere c.owner = upper('&table_owner') and c.table_name = upper('&table_name')and c.owner = cc.owner and c.constraint_name = cc.constraint_nameorder by cc.position;8、存储函数和过程查看函数和过程的状态SQL>select object_name,status from user_objects where object_type='FUNCTION';SQL>select object_name,status from user_objects where object_type='PROCEDURE';查看函数和过程的源代码SQL>select text from all_source where owner=user and name=upper('&plsql_name');三、查看数据库的SQL1、查看表空间的名称及大小select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_sizefrom dba_tablespaces t, dba_data_files dwhere t.tablespace_name = d.tablespace_namegroup by t.tablespace_name;2、查看表空间物理文件的名称及大小select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_spacefrom dba_data_filesorder by tablespace_name;3、查看回滚段名称及大小select segment_name, tablespace_name, r.status,(initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent,max_extents, v.curext CurExtentFrom dba_rollback_segs r, v$rollstat vWhere r.segment_id = n(+)order by segment_name ;4、查看控制文件select name from v$controlfile;5、查看日志文件select member from v$logfile;6、查看表空间的使用情况select sum(bytes)/(1024*1024) as free_space,tablespace_namefrom dba_free_spacegroup by tablespace_name;SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,(B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"FROM SYS.SM$TS_A V AIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE CWHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;7、查看数据库库对象select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status;8、查看数据库的版本Select version FROM Product_component_versionWhere SUBSTR(PRODUCT,1,6)='Oracle';9、查看数据库的创建日期和归档方式Select Created, Log_Mode, Log_Mode From V$Database四、ORACLE用户连接的管理用系统管理员,查看当前数据库有几个用户连接:SQL> select username,sid,serial# from v$session;如果要停某个连接用SQL> alter system kill session 'sid,serial#';如果这命令不行,找它UNIX的进程数SQL> select pro.spid from v$session ses,v$process pro where ses.sid=21 and ses.paddr=pro.addr; 说明:21是某个连接的sid数然后用kill 命令杀此进程号。

相关文档
最新文档