每个RDBMS都基于标准sql走出了属于自己的sql特色。oracle也不例外。现起,我们来学习oracle sql。
学习sql,于开发者,实现优秀的业务逻辑;于管理者,完成数据库的调优。
oracle sql可分:
a)select
b)DML:update,insert,delete,merge
c)DDL:create,alter,drop
d)DCL:grant,revoke
e)TCL:commit,roolback,savepoint
oracle 数据类型共有:
1)整数类型
oracle中没有专门的整数类型,因此,需要使用number(10)来表示整形。
2)数值类型
number(m,n)
m:所有有效数字的位数
n:小数点后的位数
3)字符类型
char(m):定长
varchar2(m):变长,max为m
4)日期时间类型
date:日期时间数据
timestamp:时间戳(是具有法律效益的电子凭证)
5)二进制类型
blob:保存视频,图片等
在写sql语句时,建议分行来写,因为RDBMS是根据行号来提示错误信息的。而且,也可以提高可读性。在使用主键时,最佳实践是使用逻辑主键而不是业务主键。所以,避免使用联合主键,因为,联合主键基本都是有业务含义的。而且,联合主键也不适合创建外键约束。
外键是关系型数据库的第三维。定义:foreign key (字段名) references 目标表名 (被参照的字段名)。复杂的业务便是通过外键约束来实现的。
修改已有数据表
增加字段:alter table table_name add 字段名 字段类型;
删除字段:alter table table_name drop 字段名;
如果在表之间存在外键关联,对被引用表执行drop table table_name时会报错。必须先删除引用表!
对于一些受限操作,我们可采取新建表来变通我们想要的功能。
上面谈的都是对表的操作。接下来,我们来聊聊对数据的操作。
使用外键约束,所插入的数据必须在被引用表中存在。更新表,set后可多列同时更新,用逗号分隔。加上where子句可过滤所需的行。
delete from table_name where ...,是吃光碗里的饭;drop table...则是吃光碗里的饭还将碗给砸了。
oracle很少涉及到双引号。列别名,就是其中一例。通过双引号,我们可以控制列名的输出格式。
NULL几乎不占存储。如果在null和0选,建议存储null,而非0.
对于_或%打头的字段,模糊查询时须转义。如:
like '\%%' escape '\'
like '\_%' escape '\'
聚合函数count使用上的小区别。如:
count(*):统计结果集的总条数
count(name):统计结果集中name不为null的记录的总条数
对于order by的多个排序规则,order by首先按照第一个排序规则进行排序,如果第一个排序规则无法区分两条记录的顺序,则按照第二个排序规则进行排序,如果第二个排序规则无法区分两条记录的顺序,则按照第三个排序规则进行排序,以此类推。
分享到:
相关推荐
通过本篇的学习,必须掌握ORACLE SQL的使用。如同一个文员必须掌握office的使用一样。 SQL,结构化查询语言,是用于访问关系型数据库的语言,它提供一系列的表达式用于从关系数据库中存储、更新、删除、取得数据。...
Oracle数据库培训SQL基础篇PPT课件.pptx
Oracle数据库培训SQL基础篇PPT学习教案.pptx
本培训资料是SQL基础知识篇的姊妹篇,通过事例让大家更好地掌握oracle数据库的理论知识,本篇不仅仅是知识的学习,更注重教会大家如何学习。
│ ORACLE学习笔记(二)SQLPLUS基础 - lvhuiqing的专栏 - CSDN博客.mht.lnk │ oracle技巧.txt │ ORACLE的索引和约束详解 - Oracle10g - 沪城篱笆.mht │ oracle里常用命令 - Oracle - 51CTO技术论坛_中国领先的IT...
python 零基础学习篇-MSSQL、MySQL、Oracle 三大主流数据库快速上手第八章1-7.mp3
python 零基础学习篇-MSSQL、MySQL、Oracle 三大主流数据库快速上手第一章.mp3
python 零基础学习篇-MSSQL、MySQL、Oracle 三大主流数据库快速上手第十一章1-7.mp3
本篇主要介绍 Oracle SQL 运行环境及 SQL 语法相关内容。通过本篇的学习,掌握 ORACLE SQL 的基本使用。 其中 to_date/to_char 等常用函数介绍比较多
python 零基础学习篇-MSSQL、MySQL、Oracle 三大主流数据库快速上手第六章.mp3
python 零基础学习篇-MSSQL、MySQL、Oracle 三大主流数据库快速上手第二章5.mp3
python 零基础学习篇-MSSQL、MySQL、Oracle 三大主流数据库快速上手第十五章.mp3
python 零基础学习篇-MSSQL、MySQL、Oracle 三大主流数据库快速上手第十二章.mp3
HandoutsMySQL和Oracle系统学习一. 开篇立意(~~~~必看,有说明~~~~)二. Oracle 篇数据库存在之意义基础概念(必须看,后面不会说明!!!)Oracle管理系统的介绍账户操作三. SQL语言二维表的创建约束example外键约束删除...
python 零基础学习篇-MSSQL、MySQL、Oracle 三大主流数据库快速上手第二章1-4.mp3
python 零基础学习篇-MSSQL、MySQL、Oracle 三大主流数据库快速上手第七章1-4.mp3
python 零基础学习篇-MSSQL、MySQL、Oracle 三大主流数据库快速上手第九章1-7.mp3
python 零基础学习篇-MSSQL、MySQL、Oracle 三大主流数据库快速上手第十四章1-3.mp3
python 零基础学习篇-MSSQL、MySQL、Oracle 三大主流数据库快速上手第十三章6-8.mp3
python 零基础学习篇-MSSQL、MySQL、Oracle 三大主流数据库快速上手第十六章1-2.mp3