oracle虑重语句,db基本语句(oracle)

一. SQL分类

DDL:数据定义语言(Data Definition Language)

DML:数据操纵语言(Data Manipulation Language)

TCL:事务控制语言(Transaction Control Language)

DQL:数据查询语言(Data Query Language)

DCL:数据控制语言(Data Control Language)

1. DDL

用于建立,修改,删除数据库对象

CREAE:创建表或其它对象结构

ALTER:修改表或其它对象的结构

DROP:删除表或其它对象的结构

TRUNCATE:删除表数据,保留表结构

2. DML

INSERT:将数据插入数据表中

UPDATE:更新数据表中已经存在的数据

DELETE:删除数据库表中的数据

3. TCL

COMMIT:提交,确认已经进行的数据改变

ROLLBACK:回滚,取消已经进行的数据改变

SAVEPOINT:保存点,使当前的事务可以回退到指定的保存点,便于取消部分改变

4. DQL

SELECT

5. DCL

GRANT:授予,用于给用户或角色授予权限

REVOKE:用于收回用户或角色已有的权限

CREATE USER:创建用户

二. ORACLE基本类型

1. NUMBER(数字类型)

NUMBER(P,S):P表示数字总位数;S表示小数点后面的位数

2. CHAR(固定长度字符类型)

CHAR(N):N表示占用的字节数,最大长度是2000字节

无论给定的值是多长的字节都会占用N个字节。

3. VARCHAR2(变长的字符类型)

VARCHAR(N):N表示最多可占用的字节数,最大长度是4000字节

给定的值是多长就占用多长的字节,但是不利于频繁改动的字符,因为需要重新计算原先后面的字符,性能较VCHAR差。

ORACLE中也有VARCHAR,和Mysql中的一样,其中VARCHAR和VARCHAR2一样,但是VARCHAR可能跟着大众的同意规则改变,而VARCHAR2永远不变,是变长的字符类型。

4. DATE(定义日期时间的数据)

长度:7个字节

默认格式:DD-MON-RR(eg:11-APR-71)

其中RR年份如下:当前时间(列)/系统时间(行)0–4950–99

0–49本世纪下世纪

50–99上世纪本世纪

三. 基本语法

1. 创建表CREATE TABLE table_name( id NUMBER(4));

2. 查看表结构DESC table_name

3. 创建表时对字段赋默认值DEFAULT

4. 非空(NOT NULL)条件约束,确保字段值不为空

5. 修改表名

RENAME old_name TO new_name;

6. 增加列

ALTER TABLE table_name ADD (column datatype[DEFAULT EXPR][column datatype...])

列只能增加在最后,不能插入到现有的列中(Mysql可以插入到指定列后面)

eg: 给表增加一列hiredata,并设置默认值为当前日期

ALTER TABLE myemp ADD (hiredate DATE DEFAULT sysdate);

7. 删除列

ALTER TABLE table_name DROP (column);

删除字段需要从每行中删掉该字段占据的长度和数据,并释放在数据块中占据的空间,如果纪录比较大,删除字段可能需要比较长的时间。

8. 修改列

ALTER TABLE table_name MODIFY (column datatype [DEFAULT expr][column datatype...])

建表之后可以改变表中列的数据类型,长度和默认值

修改只对以后插入的数据有效

若把长度由大改小则可能不成功

eg: MODIFY TABLE myemp MODIFY (job VARCHAR2(40) DEFAULT ‘CLERK’);

9. 插入数据

INSERT INTO table_name(column1, column2) VALUES(value1,value2);

执行了DML操作后,需要再执行commit语句,才算真正确认了此操作

如果插入的列有日期字段,需要考虑日期的格式。默认日期格式为'DD-MON-RR’,可以自定义日期格式,用TO_DATE函数转换为日期类型的数据

eg: INSERT INTO myemp (id, name, job, birth) VALUES(1002, ‘doma’, ‘MANAGER’, TO_DATE(‘2009-01-01, ‘YYYY-MM-DD''));

10. 更新操作

UPDATE table_name SET column = value WHERE id = 2;

11. 删除操作

DELETE FROM table_name = where id = 2;

在DDL语句中的TRUNCATE语句,同样有删除表数据的作用。

和DELETE语句区别:

— DELETE可以有条件删除,TRUNCATE将表数据全部删除

— DELETE是DML语句,可以退回,TRUNCATE是DDL语句,立即生效,无法回退

— 如果是删除全部表纪录,且数据量较大,DELETE语句效率比TRUNCATE语句低

事务控制:

COMMIT用于事务提交

ROLLBACK用于回滚事务。那么该次事务中的所有增删改操作全部失败。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/419634.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Plist文件和字典转模型

模型与字典 1. 用模型取代字典的好处 使用字典的坏处 编译器没有自动提醒的功能,需要手敲key如果写错了编译器也不会报错2. 模型概念 概念 专门用来存放数据的对象特点 一般继承自NSObject在.h文件中声明一些用来存放数据的属性注释 //单行注释/ /多行注释/* /文档注释,调用属性…

