Oracle数据库基本查询语句

--数据库连接
--普通用户连接:Conn scott/tiger
--超级管理员连接:Conn "sys/sys as sysdba"
--Disconnect; 断开连接
--DML 语句(数据操作语言)Insert、Update、Delete、Merge
--DDL 语句(数据定义语言)Create、Alter、Drop、Truncate
--DCL 语句(数据控制语言)Grant、Revoke
--通配符 *
select * from EMP;
--where 条件
select empno,ename from emp where job = ‘MANAGER‘;    --列出职位为MARTIN的员工的编号,姓名
--基本运算 > +
select * from emp where comm>sal;    --找出奖金高于工资的员工
select sal+comm,ename from emp;    --找出每个员工奖金和工资的总和
--关系运算符 or and
select * from emp where (deptno=10 and job=‘MANAGER‘) or (deptno=20 and job=‘CLERK‘);    --找出部门10中的经理(MANAGER)和部门20中的普通员工(CLERK)
-- in
select * from emp where deptno=10 and job not in(‘MANAGER‘,‘CLERK‘) and sal>=2000;    --找出部门10中既不是经理也不是普通员工,而且工资大于等于2000的员
-- null 和 not null
select distinct job from emp where comm is not null and comm>0;    --找出有奖金的员工的不同工作
--order by 排序
select ename from emp order by hiredate;    --显示雇员姓名,根据其服务年限,将最老的雇员排在前面
select ename from emp order by hiredate desc; --desc 从高到低
--upper 字母全部大写
select upper(ename) from emp;
select * from emp where ename=upper(‘smith‘);
--lower 字母全部小写
select lower(ename) from emp;
select * from emp;
--initcap 首字母大写
select initcap(ename) from emp;
--concat 合并多个数组
select concat (ename,job) from emp;
--substr 截取字符串长度
--substr(String,start,length)
--string 指定要截取的字符串
--start 必须,指定在字符串的何处开始 正数从指定位置开始 复位从尾数开始 零从第一个字符开始
--length 可选,指定要截取的字符串长度,默认时时结束之前的全部字符
select ename,
substr (ename,-3),  --从倒数第三个位置开始,截取之后的字符
substr (ename,-3,2),  --从倒数第三个位置开始,截取之后的两个长度的字符
substr (ename,length(‘ename‘)-3),  --设定一个五个长度的字符‘ename‘ (5-3)从第二个位置开始截取
substr (ename,length(‘ename‘)-3,2),  --设定一个五个长度的字符‘ename‘ (5-3)从第二个位置开始截取2个字符长度
substr (ename,length(ename)-3),  --从每个对象的字符串长度-3开始截取,截取之后的字符
substr (ename,length(ename)-3,2)  --从每个对象的字符串长度-3开始截取,截取之后的两个长度的字符
from emp;
--length 获取字符串长度
select length (ename) from emp;
--replace 替换字符 将A换成C
select replace (ename,‘A‘,‘C‘) from emp;
--instr  查找里面某一个数据的位置 ’字符’区分大小写
select instr (ename,‘S‘)from emp;
--lpad 左侧填充
select ename,
lpad (ename,5,‘*‘),  --从左侧开始 用‘*‘将字符长度填充够5个长度
lpad (ename,5,‘网盘‘)  --不能识别汉语
from emp;
--rpad 右侧填充
select rpad (ename,5,‘*‘) from emp;  --从右侧开始 用‘*‘将字符长度填充够5个长度
--trim 过滤 过滤收尾空格
select trim (‘ loyer ‘) from emp;
--round 四舍五入
select round (sal,-2) from emp; --四舍五入小数点前面的第二位以后的数
select round (sal,2) from emp; --四舍五入小数点后面的第一位以后的数
--trunc 将数字截尾取整(并非四舍五入)
select trunc (sal,-2) from emp; --从小数点前面的第二位开始截断
select trunc (sal,2) from emp; --从小数点后面的第二位开始截断
--mod 取余
select mod (sal,300) from emp;
--months_between 两个日期相差的月数  sysdate代表系统时间 hiredate入职时间
select hiredate from emp;
select hiredate, months_between (sysdate,hiredate) from emp;
--add_moths 向指定日期你中加上若干月数
select add_months (sysdate,1) from emp;
--next_day 指定周内里的一个日期 取值1-7
select next_day (sysdate,7) from emp;
--last_day 本月的最后一天
select last_day (sysdate) from emp;
--round日期四舍五入 24小时制 时间过半会进成第二天
select round (sysdate) from emp;
--trunc日期截断 精确到小时会自动去掉
select trunc (sysdate) from emp;
--to_char  是把日期或数字转换为字符串
select to_char(sysdate,‘yyyy‘) from dual;
select to_char(sysdate,‘yyyy-mm-dd‘) from dual;
select to_char(sal,‘L999,999,999‘) from emp;
select to_char(sysdate,‘D‘) from dual;
--to_number  将字符转化为数字
select to_number(sysdate)+to_number(13) from dual;
--to_date  是把字符串转换为日期
Select to_date(‘20090210‘,‘yyyyMMdd‘) from dual;
--insert into 插入信息
insert into bonus values (‘4‘,‘王六‘,‘普工‘,‘2000‘,‘100‘,sysdate);
insert into bonus (ename,sal) values (‘李四‘,‘2000‘)
--alter 添加列
alter table bonus add ID varchar(10)
--drop 删除列
alter table bonus drop column TIMET
--delete 删除属性
delete from bonus where ename like ‘%张三%‘
--update 更新修改
update bonus set 工资 = (select 工资 from bonus where ID=‘1‘) where ID =‘2‘ --更新2号员工的工资使其与1号员工工资相同
--拷贝一个和bonus相同属性的表
create table bonus as select * from bonus
--删除表的所有属性
delete from bonus
--defau 默认值
update bonus set 工资=default where 名字 =‘赵六‘
--设定主键
create table Vip (Vid number(5) primary key,Vname varchar2(10),Vday date);
时间: 2024-11-07 03:51:26

