oracle 数据库 基础操作
一、oracle基本常用的数据类型
varchar(长度) 字符串
char(长度) 字符
number(x,y) x表示总位数 y表示保留小数点后几位数 eg面试题:number(5,3)最大的数是99.999
decimal() 数字
long int integer 整数
date 日期
timestamp 日期
clob blob 特殊文本 二进制
二、DLL操作
create
创建表的前提是:1、具备创建表的条件 2、有可用的存储空间
创建表的语法是:
create table 表名 (column1 数据类型,column2 数据类型……); drop table 表名;
表中的所有数据都将删除、此前未完成的事务都将被提交、所有相关的索引被删除、DLL语句,一经执行,不可撤销。 alter
对表添加字段
alter table 表名 add (column1 数据类型,column2 数据类型……);
对表删除字段
alter table 表名 drop (column1,column2……);
对表现有字段进行修改
alter table 表名 modify (column1 数据类型,column2 数据类型……); truncate table 表名;
清空表中所有记录、释放表空间、DLL语句,一经执行,不可撤销。
三、DML操作
select
select */column1,column2…… from 表名 where ……; delete from 表名 where 条件…… update 表名 set column = ‘字段’where 条件…… insert into 表名 (column1,column2……)values (值1,值2……);
四、事务控制语言
commit rollback savepoint
五、数据控制语言
grant revoke
算术运算 + - * /
连接运算 || 与concat类似
两者区别:||可以连接多个字符串 concat只能连接两个字符串。
别名 AS 关键字
空值 --无效值
去重 distinct
排序 order by --永远存在sql语句的结尾。
分组 group by
--当语句中出现group by分组语句时,select对应的列要么是group by分组列,要么是聚合函数列。
--对分组过后的数据进行二次过滤可以使用hiving关键字。
--where 后面不能跟聚合函数列
六、函数
字符函数
数值函数
日期函数
转换函数
通用函数
decode用法:
第一种用法:替换分组
decode(column,'列中可能出现的值','肯定打印出的值','否定打印出的值')
eg:select tname,decode(tname,'小花','本科','中专') from s7 order by tname ;--解释decode函数中的意思:
tname列中出现‘小花’就打印本科,不是小花就打印中专
第二种用法:动态排序
--要求 销售部拍第一位
select * from dept
order by decode(d_name,'产险系统开发部',1,'销售部',2,3);--解释d_name这一列如果是产险系统开发部就显示1,销售部就显示2,其他就显示3.
第三种用法 :行转列
select s_years ,
max(decode(s_months , '1季度',s_money)) as 一季度 ,
min(decode(s_months , '2季度',s_money)) as 二季度,
sum(decode(s_months , '3季度',s_money)) as 三季度,
avg(decode(s_months , '4季度',s_money)) as 四季度
from sales group by s_years ;
聚合函数
min(column)求列的最小值
max(column)求列的最大值
sum(column)求和
avg(column)求平均--计算时空值会被除外
count(column)统计有效数据的数量,空值null不会被统计在内。
.
oracle 数据库 基础操作的更多相关文章
- Oracle数据库基础操作语法
转载自:https://www.cnblogs.com/fallen-seraph/p/10685997.html 一.登录Oracle数据库 首先运行Oracle数据库: 默认的有两个账号: 管理员 ...
- 第一章 oracle数据库基础
第一章 oracle数据库基础 1.oracle简介-->数据库管理系统 1.1:数据库 1.2:全局数据库名 1.3:数据库实例 1.4:表空间 1.5:数据 ...
- Oracle数据库基础入门《二》Oracle内存结构
Oracle数据库基础入门<二>Oracle内存结构 Oracle 的内存由系统全局区(System Global Area,简称 SGA)和程序全局区(Program Global Ar ...
- Oracle数据库基础入门《一》Oracle服务器的构成
Oracle数据库基础入门<一>Oracle服务器的构成 Oracle 服务器是一个具有高性能和高可靠性面向对象关系型数据库管理系统,也是一 个高效的 SQL 语句执行环境. Oracle ...
- Mysql数据库基础操作
Mysql数据库基础操作 在mysql数据库中开启使用tab键补全功能 1)修改主配置文件/etc/mysql/my.cnf(mysql和mariadb目录有些不同) vim /etc/mysql/m ...
- C# IV: 数据库基础操作2
需上一篇C# III:数据库基础操作 另外一个经常碰到的数据库操作是,单次执行多个SQL语句,譬如,一次性插入多条数据. 方法一,拼凑长SQL语句 拼凑长SQL语句实际上是String的操作.如下示例 ...
- ORACLE数据库误操作执行了DELETE,该如何恢复数据?
ORACLE数据库误操作执行了DELETE,该如何恢复数据? 原创 2016年08月11日 17:23:04 10517 作为一个程序员,数据库操作是必须的,但是如果操作失误,一般都会造成比较严重的后 ...
- eclipse利用sql语句对Oracle数据库进行操作
对Oracle数据库执行操作的sql语句中表名和列名都需用英文双引号("")括起来. 注(\为转义符) 1.插入数据 sql = "insert into \" ...
- Oracle 数据库基础:数据查询与操作
SELECT uname FROM TUser WHERE uname=‘admin’ SELECT 字段名列表 FROM 表名 WHERE 条件; 在Oracle数据库中,对象是属于模式的,每个账户 ...
随机推荐
- hdu5829
多校训练8,有官方题解 主要之前没写过ntt,感觉不是很懂原根 先贴一份当模板吧 #include<iostream> #include<cstdio> #include< ...
- 【转】Python unittest数据驱动工具:DDT
背景 python 的unittest 没有自带数据驱动功能. 所以如果使用unittest,同时又想使用数据驱动,那么就可以使用DDT来完成. DDT是 “Data-Driven Tests”的缩写 ...
- Burp Suite的使用介绍
在网上找了一篇关于Burp Suite的使用介绍,感觉写的基础的,下面就copy了,另外还有一篇<BurpSuite实战指南>的pdf是一位好心的“前辈”共享的https://www.gi ...
- HDU 2050 折线分割平面(转)
折线分割平面 http://acm.hdu.edu.cn/showproblem.php?pid=2050 Problem Description 我们看到过很多直线分割平面的题目,今天的这个题目稍微 ...
- HDU 2504 又见GCD(数论,最大公约数)
又见GCD Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- 17、Flask实战第17天:Flask-cookie
cookie的基本概念 在网站中,http请求是无状态的.也就是说即使第一次和服务器连接并且登录成功后,第二次请求服务器依然不能知道当前请求的是哪个用户. cookie的出现就是为了解决这个问题,第一 ...
- [NOI2018]屠龙勇士(exCRT)
首先很明显剑的选择是唯一的,直接用multiset即可. 接下来可以发现每条龙都是一个模线性方程.设攻击第i条龙的剑的攻击力为$s_i$,则$s_ix\equiv a_i\ (mod\ p_i)$. ...
- [BZOJ4896][THUSC2016]补退选(Trie)
4896: [Thu Summer Camp2016]补退选 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 653 Solved: 228[Subm ...
- 【母函数】hdu1028 Ignatius and the Princess III
大意是给你1个整数n,问你能拆成多少种正整数组合.比如4有5种: 4 = 4; 4 = 3 + 1; 4 = 2 + 2; 4 = 2 + 1 + 1; 4 = 1 + 1 + 1 + 1; ...
- [HDU6271]Master of Connected Component
[HDU6271]Master of Connected Component 题目大意: 给出两棵\(n(n\le10000)\)个结点的以\(1\)为根的树\(T_a,T_b\),和一个拥有\(m( ...