-
打开/关闭Oracle监听
$ lsnrctl start/stop
-
以dba方式登陆数据库
sqlplus/ as sysdba -
查询所有数据库
select * from v$database; -
查询实例名
selectinstance_name from v$instance; -
查看数据库当前进程的连接数
selectcount(*) from v$process; -
查看数据库允许的最大连接数
selectvalue from v$parameter where name = 'processes'; -
修改最大连接数(需重启)
altersystem set processes = 300 scope = spfile;
-
重启数据库
shutdown immediate;
startup;
-
创建用户和表空间
--创建表空间
CREATETABLESPACE cbs_db LOGGING DATAFILE'D:\app\oracle\oradata\orcl\cbs_db.dbf' SIZE 200M AUTOEXTEND ON EXTENTMANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
--创建用户,指定密码和上边创建的表空间
CREATEUSER cbs IDENTIFIED BY cbs ACCOUNT UNLOCK DEFAULT TABLESPACE CBS_DB;
--授予权限
grant connect,resource,dba to cbs; -
查看所有表空间和删除表空间
--查看所有表空间
select name from v$datafile;
--删除表空间
CREATE TABLESPACE DSMC_DATA LOGGING DATAFILE 'D:\APP\ORACLE\ORADATA\DSBC\DSMC_DATA.DBF' SIZE 32M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
-- 查看所有表空间使用情况
select
b.file_name 物理文件名,
b.tablespace_name 表空间,
b.bytes/1024/1024 大小M,
(b.bytes-sum(nvl(a.bytes,0)))/1024/1024 已使用M,
substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5)利用率
from dba_free_spacea,dba_data_files b
wherea.file_id=b.file_id
group byb.tablespace_name,b.file_name,b.bytes
order byb.tablespace_name;
-
删除表
truncate只删除表数据不删除表结构 drop删除表和结构
truncate table t_meta_column;
drop table t_meta_column;
-
模糊查询和精确查询
模糊查询一般用于text文本框输入的查询信息
select dd_id from sys_table where std_id like '%要查询的关键字%' and……
精确查询一般用于多选下拉框查询的信息
select dd_id from sys_table where std_id='要查询的完整字'
-
Oracle根据取出的字段值输出自定义的字符
假设一种情况,数据库中有一个money字段,其中包含1、2、3、4,分别代表中美日韩的钱币,但是现在要求输出的是汉字而不是数字,然而数据库取出的数字,对于这种情况,可以使用decode函数。
select decode(DATA_TP,'1','中','2','美','3','日','4','韩') from T_STD_BASIC_VRSN
意思就是查找DATA_TP,并将找出来的1、2、3、4用相应的中文字段来替换。
另一个方法是NVL,它的作用是空值判断并输出相应替换字符
NVL(字段,'想要输出的值') 意思就是判断字段是否为空,为空的话就输出后面的值。
-
数据库将字段中有相同字段的内容归为一类的方法
比如一个字段name,现在数据库中有很多条记录,但是很多name都相同,想要将其按照名字归类,可以使用下面语法
select distinctt.cd_nm from T_STD_BASIC_CODE t
当然也可以按照下面的group by语法
select t.cd_nm fromT_STD_BASIC_CODE t group by t.cd_nm
-
sql语句查询某个时间段
SELECTCOUNT(*) FROM T_STD_BASIC_VRSN T where to_char(mnplt_tms,'yyyy/mm/dd' ) >= '2015/12/16' andto_char(mnplt_tms,'yyyy/mm/dd' ) <='2015/12/16'
-
sql查询出现undefined问题解决方法
一般我们会加入非空判断,其实最好加上非undefined判断才算最保险的
if(cd_id!=""&& typeof(cd_id) != "undefined"){
str = str + " cd_id like'%"+cd_id+"%' and";
}
-
创建自增序列
create sequence SEQ_META_TABLE
minvalue 1
maxvalue 999999999999999999999999999
start with 11
increment by 1
cache 10;