常用的sql语言基础(1)
数据文件:存放数据不能随便删除
查看数据方式:select name from v$datafile;
select file_name from dba_data_file;控制文件:是一个二进制文件.ctl形式存在
查看控制文件的方式:
select name from v$controlfile;
show parameter congtrol_flie;临时文件:存放临时数据的
查看方式 :select name from v$tempfile;
select file_name from dba_temp_file;日志文件:对数据库的操作信息的记录,已log的形式存在,分为联机重做日志文件和归档日志文件。
联机重做日志文件:强制记录force_looging 正好记录looging 不记录no_looging查看方式:
select
数据库的三种状态:open,mont挂载,close;
查看数据库是否处于归档状态:archive log list;
归档模式和非归档模式切换:1.关闭数据库:shutdown immediate;
2.登录空闲历程并打开数据库:conn /as sysdba; startup mount;
3.变为归档模式:alter datbase aarchivelog;/*基本查询*/
查询格式:select 列名 from 表名;
--查询系统中的表:select table_name from user_tables;
--查询系统的时间:select sysdate from dual;//从dual中能查询所有想要的系统信息,被称为万能表;
select user from dual;
--查看表中所有的信息:select * from emp;
--查看特定的列名:select empno,ename from emp;
--给列起别名:as可有可无,数字加双引号
select empno 编号,ename 姓名,job 工作 from emp;
select empno as 编号 from emp;
select empno "1" from emp;
select empno as "1" from emp;
--限定条件where:
select * from emp where sal>200; select * from emp where sal>200 and/or sal<300;
--intersect交集and:
select * from emp where sal>200 intersect select * from emp where sal<300;
--union,union all,or, union等同于all;union去除了重复记录,union all 没有去除重复记录,运行效率高
--布尔操作符,排列顺序 not and or
--模糊查询: %表示任意个字符;_表示单个字符
select * from emp where ename like '%A%';//姓名中有A的
select * from emp where ename like '_A%';//第二个字母是A的--排序order by:
select * from emp order by sal asc;//升序排列默认,desc降序排列
select ename,empno,sal,job from emp order by 3;// 对第3列进行排序
select ename 姓名,empno 编号 from emp order by 姓名;
--限定范围:
select * from emp where sal between 200 and 300;//表示范围
select * from emp where sal in('200','300');//表示具体的值
--去除重复数据:
select distinct job from emp;
--空值,查询空值用null,空值处理用nvl,空值与任何值进行逻辑运算都为空;空值默认最大
select * from emp where comm is null;
select nvl(comm,0),ename from emp;
select sal+nvl(comm,0),ename from emp;/*标量函数*/
--字符函数
--大写转换成小写,用lower:
select lower('DLDSFS') from dual;
--小写转换成大写,用upper:
select upper('dfs') from dual;
--首字母大写用initcap
select initcap('sdfd') from dual;
--关联字符串,concat(关联两个字符串)或者||(关联多个字符串)
select concat('hp','BI') from dual; select 'hp'||'BI'||'bd'||'dd' from dual;
--截取字符串,substr,从0开始截取和送1开始截取效果一样表示位置,第三位表示截取长度
select substr('dsfsd',0,3) from dual;//截取前三位
select substr('sdfds',3,3) from dual;
select substr('sdfds',-3,3) from dual;//倒着数开始截取
--求字符串长度,length
select length('dfddf') form dual;----以首字母大写的方式显示所有员工的姓名
select upper(substr(ename,1,1))||lower(substr(ename,2)) from dual;
select concat(upper(substr(ename,1,1)),lower(substr(ename,2)) from dual;
----要求截取员工姓名的后三个字符
select substr(ename,-3) from dual;
--替换字符串replace,2为要替换的字符,3为替换后的字符
select replace('hukdlla','kd','mn') from dual;//将kd替换成mn
select replace('ttttdf','tdf','eee') from dual;
--消除左右空格或字符串,trim; ltrim是消除左面的字符或者空格,rtrim是消除右面。。。。
select ltrim(both 'a' from 'aaaaukkaaa') form dual;
select ltrm('aaaaadd','a') from dual;
select rtrim('aaaakaaa','a') from dual;
select ltrim(' dfdsf') from dual; select rtrim('sdfds ') from dual;
select trim(' dsfdsf ') from dual;
--lpad在左边添加字符到指定的长度;rpad在右边添加字符到指定的长度,(a,b,c),b表示添加的长度,c要添加的字符
select lpad('dsff',12,'a') from dual;
select rpad('dsff',12,'a') from dual;--数值函数
--四舍五入round
select round(123.43) from dual;
select round(123.43,2) from dual;//保留2为小数
--截断小数位用trunc
select trunc(123.43) from dual;
select trunc(123.43,1) from dual;//保留1位小数
select trunc(123.43,2) from dual;//保留2为小数
--取余数mod
select mod(10,3) from dual;--日期函数
--查询系统时间
select sysdate from dual;
--last_day表示当前时间月末最后一天的这个时间
select last_day(sysdate) form dual;
--months_between,表示两个时间的月份数
select months_between(sysdate,hiredate) from emp;
--next_day,表示当前日期开始的下一个星期几
select next_day(sysdate,'星期三') from dual;
常用的sql语言基础(1)的更多相关文章
- SQL语言基础和数据库操作
Sql语言基础: 核心思想:我们自己构造一段查询的代码,然后添加到语句后,从而得到想要的某些数据. Mysql是一种开源数据库 APP Serv:Apache+php+mysql,相当于phpstud ...
- PL/SQL语言基础
PL/SQL语言基础 进行PL/SQL编程前,要打开输出set serveroutput on 1.创建一个匿名PL/SQL块,将下列字符输出到屏幕:"My PL/SQL Block Wor ...
- .NET面试题解析(11)-SQL语言基础及数据库基本原理
系列文章目录地址: .NET面试题解析(00)-开篇来谈谈面试 & 系列文章索引 本文内容涉及到基本SQL语法,数据的基本存储原理,数据库一些概念.数据优化等.抱砖引玉,权当一个综合复习! ...
- 浅谈PL/SQL语言基础
在前面的学习中,我们大部分接触的都是SQL语言,但是,在实现复杂操作的时候,SQL语言就无能为力了,这时候就需要引入新的语言,PL/SQL语言就是对SQL语言的扩展,可以实现存储过程,函数等的创建.下 ...
- .NET面试题解析(9)-SQL语言基础及数据库基本原理
见面试题 1. 索引的作用?她的优点缺点是什么? 2. 介绍存储过程基本概念和 她的优缺点? 3. 使用索引有哪些需要注意的地方? 4. 索引碎片是如何产生的?有什么危害?又该如何处理? 5. 锁的目 ...
- orcale 之 SQL 语言基础
SQL 全称是结构化查询语句(Structure Query Language),是数据库操作的国际化语言,对所有的数据库产品都要支持. SQL 语言的分类 我们按照其功能可以大致分为四类: 数据定义 ...
- 学习笔记:oracle学习三:SQL语言基础之sql语言简介、用户模式
目录 1.sql语言简介 1.1 sql语言特点 1.2 sql语言分类 1.3 sql语言的编写规则 2.用户模式 2.1 模式与模式对象 2.2 实例模式scott 本系列是作为学习笔记,用于记录 ...
- SQL语言基础-基本概念
SQL:IBM的圣约瑟(SanJose),SEQUEL 2(也就是现在的SQL语言) 1979.Oracle首先提出提供了商用的SQL语言 1986.10美国ANSI采用SQL作为关系数据库管理系统的 ...
- OCP认证之Oracle的SQL语言基础(一)
一.Oracle命令类别 数据操纵语言(DML):select;insert;delete;update;merge 数据定义语言(DDL):create;alter;drop;truncate 事物 ...
随机推荐
- 树莓派USB摄像头与camera模块对比
http://www.cnblogs.com/weixinforspurs/p/5575962.html ——————————————————————————————————————————————— ...
- 3.openssl speed和openssl rand
(1).openssl speed 测试加密算法的性能. 支持的算法有: openssl speed [md2] [mdc2] [md5] [hmac] [sha1] [rmd160] [idea-c ...
- Nginx服务测试时的一些配置:wireshark、常用搜索URL格式、关闭防火墙、siege
wrieshark sudo yum install wireshark-gnome sudo wireshar (以root启动,否则看不到网卡) 网站URL格式 以查询lumia为例 google ...
- VC++ CEdit
CEDIT _1, //selection pEdit1->SetSel(0,strBuffer - m_strInput,0); pEdit1->SetFocus(); //the se ...
- linux 下文件节点索引
最近发现一个奇怪的问题,就是一个pyhton 后台的服务一直打印日志文件,在中间我用vim看日志文件,关闭时习惯性的:wq退出,在此之后日志文件就不输出了. 1 对于这个现象我开始认为是python ...
- 学习Spring必学的Java基础知识
[1] Java反射知识-->Spring IoC :http://www.iteye.com/topic/1123081 [2] Java动态代理-->Spring AOP :http: ...
- docker--wekan安装
最近因为搭建开源看板网站的需要,玩了下docker 一开始在redhat上安装docker wget http://mirrors.163.com/.help/CentOS7-Base-163.rep ...
- 利用fiddler模拟发送json数据的post请求
fiddler是调试利器,有许多好用的功能,这里简单的介绍一下利用fiddler模拟发送post请求的例子 先简单介绍一下失败的例子,最后给出正确的方法
- Python学习第四天集合
集合定义: 无序排列,可哈希 支持集合关系测试 成员关系测试 in not in 迭代 不支持:索引.元素获取.切片 集合的类型:set(),frozenset() 集合没有特定语法格式,只能通过工厂 ...
- aix 6+ mount 光驱
AIX 挂载光驱的方法 系统环境: [root@Big A:/1]#oslevel -s6100-06-00-0000 [root@Big A:/]#crfs -v cdrfs -p ro -d '/ ...