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事务控制 ...
随机推荐
- 关于ExpandableListView用法的一个简单小例子
喜欢显示好友QQ那样的列表,可以展开,可以收起,在android中,以往用的比较多的是listview,虽然可以实现列表的展示,但在某些情况下,我们还是希望用到可以分组并实现收缩的列表,那就要用到an ...
- java通过ftp和sftp上传war包上传到Linux服务器实现自动重启tomcat的脚本代码
ar包自动上传Linux并且自动重启tomcat 用的是jdk1.7出的文件监控 支持ftp和sftp,支持多服务器负载等 配置好config 非maven项目导入直接使用 #\u76D1\u542C ...
- Sass用法指南_20151109笔记
写在前面的话:随着CSS文件越来越大,内容越来越复杂,对其进行很好的维护将变的很困难.这时CSS预处理器就能够帮上大忙了,它们往往拥有变量.嵌套.继承等许多CSS不具备的特性.有很多CSS预处理器,这 ...
- openstack(liberty): devstack中的iniset/iniget函数分析
这个ini开头的函数在devstack的启动配置中用的非常多,他主要负责.ini文件的配置,这个过程包括对相关ini文件的添加,注释,删除,获取信息,多行信息获取等. 这里主要说的iniset和ini ...
- Android 检测网络连接状态
Android连接网络的时候,并不是每次都能连接到网络,因此在程序启动中需要对网络的状态进行判断,如果没有网络则提醒用户进行设置. 首先,要判断网络状态,需要有相应的权限,下面为权限代码(Androi ...
- 【shell】read
read:read命令接收标准输入(键盘)的输入,或其他文件描述符的输入(后面在说).得到输入后,read命令将数据放入一个标准变量中. [参数][变量] 注意:变量要在参数的后面 主要参数: -t ...
- IsolatedStorageException for Silverlight Application
if you are using the IsolatedStorage for application configuration storage, and when you get the Iso ...
- Python基础教程【读书笔记】 - 2016/6/26
希望通过博客园持续的更新,分享和记录Python基础知识到高级应用的点点滴滴! 第一波:第6章 抽象 [总览] 介绍函数.参数parameter.作用于scope概念,以及递归概念. [6.1] 函 ...
- IntelliJ IDEA中怎么查看方法说明?
View→Quick Documentation 查看当前配置的快捷键(例如Ctrl + Q) 在光标所在的方法上按下快捷键就可以看到方法的说明 下图为在View菜单中查看当前配置的快捷键截图: 下图 ...
- WSUS目录本地迁移
生产环境中有一台win2003 server,安装了Microsoft Windows Server Update Services 3.0,作为所有windows server的内网补丁更新服务器, ...