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事务控制 ...
随机推荐
- commonJS规范基本机构
commonJS规范:使用 module.exports 和 require ,基本结构如下: // foo.js 输出模块 module.exports = function(x) { consol ...
- 目录操作工具类 CopyDir.java
package com.util; import java.io.*; /** * 1,建立目的目录. 2,遍历源目录. 3,遍历过程中,创建文件或者文件夹. 原理:其实就是改变了源文件或者目录的目录 ...
- SQL SERVER 复制相关存储过程
适用于所有类型复制的过程 过程 说明 sp_addscriptexec 向发布的所有订阅服务器发布 Microsoft SQL Server 脚本(.sql 文件). sp_adjustpublish ...
- 【python】sys.argv[]的用法
在学python的过程中,一直弄不明白sys.argv[]的意思,虽知道是表示命令行参数,但还是有些稀里糊涂的感觉. 今天又好好学习了一把,总算是大彻大悟了. Sys.argv[]是用来获取命令行参数 ...
- SSH登录很慢问题的解决
用ssh连其他linux机器,会等待10-30秒才有提示输入密码.严重影响工作效率.登录很慢,登录上去后速度正常,这种情况主要有两种可能的原因: 1. DNS反向解析的问题 OpenSSH在用户登录的 ...
- Akka(一) - akka的wordcount
1. 启动类 object Application extends App{ val _system = ActorSystem("HelloAkka") //构建akka容器 v ...
- Excel 操作类
转载:http://www.cnblogs.com/fellowcheng/archive/2010/08/21/1805158.html ExcelHelper(Excel2007) Code hi ...
- python(12)给文件读写上锁
目的:当我们用脚本去爬取数据或者向文件中写数据的时候,有时候需要两个或者多个脚本同时向一个文件中读写 于是乎就会出现写乱的情况,于是乎我们就需要把正在写的文件先锁起来,只让当前的写,写完后再释放 代码 ...
- 给Mac下的iTerm2增加配色
iterm2就不说了,Mac下非常好用的终端,这里就先谈谈如何给其增加配色,效果如下图 可以来这下载theme : http://iterm2colorschemes.com/ 1.先编辑你的prof ...
- JS定时执行,循环执行
从http://www.jb51.net/article/23863.htm 转载 Document自带的方法: 循环执行:var timeid = window.setInterval(“方法名或 ...