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事务控制 ...
随机推荐
- [转]php和html混编的三种方式
php和html混编的三种方式 以下内容转自:http://blog.i1728.com/post/110.html 原文标题是:<PHP的(<<>,新标题是我加的,文章里的红 ...
- 异机恢复 RMAN-06023: no backup or copy of datafile 17 found to restore
前不久因工作需要使用RMAN异机恢复,很基础也很具有代表性和普遍性,希望对需要的人有所帮助. 具体过程如下: 先拷贝原库的口令文件和参数文件到备库. 然后使用如下脚本对原库进行备份: run { al ...
- Android ActionBarSherlock使用教程
Android ActionBarSherlock使用教程 本文转自 http://www.chenwg.com/android/actionbarsherlock%E4%BD%BF%E7%94%A8 ...
- 【jmter】JDBC进行mysql数据库测试
1.添加线程组 2.添加需要的驱动jar包 使用不同的数据库,我们需要引入不同的jar包. 方式1:直接将jar包复制到jmeter的lib目录 mysql数据库:无需引入其他数据库驱动jar包. s ...
- css布局实践心得总结
一.摘要: 今天在写一个页面,对css中的BFC(块级格式化范围)有了一点体会,今天把遇到的问题和解决方案总结下来,额外还总结一下强大的负外边距的使用心得. 二.总结:
- cowboy使用restful的例子
直接贴代码,一切尽在不言中 %% cowboy的restful的文档,一定要好好阅读http://ninenines.eu/docs/en/cowboy/HEAD/manual/cowboy_rest ...
- 为什么要用VisualSVN Server,而不用Subversion?
为什么要用VisualSVN Server,而不用Subversion? [SVN 服务器的选择] - 摘自网络 http://www.cnblogs.com/haoliansheng/archive ...
- Linux下diff打补丁方法
tar zxvf php-5.2.14.tar.gz gzip -cd php-5.2.14-fpm-0.5.14.diff.gz | patch -d php-5.2.14 -p1
- sql语句(mysql)
MySQL1.数据库数据类型 int 整型 double 浮点型 如double(5,2)最多5位,其中有两位小数 char:固定长度字符串,如char(255),数据长度不足会用空格补足 varch ...
- IGS_学习笔记03_Integrated SOA Gateway设定配置(案例)
20150506 Created By BaoXinjian