oracle的基本概念,oracle的基本概念
SQL语句:
1、数据查询语句 SELECT
2、数据定义语句 DDL 定义表、视图、索引
3、数据操纵语句 DML INSERT、UPDATE、DELETE
4、数据控制语句 DCL
基本的数据类型:
number(p,s) --> p个数字,s是p中小数点后的数字位数
smallint --> 表示16位的整数
integer --> 32位的整数
varchar(n) --> 可变长度的字符串,最长为n
char(n) --> 固定长度为n的字符串
一、基本查询语句
1)DESC 表名 --> 查看表的关键字、类型
2)dual是虚表 --> 只有一个字段X,是空表
3)SELECT 字段名(原) 字段名(改) FORM表名 --> 修改字段名称
如果修改后的字段名称里有空格,那么整个修改后的名称用双引号括起来,不仅是空格,中文等特殊字符也要用双引号,用双引号的字段名不会变成大写
注意:字段里的空值与0是不同的概念,任何含有空值的表达式与其他表达式运算后其结果还是空值
4)distinct
SELECT DISTINCT 字段 FORM 表名 --> 把字段中值不重复的列出来
SELECT DISTINCT 字段1,字段2 FORM 表名 --> 把两个字段组合中不重复的列出来
5)条件表达式
WHERE sal IN <800, 1000, 1500>
BETWEEN 800 AND 1500(包括两个界限)
IS (NOT) NULL
WHERE birthday > '20-2月-1988' (对日期的处理) 后面的字符串要和日期的格式相同
WHERE name LIKE + "."一个字母, "*"0个或多个字母 "?"0个或一个
"+"一个或多个 "%"0个或多个 "_"一个字母
二、单行函数(只要有一条数据就产生一个输出)
nvl(i,j) 专门用来处理空值,当i为空值时就把他的只当成j的值
三、聚合函数(组函数)
min()、max()、
avg() 只能对数值型的字段使用
sum()、count()
count(*)就是求这个表里有多少记录
注意:聚合函数不能用在WHERE子句中
在使用聚合函数是一定小心,如果在SELECT查询语句的条件表达式中出现聚合函数时不要用WHERE语句,要使用HAVING条件句
四、逻辑运算符
NOT > AND > OR
DDL
1、创建一个表
CREATE TABLE 表名(列名1 列约束,列名2 列约束)
列约束:NOTNULL , UNIQUE
注意:1)把较小的不为空的字段放在前面,可能为空的字段放在后面
2)创建表时可以使用中文的字段名,但最好使用英文字段名
3)创建表时加上默认值,如DEFAULT SYSDATE
4)可以给字段加上约束条件
2、删除语句 DROP
可以删除表、索引
3、修改语句 ALTER
1)在表的后面添加一个字段
ALTER TABLE 表名 ADD 列名 类型; 或 ALTER TABLE 表名 ADD (列名1 类型1[,列名2 类型2 ...]);
2)设置一个主键
ALTER TABLE 表名 ADD PRIARY KEY (列名);
3)删除一个主键
ALTER TABLE 表名 DROP PRIMARY KEY(列名);
4)修改表的名称
RENAME 旧表名 TO 新表名
5)改变表里字段的定义描述
ALTER TABLE 表名 MODIFY 字段描述;
6)给表里的字段加上唯一约束
ALTER TABLE 表名 ADD CONSTRAINT cons_name UNIQUE(列名);
cons_name 是给约束起的名称
-->ALTER TABLE ABC ADD CONSTRAINT ONLY UNIQUE(A1);
4、数据删除语句 TRUNCATE
TRUNCATE TABLE 表名;
(只删除表的记录,而不删除表的结构)
DML(数据操纵语句)
1、INSERT:
在插入日期的时候,可以直接使用字符串,内部直接转换成日期格式。默认格式是‘D-M-YY’、
TO_DATE('2008-09-09','YYYY-MM-DD')按照指定的格式显示
INSERT INTO 表名(字段列表) SELECT (字段名列表) FORM 表名;
2、UPDATE:
UPDATE table_name SET column1 = 'XXX' WHERE conditions;
UPDATE table_name SET(col1,col2..) = (SELECT ...) WHERE ..
3、DELETE:
DELETE [FROM] 表名 WHERE 条件;
4、事务处理语句
1) 显示提交 COMMIT;
2)隐式提交 DDL(CREATE DROP ALTER TRUNCATE GRANT REVOKE) 她们都不用再提交
3) 自动提交 SET AUTOCOMMIT ON;
事务回滚语句 ROLLBACK
触发器:
CREATE [OR REPLACE] TRIGGER
ON 表名
[FOR EACH ROW]
PL/SQL
触发事件:DML:INSERT UPDATE DELETE
触发条件:条件为true
触发器动作:PL\SQL
posted on 2008-11-24 09:38 懒虫 阅读(191) 评论(0) 编辑 收藏 所属分类: Oracle
oracle的基本概念,oracle的基本概念相关推荐
- oracle流复制实现,Oracle流复制技术的基本概念、工作流程及其容灾备份
龙源期刊网 http://www.doczj.com/doc/9e45114b3186bceb18e8bb1b.html Oracle流复制技术的基本概念.工作流程及其容灾备份 作者:周军 来源:&l ...
- oracle元数据存储在表空间,oracle db中数据和元数据的概念
本帖最后由 warehouse 于 2014-8-10 11:58 编辑 02年研究dw相关的产品和业务时第一次听说了元数据的概念,很多资料上是这样描述元数据的概念的:元数据是定义或者描述数据的数据. ...
- oracle asm 概念,ORACLE之ASM概念
五. 目录及目录文件管理 5.1 创建目录 SQL> alter diskgroup ASMGROUP1 add directory '+ASMGROUP1/WWL1'; Diskgrou ...
- oracle中维表 的概念,Oracle 数据库 10g 的 OLAP 选 件的新增功能与性能优势
请注意,Oracle9i 数据库第 2 版的情况是部分聚合,而 Oracle 数据库10g 第 1 版的情况是完全聚合.完全聚合多维数据集将产生更好的查询性能. 正如预期的那样,多维数据集的大小也因多 ...
- oracle rac步骤概述,Oracle RAC 基本概念及入门
1.什么是cluster 一个cluster是由两个或是多个独立的.通过网络连接的servers组成的.几个硬件供应商多年以来提供了Cluster性能的各种需求.一些 Clusters仅仅为了提供高可 ...
- oracle rman备份时间,Oracle使用RMAN进行备份详述
备份理论和基本语法 备份概念 执行备份或还原的数据库称为目标.在一些环境下,有许多数据库,因此有许多RMAN目标.应一次连接每个数据库.目标的每个备份都有一些属性: 打开或关闭 完整或部分 完整或增量 ...
- oracle proc 定义宿主,oracle proc 编程基础及最小化案例
oracle proc 编程是在我的概念中是非常陌生的,学习了一天下来发现这东西真的好古老,但是依然健壮.稳定,其中间是编辑一个 .pc 的文件使用 proc 进行预处理,预处理后生成一个真正的.c文 ...
- oracle电子商务套件视频,Oracle电子商务套件培训 Oracle EBS R12 制造模块培训视频教程 Oracle管理套件教程...
Oracle电子商务套件培训 Oracle EBS R12 制造模块培训视频教程 Oracle管理套件教程│ ├<01> │ │ ├00_ERP基本原理-概念补充.pdf │ │ ...
- 利用oracle执行系统命令,利用oracle存储过程执行操作系统命令(转)
以下方法在WINNT,LINUX下的oracle9i上测试通过,java过程调用系统命令 首先给使用java存储过程的用户授予一定的权限 <>表示所有文件,也可以单独指定文件. r w e ...
- oracle安装出现getproces,oracle安装问题
一.引入问题 帮朋友在CentOS上安装一个10g的Oracle,结果朋友的CentOS版本是6.2的版本,最新的一个版本,不过Linux上基本都差不多,所以按照以前的步骤,迅速的操作起来,结果遇到N ...
最新文章
- 第三次组队赛 (DFSBFS)
- 截取中文字符长度(中文、字母都有效)
- android新拟态实现方法,Android 新拟态UI (Neumorphism)
- k上升段,对于排列问题的处理
- 不是有效的函数或过程名_什么是函数?
- 整理了10个行业的30份可视化大屏模板,可直接拿走套用
- Linux下使用awk批量删除共享内存
- Python让繁琐工作自动化——chapter14 处理CSV和JSON数据
- 我们聊聊快排吧...
- C++判断一个数是否为素数
- 安信可 Telink_825x 环境搭建
- linux更新war包操作步骤,关于Linux系统下基于Tomcat部署和升级war包的详细过程
- android开发中即时聊天软件中时间的获得
- python16进制表示0xad_在 Python 中 0xad 是合法的十六进制数字表示形式。 (2.0分)_学小易找答案...
- 基于大数据的线上线下电商用户数据挖掘研究
- Linux搭建MQTT服务器(mosquitto)并使用
- Java里面的同步和异步
- Tomcat报ClassFormatException: Invalid byte tag in constant pool: 19解决方法
- HTML/CSS IE6、7兼容性问题、bug总汇
- anaconda安装NLTK详细说明
热门文章
- 大学计算机课程第六章答案,大学计算机网络课程第六章.ppt
- linux jar和zip,Linux命令———zip和jar文件压缩解压
- matlab程序转java_用面向对象的方法将一段JAVA代码转化为matlab
- 灰色关联法 —— python
- python基础入门(3)之字符串
- 【OpenCV 例程 200篇】98. 统计排序滤波器
- android中svn插件安装,AndroidSDK安装SVN插件问题解决
- linux mplayer_移植mplayer播放器到EK200开发板的步骤浅析
- win10 make命令的安装
- python将Unix时间戳转换成时间