DDL(Oracle)
DDL 数据定义 建表 建视图 建其他
drop
create table t (a varchar2 (10));可变字符串最大为10
transaction
-----------事务回退语句--------
• rollback; 所有语句都回退
• -----------事务确认语句--------
• commit;//此时再执行rollback无效
事务(Transaction)一系列操作要么同时完成 要么不完成
updata insert等也算事务事务起始于第一条语句
执行/碰到 DDL DCL(授权) 语句事务自动提交
当正常断开连接的时候例如exit,事务自动提交。 当非正常断开连接,例如直接关闭dos窗口或关机,事务回滚
char 定长字符串 输入多少都占固定长度 (效率问题,定长效率高<如:数组>)
Number (8,3) 数字8位 小数3 位
Date 日期时间
Long 变长字符串 最长2G
Varchar2 最多4k 4096字节
五个约束条件: 非空 唯一 主键 外键 check
约束条件: 在数据库中算是一个对象
非空: not null
唯一: unique 不能重复, 可以随意插空值,两个空值不算重复
constraint stu_name_email_uni unique(email, name) (组合约束)
主键: primary key 可以唯一标识整条记录,(语法上:唯一非空的组合)
逻辑,代表单独的每条不同记录,(现实的逻辑)(也可以组合约束)
constraint stu_id_pk primary key (id),
外键: 建立在一张表的两个字段,两个表的两个字段
被参考字段必须是主键 有子记录不能删(有关联字段)
• --------------外键约束 被参考字段必须是主键 -------------
constraint stu_class_fk foreign key (class)references class(id)
修改表结构
• ---------------修改表结构,添加字段------------------
• alter table stu add(addr varchar2(29));
• ---------------删除字段--------------------------
• alter table stu drop (addr);
• ---------------修改表字段的长度------------------
• alter table stu modify(修改) (addr varchar2(50));
//更改后的长度必须要能容纳原先的数据精度
• ----------------删除约束条件----------------
• alter table stu drop constraint 约束名
• -----------修改表结构添加约束条件---------------
• alter table stu add constraint stu_class_fk foreign key(class) references class (id);
数据字典表
Desc user_tables; 当前用户下有多少张表
• desc dictionary;
• //数据字典表共有两个字段 table_name comments
• //table_name主要存放数据字典表的名字
• //comments主要是对这张数据字典表的描述
---查看当前用户下面所有的表、视图、约束-----数据字典表user_tables---
• select table_name from user_tables;
• select view_name from user_views;
• select constraint_name fromu ser_constraints;
索引
-------------索引------------------
• create index idx_stu_email on stu(email);
// 在stu这张表的email字段上建立一个索引:idx_stu_email
create index idx_stu_email on stu(email,class);
两个字段组合建索引
---------- 删除索引 ------------------
• drop index idx_stu_email;
---------查看所有的索引----------------
• select index_name from user_indexes;
加主键 或唯一约束 自动加索引
索引-读取效率高,插入效率低,访问量大,不轻易建立索引,索引 占据大量空间
视图
-----------创建视图-------------------
视图 是一个子查询
• create view v$stu as selesct id,name,agefrom stu;
• 视图的作用: 简化查询 保护我们的一些私有数据,通过视图也可以用来更新数据,但是我们一般不这么用缺点:要对视图进行维护(改表结构时,需更新)
创建序列
产生一个唯一的不间断的数字序列 ,一般做主键 一般一个表对应一个
• create sequence seq;//创建序列
• select seq.nextval from dual;// 查看seq序列的下一个值
• drop sequence seq;//删除序列
insert into article values(seq.nextval,'a','b');
DDL(Oracle)的更多相关文章
- oracle 12c 新特性之(相同字段上的多重索引、ddl 日志、限制PGA的大小、分页查询)
1. 相同字段上的多重索引 在Oracle 12c R1之前,一个字段是无法以任何形式拥有多个索引的.或许有人会想知道为什么通常一个字段需要有多重索引,事实上需要多重索引的字段或字段集合是很多的. ...
- 锁(lock)和闩(latch)
开发多用户.数据库驱动的应用时,最大的难点之一是:一方面要力争取得最大限度的并发访问,与此同时还要确保每个用户能以一致的方式读取和修改数据.为此就有了锁定(locking)机制,这也是所有数据库都具有 ...
- Report_Report Builder的一些基本概念(概念)
2014-05-31 Created By BaoXinjian
- Oracle获取干净的建表DDL语句,不含其它存储、表空间、段属性
早上一个同事资讯怎么获取到建表语句而且是不带存储那种SQL.Oracle自己提供了一个函数DBMS_METADATA.GET_DDL,但是获取到的建表语句含有存储.表空间.以及一些其他段的属性.如图: ...
- oracle使用dbms_metadata包取得所有对象DDL语句
当我们想要查看某个表或者是表空间的DDL的时候,可以利用dbms_metadata.get_ddl这个包来查看. dbms_metadata包中的get_ddl函数详细参数 GET_DDL函数返回创建 ...
- oracle中DDL DML指什么?
DDL create table 创建表 alter table 修改表 drop table 删除表 truncate table 删除表中所有行 create index 创建索引 drop in ...
- Oracle的DDL、DML、DCL
DDL (Data Definition Language 数据定义语言) create table 创建表 alter table 修改表 drop table 删除表 truncate table ...
- Oracle DBLINK 抽数以及DDL、DML操作
DB : 11.2.0.3.0 原库实例orcl:SQL> select instance_name from v$instance; INSTANCE_NAME--------------- ...
- Oracle language types(语言种类) 表的相关操作 DDL数据定义语言
数据定义语言 Data Definition Language Statements(DDL)数据操纵语言 Data Manipulation Language(DML) Statements事务控制 ...
随机推荐
- jquery操作html data-* 属性的坑
- nginx基于域名的虚拟主机 反向代理配置实例
vi /etc/nginx/conf.d/safeadmin.xxx.com.conf: server { listen 80; server_name safeadmin.xxxx.com; loc ...
- java.sql.SQLException: Io 异常: Connection reset
当数据库连接池中的连接被创建而长时间不使用的情况下,该连接会自动回收并失效,但客户端并不知道,在进行数据库操作时仍然使用的是无效的数据库连接,这样,就导致客户端程序报“ java.sql.SQLExc ...
- final,static
如果输入参数在方法体执行过程中,强制不能被修改,那么参数类型前加final比较安全. final修饰的函数会被编译器优化,优化意味着编译器可能将该方法用内联(inline)方式载入.final修饰变量 ...
- CSS控制checkbox样式
原文地址:http://www.xiumu.org/technology/style-checkboxes-with-css.shtml#comments Checkbox复选框是一个可能每一个网站都 ...
- C语言每日一题之No.8
正式面对自己第二天,突然一种强烈的要放弃的冲动,在害怕什么?害怕很难赶上步伐?害怕这样坚持到底是对还是错?估计是今天那个来了,所以身体激素有变化导致情绪起伏比较大比较神经质吧(☆_☆)~矮油,女人每个 ...
- 黄聪:PHP 免费获取手机号码归属地(转)
一.淘宝网API API地址: http://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=15850781443 参数: tel:手机号码 返回 ...
- 最简单的ioc容器代码(低仿Spring )
Spring 的一大核心就是IOC,控制反转(依赖注入). 对象交由容器去控制,降低耦合性. Spring 的ioc实现原理其实很简单,容器启动后读取并解析配置文件,根据配置文件中<bean&g ...
- UVa 10801 - Lift Hopping(dijkstra最短路)
根据题意,以每一层楼为顶点,每个电梯可以到达的两层楼之间的秒数为每一条边的权值,以此构建一个无向图.然后利用dijkstra求出最短的时间,注意每次换乘电梯需要等待60s(因为同一个电梯上的楼层是相互 ...
- 获取table的行数
对于可扩展行的表格,有时需要不断的添加新行.注意的是,在IDE中编写table的时候,我们常常忽略tbody标签: <table style="width: 100%;"&g ...