转自:https://my.oschina.net/u/3783799/blog/2870207 1.oracle 查询当前用户下的表名,表注释 select t.table_name, f.comments  from user_tables t inner join user_tab_comments f    on t.table_name = f.table_name 2.oracle 查询某表的所有字段,字段注释,字段类型 SELECT a.TABLE_NAME, a.COLUMN_N…
关于Oracle中查询的数字值的显示格式需要保留小数点后两位(或者三位,及其... 方法一:使用to_char的fm格式,即: to_char(round(data.amount,2),'FM9999999999999999.00') as amount 不足之处是,如果数值是0的话,会显示为.00而不是0.00. 另一需要注意的是,格式中小数点左边9的个数要够多,否则查询的数字会显示为n个符号“#”. 解决方式如下: select decode(salary,0,'0.00',(to_char…
启用Oracle中的scott用户 在Linux系统上安装Oracle服务器,有的不含有scott用户,有的scott用户被锁.下面是添加scott用户或解锁scott. 一. 验证scott用户是否存在 用oracle用户登录 su – oracle,之后用SYS用户连接数据库: $ sqlplus / as sysdba SQL>conn scott/tiger ERROR: ORA-28000: the account is locked 说明scott用户被锁或不存在,先解锁试试 $ s…
Oracle中查询当前数据库中的所有表空间和对应的数据文件语句命令 ----------------------------------------------------------------------------------------- 1.在cmd中输入sqlplus,弹出命令行窗体 2.输入口令和密码 3.SQL>col file_name for a60; 4.SQL>set linesize 160; 5.SQL>select file_name,tablespace_…
oracle中的sys用户(修改密码) (2011-07-01 09:18:11) 转载▼ 标签: it 分类: oracle 概念: SYS用户是Oracle中权限最高的用户,而SYSTEM是一个用于数据库管理的用户.在数据库安装完之后,应立即修改SYS,SYSTEM这两个用户的口令,以保证数据库的安全. 可以用三种方法修改口令:sqlplus / as sysdba;1.sql> alter user sys identified by 123456 2.sql>grant connect…
系列博文 项目已上传至guthub 传送门 JavaWeb-SpringSecurity初认识 传送门 JavaWeb-SpringSecurity在数据库中查询登陆用户 传送门 JavaWeb-SpringSecurity自定义登陆页面 传送门 JavaWeb-SpringSecurity实现需求-判断请求是否以html结尾 传送门 JavaWeb-SpringSecurity自定义登陆配置 传送门 JavaWeb-SpringSecurity图片验证ImageCode 传送门 JavaWeb…
1.查看所有用户: select * from dba_users; select * from all_users; select * from user_users; 2.查看用户或角色系统权限(直接赋值给用户或角色的系统权限): select * from dba_sys_privs; select * from user_sys_privs; (查看当前用户所拥有的权限) 3.查看角色(只能查看登陆用户拥有的角色)所包含的权限 sql>select * from role_sys_pri…
不多说,直接上干货 1.查询当前用户下表的创建语句 select dbms_metadata.get_ddl('TABLE','ux_future') from dual; 2.查询其他用户下表的创建语句 select dbms_metadata.get_ddl('TABLE','ux_future','Admin') from dual; 3.查询表的index select index_name,index_type,table_name from user_indexes where ta…
起因: 系统测试的时候发现如果某条记录已经被引用了,这个时候删除这条记录会引起数据不一致,系统会报错.比如警员信息,在考勤记录表里会引用警员ID,如果考勤记录表中已经存在这个警员ID了,这时从警员表中删除该警员,就会引起数据不一致,前台报错.所以,这个时候我就想查找数据库中所有引用这个ID的表 一:约束类型简介 约束用于确保数据库数据满足特定的商业逻辑或者企业规则,如果定义了约束,并且数据不符 合约束,那么DML操作(INSERT.UPDATE.DELETE)将不能成功执行.约束包括NOT NU…
--查看当前库中的所有表select * from all_tables a where a.table_name='INFOCODE_P20081'--查看表结构select * from all_tab_columns where table_name='INFOCODE_P20081'--查看触发器.过程.函数select * from user_source;select COUNT(*) from user_source WHERE TYPE='PROCEDURE';select *…
这两天老大让我再oracle中把要替换的表被其他对象引用之处找出来,整理一份表,接到这个任务,我是一脸懵逼,怎么找?大海捞针么?问同事.查资料,自己研究,最后整理一下仅供大家参考,同时以备将来回顾.本篇只涉及表被其他数据库对象引用,不涉及外键,想寻找外键的,自己查看下面附有的链接. 首先有下列几种方式: 1.plsql工具 : 点击工具,找到 查找数据库对象 最后进入到查找页面 最后根据页面把要查找的 表对象或者关键词填入 文本查找   里,再在对象条件里 选择自己要筛选的条件即可筛选.但是此方…
Oracle中的一些查询语句及其执行顺序 原文地址:https://www.cnblogs.com/likeju/p/5039115.html 查询条件: 1)LIKE:模糊查询,需要借助两个通配符,%:表示0到多个字符:_:标识单个字符. 2)IN(list):用来取出符合列表范围中的数据. 3)NOT IN(list): 取出不符合此列表中的数据记录. 4)BETWEEN…AND…:用来查询符合某个值域范围条件的数据,最常见的是使用在数字类型的数据范围上,但对字符类型和日期类型数据也同样适用…
Oracle中如果不知道system,sys用户的密码后可用如下方法找回: 首先以一个普通用户等入数据库: 在SQL*Plus中执行如下命令: SQL>connect/as sysdba (也可以以如下方式连接:SQL>connect internal) SQL>alter user sys identified by sys; (回车后用户sys的密码会更改为sys) 同理可以更改system密码 SQL>alter user system identified by syste…
oracle文档中对truncate权限的要求是需要某表在当前登录的用户下,或者当前登录的用户有drop any table的权限. 但是如果不满足第一个条件的情况下,要让某用户满足第二个条件就导致权限过大了. 参考网上的讨论,可以使用存储过程来时间. 例如有两个用户 u1,u2,u1下有表 test1a 现在想要实现u2能 truncate u1下的表 test1a. 可以使用用户u1创建存储过程, create procedure u1.stgtruncate(table_name in v…
oracle我们查询当前系统时间的时候,经常用到dual,这个是什么东西呢? -- 查询系统时间 结果:2018/04/17 15:00:48 -- select sysdate from dual; -- 字符串转日期格式 结果: 2018/04/16 -- select to_date('2018-04-16','yyyy-MM-dd HH24:mi:ss') from dual; -- 日期转字符串格式 结果:2018-04-17 15:01:11-- select to_char(sys…
--1)查询和定位数据库问题的SQL语句--Oracle常用性能监控SQL语句.sql --1查询锁表信息 select vp.SPID, vs.P1, vs.P1RAW, vs.P2, vs.EVENT, vsql.SQL_TEXT, vsql.SQL_FULLTEXT, vsql.SQL_ID from v$session vs, v$sql vsql, v$process vp where vs.SQL_ID = vsql.SQL_ID and vs.PADDR = vp.ADDR and…
一.Oracle数据库中,把一张表的查询结果直接生成并导入一张新表中.   例如:现有只有A表,查询A表,并且把结果导入B表中.使用如下SQL语句:   create table b as select * from a   二.Oracle数据库中支持把查询结果导入到另外一张表中.   例如:有两个表A和B   1)如果两个表的表结构是否相同,但要插入的字段类型相同:   (1)把A表的全部字段数据插入到B表中: insert into B select * from A;   (2)把A表中…
1.对返回的行无任何限定条件,即没有where子句 2.未对数据表与任何索引主列相对应的行限定条件例如:在City-State-Zip列创建了三列复合索引,那么仅对State列限定条件不能使用这个索引,因为State不是索引的主列. 3.对索引的主列有限定条件,但是在条件表达式里使用以下表达式则会使索引失效,造成全表扫描:(1)where子句中对字段进行函数.表达式操作,这将导致引擎放弃使用索引而进行全表扫描,Demo:where upper(city)='TokYo' 或 City || 'X…
一般的方法:先使用sql查询: SELECT 'DELETE FROM '|| table_name || ';' FROM USER_TABLES ORDER BY TABLE_NAME; 将查询结果复制一下,在sql命令窗口里再执行一次就删除了所有的表. 还有一种更全面的删除:和上一中类似,先使用sql查询: select 'drop table '||table_name||';' from cat where table_type='TABLE' ORDER BY TABLE_NAME;…
select   table_name   from   all_tables   where   owner   =upper('jdfp')    ; 此处查的是tieba这个用户表空间下的所有表名 ----------------------------------------------------- 查询当前用户下的sequence select * from user_sequence;…
1.create user A identified by Apassword,创建用户,用户名是A,密码是Apassword2.grant connect to A --授予connect权限3.grant select on test to A --给指定用户的表或者视图授予select(只读)权限,其中test是表名 注意:1.如果是以普通用户(jtg1)身份登录,并创建的用户,查询时要 select * from jtg1.test才能查询出来 2. 如何直接通过select * fro…
今天碰到需要给数据库上某一个用户,开通其中2张表的查询权限,方法如下: grant select on bas_checkcycle to jdc;这个是整个语句. 语句分析: grant select on bas_checkcycle to jdc: 这个颜色为执行语句. 这个颜色是数据表 这个颜色是用户:就是需要权限的用户. 下面这个是查看,更新,删除,增加的权限都开启. grant select,update,delete,insert on UserTagPool to [app_we…
一次看到某张表中有几条ID相同的数据,通过业务确认该ID应该是唯一的,后来找到原因,因为DBA未对该表建主键. 现在DBA工作比较忙,我们项目有时需要新增或者修改数据库表结构时,可能需要对表结构进行确认.下面提供几个比较有用对SQL,可以帮助大家看看数据库 中表结构定义怎样的,以PRODUCT表为例,请自行更换为所需的表名. 1.查询主键: ----*********查询主键------------ select col.* from user_constraints con,user_cons…
Oracle中如何获取系统当前时间 select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;  ORACLE里获取一个时间的年.季.月.周.日的函数 select  to_char(sysdate, 'yyyy' )  from dual; --年  select  to_char(sysdate, 'MM' )  from dual; --月 select  to_char(sysdate, 'dd' )  from dual; --…
先从历史表中查询最新的一个语句: select t.id from ( select r.*, row_number() over(partition by r.分组字段 order by r.排序时间 desc) rw from 表A r ' ) t 下面是完整语句:需要插入的表中字段要和下面查询语句字段对应上 insert into uav_flight_real_location (ID,LOCATION_TIME,GPS_LONGITUDE) select sys_guid() as i…
解锁scott: SQL> alter user scott account unlock 修改密码: SQL> alter user scott identified by tiger 登陆: SQL> conn scott/tiger 查询当前用户: SQL> show user…
查询表的所有列及其属性:select t.*,c.COMMENTS from user_tab_columns t,user_col_comments c where t.table_name = c.table_name and t.column_name = c.column_name and t.table_name = women;查找表的主键:select cu.* from user_cons_columns cu, user_constraints au where cu.cons…
grant create any table to username; grant create any procedure to username; grant execute any procedure to username; 创建执行JOB权限: grant create job to 用户; grant manage scheduler to 用户; 给一个表的读取权限: grant select on 表名 to 用户名; 删除修改权限 (alter 有 truncate 权限):…
先分析表 select 'analyze table '||table_name||' compute statistics;' from user_tables; 把查询结果依次执行 把所有表分析一遍 然后user_tables中就会刷新表的信息 ; 查出行数为0的表信息.…
今天在做关于Oracle查询语句的练习时,碰到这么一个题目:找出EMP表中姓名(ENAME)第三个字母是A的员工姓名.我的Scott.emp表的现有数据如下: SQL> select * from emp; EMPNO     ENAME   JOB          MGR     HIREDATE         SAL   COMM   DEPTNO---------- ---------- --------- ---------- -------------- ---------- --…