oracle job 与存储过程,应用oracle job和存储过程

每月新增数据百万多条,需要定期处理2个主要数据表(test_ad,test_pd),移动非当月数据到历史表中保存数据操作存储过程如下:MYPROC.prccreate or replace procedure MYPROC isTableName_AD char(13);TableName_PD char(13);tmp_str varchar2(10…

Oracle从小白到大牛的刷题之路(建议收藏学习)

目录 前言 数据表结构 数据库文件(按照顺序导入) 1基本SQL-SELECT 1.1基本SQL-SELECT语句笔记 1.2 基本SQL-SELECT语句练习 2过滤和排序数据 2.1过滤和排序数据笔记 2.2过滤和排序数据练习 3单行函数 3.1单行函数笔记 3.2单行函数练习 4多表…

oracle数据库快照打点,Oracle数据库快照的使用

Oracle数据库快照的使用正在看的ORACLE教程是:Oracle数据库快照的使用。oracle数据库的快照是一个表,它包含有对一个本地或远程数据库上一个或多个表或视图的查询的结果。正因为快照是一个主表的查询子集,使用快照可以加快数据的查询速度;在保持不同数据…

3.2 双向链表

1.简介 前面3.1的单链表在操作过程中有一个缺点,就是后面的节点无法直接找到前面的节点,这使很多操作都得从头到尾去搜寻节点,算法效率变得非常低,解决这个问题的方法就是重新定义链表的节点使每个节点有两个指针,一个…

uc通讯不成功php版本过高,Ucenter通信失败排查方法

定位错误来源:1. 使用firebug或类似于firebug的工具审查”通信失败“这几个字2. 会发现包含这几个字的div的同级下方有个script标签,复制该script标签的src值到浏览器的新标签页并打开3. 这个url指向的是ucenter中app模块的onping操作(ucenter/control/a…

马丁 福勒 Martin Fowler 关于依赖注入和反转控制的区别

马丁 福勒 Martin Fowler 关于依赖注入和反转控制的区别 http://martinfowler.com/articles/injection.html 中文翻译:http://files.cnblogs.com/files/stono/DependencyInjection.pdf 转载于:https://www.cnblogs.com/stono/p/4764551.html

oracle工作流错误,工作流错误处理 - Oracle® ZFS Storage Appliance 客户服务手册

工作流错误处理如果在执行工作流期间发生错误,则会引发异常。如果异常未由工作流自身所捕获(或者如果工作流引发的异常未以其他方式捕获),则工作流将失败,并向用户显示有关异常的信息。要正确处理错误,应该捕获并处理异常。例如&a…

敏捷软件开发:原则、模式与实践——第12章 ISP:接口隔离原则

第12章 ISP:接口隔离原则 不应该强迫客户程序依赖并未使用的方法。   这个原则用来处理“胖”接口所存在的缺点。如果类的接口不是内敛的,就表示该类具有“胖”接口。换句话说,类的“胖”接口可以分解成多组方法。每一组方法都服务于一组不…

pxe安装linux后命令不可用,pxe自动安装linux

配置自动安装操作系统1.网卡应支持pxe技术,由网卡作为dhcp的客户端向dhcp服务器请求一个IP地址,dhcp会将ip,网关等信息和的tftp服务器的地址应加载的文件名提供给客户端2.根据dhcp服务器提供的信息网卡上内置的tftp客户端向tftp服务器发出请求…

Java中常用的集合

有序列允许元素重复否Collection否是List是是SetAbstractSet否      否HashSetTreeSet是(用二叉树排序)MapAbstractMap否 使用key-value来映射和存储数据, Key必须惟一,value可以重复 HashMapTreeMap是(用二叉树…

linux文件系统的设计,基于Linux的文件系统设计.doc

PAGEPAGE 33无敌操作系统课程设计说 明 书?学 院、系:软件学院专 业:软件工程学 生 姓 名:学 号:设 计 题 目:基于Linux的模拟文件系统的设计与实现起 迄 日 期:指 导 教 师:?PAGEPAGE 33PAGE \* MERGEFORMATPAGE \*…

ASP.NET MVC必知必会知识点总结(二)

一、实现Controller的依赖注入: 1.自定义继承DefaultControllerFactory 类的控制器工厂类并重写GetControllerInstance方法;(如:InjectControllerFactory) 2.在Global.asax文件中的Application_Start方法中注册该控制器…

linux客户端无法绑定端口号,为什么Linux客户端的情况下不支持端口共用?

也不是不可以, 如果是socket的话只要设置端口复用就可以实现,随便写一段代码演示一下#/bin/pythonimport sysimport timeimport socketdef start_tcp_client(ip, port):#server port and ipserver_ip ipservr_port porttcp_client socket.socket(socket.AF_INET,…