常用的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 事物 ...
随机推荐
- Jsoncpp的使用
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Programming Lan ...
- 重新认识Android
首先我们来看下源码中源于Activity的定义: public class Activity extends ContextThemeWrapper implements LayoutInflater ...
- VC++ 控制外部程序,向外部程序发送一个消息的方法
这里需要考虑两部分的内容: 发送端: 查找对应的窗体,找到CWnd的值 向窗体发送消息 举例: CWnd* wnd = FindWindow(NULL, _T("选择题做题过程中" ...
- JavaScript ES6 的 let 和 var 的比较
在JavaScript 1.7中, let 关键词被添加进来, 我听说它声明之后类似于"本地变量", 但是我仍然不确定它和 关键词 var 的具体区别. 回答: 不同点在于作用域, ...
- 64位Win7下运行ASP+Access网站的方法
64位Win7下运行ASP+Access网站的方法 近日系统升级为WIN7 64位之后,突然发现原本运行正常的ASP+ACCESS网站无法正常连接数据库. 网上搜索多次,终于解决了问题,总结了几条经验 ...
- The content of element type "configuration" must match "(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProv
在mybatis配置文件config.xml中报错: The content of element type "configuration" must match "(p ...
- C#中TreeView与数据库绑定
protected void CreateTreeView() { TreeNode rootNode = new TreeNode(); rootNode.Text = "全部" ...
- 《CSS3秘籍》(第三版)-读书笔记(4)
第12章 CSS页面布局 网页布局的类型: 固定宽度.不管浏览器窗口的宽度多大,网页内容的宽度始终保持不变. 流式.流式设计采用百分比,它会根据浏览器的宽度(无论有多宽)自动进行调整.网页会随着访问 ...
- Python笔记——break的注意事项
在python中有个控制流的语句:break 它是用来终止循环语句的,不管此时循环体进行到哪,只要碰到break都停止执行循环语句. 1.举例脚本: #!/usr/bin/env python for ...
- frame和bounds的区别与联系
首先先看一下下面两个属性的代码实现: -(CGRect)frame{ return CGRectMake(self.frame.origin.x,self.frame.origin.y,self.fr ...