Oracle

一.简单查询

1.数据类型

Char:字符型,最大长度2000,定长,位数不足时用空格填充

Varchar2:字符型,最大长度4000,变长,长度根据实际存储值而定

Long:存储较长的字符串,长度为2G

Number(x,y):可以存浮点型和整型,x代表多少位数,y代表小数位位数

Date:日期类型,默认格式:dd-mm-yy(天、月、年)

Clob:存储较大的文本,如非结构化的XML文档,最大为4G

Blob:存储二进制对象,如视频、音频、图片等

2.创建表

CREATE TABLE 表名(

        列名1    数据类型    是否为空,

        列名2   数据类型    是否为空,

        列名3   数据类型    是否为空

CREATE TABLE 表名(        

        列名1    数据类型    是否为空,

         列名2   数据类型    是否为空,

          列名3   数据类型    是否为空         

) ADD COMSTRAINT 约束名 约束内容

3.查询表

SELECT * FROM 表名 WHERE 查询条件 ORDER BY 分组条件 

4.插入表

INSERT INTO 表名() VALUES()

5.删除表

DELETE 表名 WHERE 删除条件

6.更新表

UPDATE 表名 SET 字段名=值 WHERE 更新条件

二.Oracle常用函数

1.数字函数

round(n , [m]):四舍五入运算

trunc(n , [m]):保留小数位数

mod(n , m):返回两个数字相除后的余数

floor(n):返回小于等于n的最大整数

ceil(n):返回大于等于n的最小整数

abs(n):返回n的绝对值

acos(n)    asin(n)    stan(n)    三角函数

exp(n):返回e的n次幂

long(m , n):返回绝对数,返回m的n次幂

power(m , n):返回m的n次幂

2.字符函数

lower(char):将字符串转换为小写

upper(char):将字符串转换为大写

substr(char):截取字符串

length(char , m , n):获取字符串的长度

instr(cahr1 , cahr2 ,[n [,m]]) :用于查找其在字符串中出现的位置

initcap(char):将字符串中所有的单词的首字符均大写,并用空格隔开

3.日期和时间函数

sysdate:返回当前系统时间

last_day(d):返回特定日期所在月份的最后一天

extract:从日期时间值中获取特定的值

4.转换函数

to_char(character):用于将ncahr、nvarchar等数据类型转换成数据库字符集数据

to_char(date , fmt):将日期根据指定格式转换为字符串

to_date(cahr , fmt):将指定字符串根据指定格式转换为日期时间数据

5.聚合函数

avg():计算平均值

count():计算个数

sum():计算和

max():取最大值

min():取最小值

三.多表查询

1.多表查询

//相等连接 使用相等符号指定连接条件的查询,主要用于检索主从表之间的相关数据

select ya.YWY , yc.Y_yy from yang ya , Y_CJ yc where ya.YWY_ID = yc.Y_ID;


//不等连接 连接条件中使用想等之外的其他比较符的连接查询,并且不等连接主要用于在不同表之间显示特定范围的信息。


//自连接 指的是同一张表之间的连接查询,主要用在自参表上显示上下级关系或层次关系。

//自参表指的是不同列之间具有参照表关系或从表关系的表


//内连接inner join

select * from a inner join b on a.id=b.id

//外连接    左外连接left join    右外连接right join    全外连接full join

select * from a left join b on a.id=b.id     //左外连接 

select * from a right join b on a.id=b.id     //右外连接 

select * from a full join b on a.id=b.id     //全外连接 

2.子查询

子查询的定义:指嵌入在其他SQL语句中的select语句,也叫做嵌套语句。

子查询的作用:在insert语句中使用子查询,可以将源表中的数据插入到目标表中;在update中使用子查询可以修改一列或多列的值;在where和having中使用子查询,可以提供查询条件。在DDL语句中使用子查询的时候,可以使用order by子句,在where子句、set子句中使用子查询的时候,不能用order by子句。

2.1.单行子查询

//单行子查询只返回一行数据,所以可以使用< > = >= <= <>

select * from a where a.id = (select b.id from b where b.name="张三");

2.2.多行子查询

//多行子查询返回多行数据,所以必须使用多行比较符in all any

//all和any不能单独使用,必须和单独比较符(< > <= >= <> =)搭配使用    

select * from emp where sal IN (select sal from emp where deptno=30)

select * from emp where sal>ANY (select sal from emp where deptno=30)

select * from emp where sal>ALL (select sal from emp where deptno=30)

四.集合操作

1.union并集运算

union操作符用于获取两个结果集的并集,它会自动过滤掉重复的数据行,并按照结果集的第一行进行排序。

select id,name from a union select id,name from b;

2.intersect交集运算

intersect操作符用于获取两个集合的交集,使用它的时候,只会显示两个结果集中同时存在的数据,并会按照第一列进行排序。

select id,name from a intersect select id,name from b;

3.minus差集运算

minus操作符用于获取两个集合中差集,显示的时候只显示在第一个集合中存在、在第二个集合中不存在的数据,并且会按照第一列进行排序。

select id,name from a  minus select id,name from b;

五.DDL语言

数据定义(Data Definition Language)命令是create、alter、drop,用于建立、修改、删除数据库对象。

create table 表名(

    字段名    字段类型    字段约束,

     字段名    字段类型    字段约束


alter  table 表名 add (字段名 字段类型);


drop table 表名;

六.DML语言

数据操纵(Data Manipulation Language)命令是insert、updata、delete,用于修改数据库数据。

insert into 表名(字段名) values(值);

updata 表名 set 字段名=值 where 修改条件;

delete 表名 where 删除条件;

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,544评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,430评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,764评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,193评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,216评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,182评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,063评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,917评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,329评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,543评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,722评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,425评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,019评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,671评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,825评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,729评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,614评论 2 353

推荐阅读更多精彩内容