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)的更多相关文章

  1. oracle 12c 新特性之(相同字段上的多重索引、ddl 日志、限制PGA的大小、分页查询)

    1. 相同字段上的多重索引   在Oracle 12c R1之前,一个字段是无法以任何形式拥有多个索引的.或许有人会想知道为什么通常一个字段需要有多重索引,事实上需要多重索引的字段或字段集合是很多的. ...

  2. 锁(lock)和闩(latch)

    开发多用户.数据库驱动的应用时,最大的难点之一是:一方面要力争取得最大限度的并发访问,与此同时还要确保每个用户能以一致的方式读取和修改数据.为此就有了锁定(locking)机制,这也是所有数据库都具有 ...

  3. Report_Report Builder的一些基本概念(概念)

    2014-05-31 Created By BaoXinjian

  4. Oracle获取干净的建表DDL语句,不含其它存储、表空间、段属性

    早上一个同事资讯怎么获取到建表语句而且是不带存储那种SQL.Oracle自己提供了一个函数DBMS_METADATA.GET_DDL,但是获取到的建表语句含有存储.表空间.以及一些其他段的属性.如图: ...

  5. oracle使用dbms_metadata包取得所有对象DDL语句

    当我们想要查看某个表或者是表空间的DDL的时候,可以利用dbms_metadata.get_ddl这个包来查看. dbms_metadata包中的get_ddl函数详细参数 GET_DDL函数返回创建 ...

  6. oracle中DDL DML指什么?

    DDL create table 创建表 alter table 修改表 drop table 删除表 truncate table 删除表中所有行 create index 创建索引 drop in ...

  7. Oracle的DDL、DML、DCL

    DDL (Data Definition Language 数据定义语言) create table 创建表 alter table 修改表 drop table 删除表 truncate table ...

  8. Oracle DBLINK 抽数以及DDL、DML操作

    DB :  11.2.0.3.0 原库实例orcl:SQL> select instance_name from v$instance; INSTANCE_NAME--------------- ...

  9. Oracle language types(语言种类) 表的相关操作 DDL数据定义语言

    数据定义语言 Data Definition Language Statements(DDL)数据操纵语言 Data Manipulation Language(DML) Statements事务控制 ...

随机推荐

  1. react-redux知识点

    1.定义组件: 2.定义action: 3.定义Reducer:reducer1(state,action): 4.定义store:store(reducer1): 5.定义mapStateToPro ...

  2. scala函数定义的四种方式

    最近开始接触scala编程语言,觉得还是比较新的一个东西,虽然说和java比较像,是java的继承者,兼顾面向对象编程和函数式编程的优点,但是,终究是一个新的东西,还是要从最基本的学起.而这当中,函数 ...

  3. MS CRM 2011的自定义和开发(11)——插件(plugin)开发(二)

    http://www.cnblogs.com/StoneGarden/archive/2012/02/06/2339490.html MS CRM 2011的自定义和开发(11)——插件(plugin ...

  4. eclipse中tomcat发布失败(Could not delete May be locked by another process)原因及解决办法

    在eclipse中tomcat发布项目时,偶尔出现了以下情况: publishing to tomcat v7.0 services at localhost has encountered a pr ...

  5. SDC文件模版

    # 1. Define clock create_clock -name "clk_in" -period 20ns [get_ports {clk_in}] # 2. tco c ...

  6. android学习笔记14——GridView、ImageSwitcher

    GridView--网格视图.ImageSwitcher--图像切换器 ==> GridView,用于在界面上按行.列的分布形式显示多个组件:GridView和ListView父类相同——Abs ...

  7. erlang的shell历史记录

    erlang的shell默认重启以后木有历史记录,略蛋疼,开发的时候略不便 网上找了个方式 sudo apt-get install rlwrap vim ~/.bash_profile alias ...

  8. c#处理3种json数据的实例

    网络中数据传输经常是xml或者json,现在做的一个项目之前调其他系统接口都是返回的xml格式,刚刚遇到一个返回json格式数据的接口,通过例子由易到难总结一下处理过程,希望能帮到和我一样开始不会的朋 ...

  9. oracle imp导入数据到另一个表空间

    http://blog.163.com/darlingchenlin@126/blog/static/7156283420100531431855/ 1.在第一个数据库导出数据:qlyg_xs_db_ ...

  10. TCP程序设计

        在Java中使用Socket(套接字)完成TCP程序的开发,使用此类可以方便地建立可靠的.双向的.持续的.点对点的通信连接.     在Socket的程序开发中,服务器端使用ServerSoc ...