Oracle入门知识
在客户端里PL/sql里面 记得用commint 回滚 所写得SQL语句才真的有效 如插入7千万个数据
没有执行commint 就等于没有 将数据真正的存入数据库服务器里面去 所以当其他前端链接上
该表,就会发现是一个空的集合
一: DDL(定义语句)create alter drop 不需要commint回滚
二:DML(操纵语句)insert update delete,select...for update(需要commint)
同时插入多条 可以这样插入:
insert all
into aaa values('123')
into aaa values('456')
into aaa values('789')
commint
===================
oracle 数据类型 char(固定长度的类型 如果数据不足 会以空格来代替)
Oracle 数据类型 varchar2 (不固定长度的类型,少于4000)
Oracle 数据类型 number (实数类型 默认就是38位)
Oracle 有着自身的 自增 和别的数据库不一样 如果没有给下面的id 给值的话 它是没有默认为一的 而是报错
create table test1111(
id number(10) primary key,
username varchar2(100)
);
序列
create sequence myseq;
查询序列的下一个值
select myseq.nextval from dual
查询序列当前的值
select myseq.currval from dual
insert into test1111(id,username) values(myseq.nextval,'小明');
insert into test1111(id,username) values(myseq.nextval,'小芳');
=======================================================
左内连 可以像以前 Oracle一样的 关键字 左表 left join 右表 on 条件
如果想让人看不懂的话 可以直接这样
select 列名1,列名2,列名3,列名4,列名5
from 表1 ,表2 (没有条件就是内关联,条数等于各个表的相乘结果数)
where 条件 (+)
这个(+)就是代表:如果有的话 就是 继续显示条件没有成立的 如果那样 所查询到的不匹配的字段就为空
如图所示 005
如果没有的话就不显示囖
==========================================================================
要求某个数量与单价的和的话就是 sum(列名*列名)as 定名 from
日期的话 如果要以当天日期和数据库中的日期为条件的话就要这样
where to_char(doday,'yyyy-mm-dd')=to_char(sysdate,'yyyy-mm-dd')
前面的doday是数据库的字段日期:daday date
后面的是当前日期 sysdata
一对多:
select * from user1
select * from dicts
-- 多对一(字典类应用)
nvl(user_id,'未知学生'||ser_id) 意思就是如果查到就显示user_id,如果没有查到就显示未知学生加上user_id的两个字符
站在不通的维度看问题 使用 group by
group by xxx.id having 条件(group by 的匹配条件专属having,相当于where)
trunc是一种函数,功能和函数INT类似,是截取日期或数字,返回指定的值 如:
trunc(months_between(sysdate,birt_date)/12) age
就是这样可以算出 你的年龄大小 赋值给 age
case 判断:
case
when age<19 then '未成年人'
when age<25 then '年青人'
when age<60 then '中老年人'
else '老人'
end ageLevel
这样就可以判断出如果年龄的条件成立的就将对应的字符串赋值给 ageLevel
select sign(4-5.5) from dual 返回的表就是显示 -1
sign 根据参数值,0,正数,负数,分别返回0,1,-1
decode
如果参数值和里面的值相等 就会显示对应的字符串 不然就显示最后一个
select * from t_ke where ke_name like'%数学%' 模糊查询字符串里出现数学的
查询语句 union all 查询语句 ;显示所有的,重复也会显示
查询语句 union 查询语句 ;显示所有的,重复的话就显示一条
集合问题:in(在) minus (或者)
创建索引 (占内存,高效率(直接在目录里面找))
create index 索引名 on 表名(列名(以哪个列为索引))
table式 的翻倍添加
如果 A为一张表单(里面呢有过几条数据的) 则可以这样添加
insert into 表A(select id,各个列名 from 表A) 直接这样执行的话是有错的
如果一般情况id 都是设为主键的,这样是可以翻倍,但是会违反唯一约束
所以我们id 就用序列来代替:select myseq.nextval from tual
这样翻倍的添加 就可以了 我为了测试 就添加了130多万条记录 :
上面的这个查询 是查询总共条数的
Oracle入门知识的更多相关文章
- Oracle 基础知识入门
前记: 近来项目用到Oracle数据库,大学学了点,后面基本忘记得差不多了,虽然基本语法跟sql 差不多,但是oracle知识是非常多的. 这里简单说点基础知识,希望后面补上更多的关于ORacle知识 ...
- MySql入门知识(一)
概述 MySQL是一个真正多用户,多线程结构化查询语言数据库服务器.MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.MySQL的SQL语言是用于访问数据 ...
- Httpd服务入门知识-http协议版本,工作机制及http服务器应用扫盲篇
Httpd服务入门知识-http协议版本,工作机制及http服务器应用扫盲篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Internet与中国 Internet最早来源于美 ...
- Oracle 数据库知识汇总篇
Oracle 数据库知识汇总篇(更新中..) 1.安装部署篇 2.管理维护篇 3.数据迁移篇 4.故障处理篇 5.性能调优篇 6.SQL PL/SQL篇 7.考试认证篇 8.原理体系篇 9.架构设计篇 ...
- [置顶] Mysql存储过程入门知识
Mysql存储过程入门知识 #1,查看数据库所有的存储过程名 #--这个语句被用来移除一个存储程序.不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程 #SELECT NAME FROM ...
- Oracle入门4-REF Cursor
Oracle入门4-REF Cursor 转自:http://blog.sina.com.cn/s/blog_55dbebb00100gxsc.html 自:http://blog.csdn.net/ ...
- 移动H5开发入门知识,CSS的单位汇总与用法
说到css的单位,大家应该首先想到的是px,也就是像素,我们在网页布局中一般都是用px,但是近年来自适应网页布局越来越多,em和百分比也经常用到了.然后随着手机的流行,web app和hybrid a ...
- H5移动端开发入门知识以及CSS的单位汇总与用法
说到css的单位,大家应该首先想到的是px,也就是像素,我们在网页布局中一般都是用px,但是近年来自适应网页布局越来越多,em和百分比也经常用到了.然后随着手机的流行,web app和hybrid a ...
- Java web 入门知识 及HTTP协议详解
Java web 入门知识 及HTTP协议详解 WEB入门 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资 ...
随机推荐
- websocket flutter
https://stackoverflow.com/questions/51077233/how-can-i-use-socket-in-flutter-app import 'dart:io'; i ...
- Session &cookie introduction,usage
Cookie 1)什么是Cookie? 服务器为了识别用户身份而临时存放在浏览器端的少量数据. 2)工作原理 浏览器访问服务器时,服务器将一些数据以set-cooki ...
- spring boot+自定义 AOP 实现全局校验
最近公司重构项目,重构为最热的微服务框架 spring boot, 重构的时候遇到几个可以统一处理的问题,也是项目中经常遇到,列如:统一校验参数,统一捕获异常... 仅凭代码 去控制参数的校验,有时候 ...
- javascript prop和attr的区别
在网上找了一些资料,通过自己去寻找,尝试,此次做一次总结. 1/ attr()是jQuery 1.0版本就有的函数, prop()是jQuery 1.6版本新增的函数.毫无疑问,在1.6之前, ...
- P3321 [SDOI2015]序列统计
思路 首先有个挺显然的DP \[ dp[i][(j*k)\%m]+=dp[i-1][j]\times dp[i-1][k] \] 想办法优化这个DP 这个dp也可以写成这样 \[ dp[i][j]=\ ...
- 关于 Expression is not assignable 错误
1.在 Build Phases中导入 UIKit.framework 2.在pch中导入头文件 #import <UIKit/UIKit.h> 3.写一个分类 即可解决 贴出分类代码 ...
- LEETCODE 07 09
最近忙着面试耽误了几天,今天刷了07,09都是字符串处理,一个是大数反转,一个是回文数判断,我都是转成字符串处理的,过了是过了,但是挺慢的,先记着,等有机会优化下 题目 给定一个 32 位有符号整数, ...
- scrapy爬虫具体案例步骤详细分析
scrapy爬虫具体案例详细分析 scrapy,它是一个整合了的爬虫框架, 有着非常健全的管理系统. 而且它也是分布式爬虫, 它的管理体系非常复杂. 但是特别高效.用途广泛,主要用于数据挖掘.检测以及 ...
- Python3爬虫相关软件,库的安装
Anaconda 百度搜Anaconda清华,根据环境选择版本下载 安装时记得勾选添加到环境变量,不要还要手动添加 Anaconda Navigator可视化界面,可以方便地调用Jupyter等工具. ...
- JAVA程序设计的第一次作业
这是我第一次接触博客,刚开始用博客很生疏,感觉很麻烦,但是后来慢慢从老师那里了解到了许多博客可以带给我们的便利.通过博客,我们不仅可以记录自己从刚开始进入程序学习的懵懵懂懂到后来想要学,想深究,想探讨 ...