Oracle数据库基本查询语句的相关文章

Oracle数据库,查询语句、内置函数

一.数据库的查询语句: 1.查询整个表: select * from 表名 例: 2.通过条件查询某一行数据: select * from 表名 where 字段名 例: 3.某一列数据去重查询: select distinct 字段名 from 表名 例: 4.查询的结果按某个字段升序或倒序排列:  select * from 表名 order by 字段名;                  在字段名的后面加desc为降序顺序排列 例: 5.查询某一列在某个范围内的数据: select *

Oracle数据库2--Select查询语句

1.Select查询 select 用于从数据看查询数据.语法: select field1,filed2,.. . from tablename [where condition] -- 查询所有员工的名字和雇员号 select empno,ename from emp; -- 查询所有员工的雇员号.姓名.岗位 select empno,ename,job from emp; -- 字段的别名 as select ename as "姓名" from emp; select enam

Oracle数据库对象查询是否被锁定及解锁

Oracle数据库对象是否被锁定查询SQL及解锁过程SQL详见下面: --查询当前用户下被锁的对象SELECT B.OBJECT_NAME, B.OWNER, C.SID,C.SERIAL#,C.OSUSER, C.MACHINE, C.TERMINAL  FROM V$LOCKED_OBJECT A, DBA_OBJECTS B, V$SESSION C WHERE A.OBJECT_ID = B.OBJECT_ID   AND A.SESSION_ID = C.SID   AND c.STA

Oracle 数据库常用操作语句大全

Oracle 数据库常用操作语句大全 一.Oracle数据库操作 1.根据删除的时间查询出被删除的数据 select * from szdj_work_plan AS OF TIMESTAMP TO_TIMESTAMP('2018-1-19 16:51:37', 'yyyy-mm-dd hh24:mi:ss') where subject='测试一下删除0119' 1.表中唯一的最大的值 select hibernate_sequence.nextval from dual 1.创建数据库 cr

Oracle中分页查询语句

Oracle分页查询语句使我们最常用的语句之一,下面就为您介绍的Oracle分页查询语句的用法,如果您对此方面感兴趣的话,不妨一看. Oracle分页查询语句基本上可以按照本文给出的格式来进行套用.Oracle分分页查询格式: SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM <= 40 ) WHERE RN >= 21 其中最内层的查询SELECT * FROM TABLE

ORACLE数据库常用查询二

ORACLE数据库常用查询 1.查看表空间对应数据文件情况: SQL> SELECT TABLESPACE_NAME,FILE_NAME,BYTES/1024/1024 MB,AUTOEXTENSIBLE FROM DBA_DATA_FILES; TABLESPACE_NAME FILE_NAME MB AUTOEXTENSIBLE ------------------------------ ---------------------------------------------------

php中对MYSQL操作之预处理技术(2)数据库dql查询语句

<?php //预处理技术 //创建一个mysqli对象 $mysqli = new MySQLi("主机名","mysql用户名","密码","数据库名"); //判断是否链接成功 if($mysqli->connect_error){ die($mysqli->connect_error); } //创建预编译对象 $sql = "select id,name,age,qq from 表名 wh

Oracle 数据库常用SQL语句(2)查询语句

一.SQL基础查询 1.select语句 格式:select 字段 from 表名; 2.where 用于限制查询的结果. 3.查询条件 > < >= <= = != 4.与 或(AND,OR) 5.在 不在(IN,NOT IN) 练习:查询工号为1,9,11,16且工资低于1000的员工. 6.在 [a,b] (between val1 and val2) 查询工资大于1000,小于1500的员工. select * from s_emp where salary between

Oracle数据库常用Sql语句大全

一,数据控制语句 (DML) 部分 1.INSERT  (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, --) VALUES ( 值1, 值2, --); INSERT INTO 表名(字段名1, 字段名2, --)  SELECT (字段名1, 字段名2, --) FROM 另外的表名; 字符串类型的字段值必须用单引号括起来, 例如: 'GOOD DAY' 如果字段值里包含单引号' 需要进行字符串转换, 我们把它替换成两个单引号''. 字符串类型的字段值超过