下面这些基本的SQL语句应该熟悉,能够灵活运用。最好在不查资料的情况下,能够写出如下的任何代码。

1. 数据表操作相关

--创建表
create table STUDENTS(
STUNO number(10) not null,
STUNAME varchar2(8),
SEX char(2),
AGE int,
DEPARTNO varchar2(2) not null,
CLASSNO varchar2(4) not null,
REGDATE date default sysdate
); --创建表二
create table STUDENTS_2
as select * from STUDENTS; --更改表结构(增加字段)
alter table STUDENTS add(PROVINCE varchar2(10)); --更改表结构(删除字段)
alter table STUDENTS drop column PROVINCE; --更改表结构(删除多字段)
alter table STUDENTS drop(SEX,AGE); --更改表结构(修改字段)
alter table STUDENTS modify DEPARTNO varchar2(4); --重命名表
alter table STUDENTS rename to STUDENTS_NEW; --删除表
--drop table table_name [cascase contraints][purge];
drop table STUDENTS_NEW cascade constraints; --闪回(如果删除的时候加purge参数,则闪回不了了 )
flashback table STUDENTS_NEW to before drop; --修改表的状态(只读)
alter table STUDENTS_NEW read only; --修改表的状态(读写)
alter table STUDENTS_NEW read write;

2. 约束相关

--约束的类型:非空结束、主键结束、唯一约束、外键约束、检查结束和默认约束。
create table BOOKS(
BOOKNO number(4) not null, --非空约束
BOOKNAME varchar2(20),
AUTHOR varchar2(10),
SALEPRICE number(9,2) check(SALEPRICE>0 and SALEPRICE<1000), --检查约束
PUBLISHERNO varchar2(4) not null, --非空约束
PUBLISHDATE date,
ISBN varchar2(20) not null, --非空约束
constraint PK_BOOKS primary key(BOOKNO) --主键约束
); --设置非空约束
alter table BOOKS modify BOOKNAME not null; --去除非空约束
alter table BOOKS modify BOOKNAME null; --去除主键约束
alter table BOOKS drop constraint PK_BOOKS; --设置主键约束
alter table BOOKS add constraint PK_BOOKS primary key(BOOKNO); --设置唯一约束
alter table BOOKS add constraint UQ_BOOKS unique(ISBN); --去除唯一约束
alter table BOOKS drop constraint UQ_BOOKS; --去除外键约束
alter table BBSDISTRICT drop constraint BBSDISTRICT_BBSPROVINCE_FK1; --设置外键约束
alter table BBSDISTRICT add constraint BBSDISTRICT_BBSPROVINCE_FK1
foreign key(PROVINCE_ID)
references BBSPROVINCE(PROVINCE_ID)
on delete set null;--no action/set null/cascade --设置外键约束,如果外键列与被引用表的被引用列列名相同,也可以如下方式定义
alter table BBSDISTRICT add constraint BBSDISTRICT_BBSPROVINCE_FK1
foreign key(PROVINCE_ID)
references BBSPROVINCE; --禁用约束
alter table BBSDISTRICT disable constraint BBSDISTRICT_BBSPROVINCE_FK1; --启用约束
--alter table table_name enable [novalidate|validate] constraint con_name;
--novalidate表示不对表中已经存在的数据进行验证;validate则表示需要对表中已有数据进行验证。
alter table BBSDISTRICT enable constraint BBSDISTRICT_BBSPROVINCE_FK1; --删除约束
--alter table table_name drop constraintcon_name;
alter table BBSDISTRICT drop constraint BBSDISTRICT_BBSPROVINCE_FK1;

3. 其它对象

--创建索引(B树索引,最常用的索引)
create index IX_BBSDETAIL_PRICE on BBSDETAIL(PRICE); --创建位图索引(性别、分类这些重复值非常多的情况下,本情况下一张大表只有7个分类)
create bitmap index IX_BITMAP_BBSDETAIL_CATEGORY on BBSDETAIL(CATEGORY_ID); --建立反向索引,略 --基于函数的索引(将数值字段转化为以十为单位,查询的时候也必须用此函数)
create index IX_BBSDETAIL_CONIS on BBSDETAIL(round(NUMBER_OF_COINS,-1)); --重建索引
alter index IX_BBSDETAIL_PRICE rebuild; --删除索引
drop index IX_BBSDETAIL_CONIS; --创建视图
--create [or replace] view <view_name> [alias[,alias]...]
--as <subquery>
--[with check option][constraint constraint_name]
--[with read only];
create or replace view VIEW_DETAIL
as select CATEGORY_NAME,TITLE,DISTRICT_NAME,ADDRESS from BBSDETAIL,BBSCATEGORY,BBSDISTRICT
where BBSDETAIL.CATEGORY_ID=BBSCATEGORY.CATEGORY_ID and BBSDETAIL.DISTRICT_ID=BBSDISTRICT.DISTRICT_ID
with read only; --查看视图定义
desc VIEW_DETAIL; --重新编译视图
alter view VIEW_DETAIL compile; --删除视图
drop view VIEW_DETAIL; --创建同义词对象(公有)
create public synonym PUBLIC_DETAIL for BBS.BBSDETAIL; --删除同义词对象
drop public synonym PUBLIC_DETAIL; --创建序列
create sequence SEQ_BBSDETAIL
maxvalue 99999
start with 10000
increment by 100
cache 50; --查看当前序列值
select SEQ_BBSDETAIL.currval from dual; --删除序列
drop sequence SEQ_BBSDETAIL;

Oracle学习笔记之六(DDL:表、索引、视图、同义词、序列操作相关SQL)的更多相关文章

  1. Oracle学习笔记1: 表与约束

    1. 登录SQL Plus: 系统用户有哪些: 1. sys,system权限比较高的用户: 2. sysman操作企业管理器使用的. 1.2 的密码是安装oracle是设置的. 3. scott用户 ...

  2. Oracle学习笔记_04_多表查询

    一.概念: 1.多表连接有以下几种分法: (1)内连接           vs          外连接 (左.右.满) (2)等值连接        vs         不等值连接 (3)非自连 ...

  3. Oracle 学习笔记 11 -- 视图 (VIEW)

    本次必须学习一个全新的概念-- 视图 (VIEW).在前面的笔记中曾提到过,数据对象包含:表.视图.序列.索引和同义词.前面的笔记都是对表的想剖析,那么本次笔记就对视图的世界进行深入的剖析. 视图是通 ...

  4. Oracle 学习笔记 12 -- 序列、索引、同义词

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/Topyuluo/article/details/24232449 数据库的对象包含:表.视图.序列. ...

  5. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  6. Oracle学习笔记—数据字典和常用命令(转载)

    转载自: oracle常用数据字典和SQL语句总结 Oracle常用命令大全(很有用,做笔记) 一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一 ...

  7. Oracle学习笔记之四,SQL语言入门

    1. SQL语言概述 1.1 SQL语言特点 集合性,SQL可以的高层的数据结构上进行工作,工作时不是单条地处理记录,而对数据进行成组的处理. 统一性,操作任务主要包括:查询数据:插入.修改和删除数据 ...

  8. Oracle打怪升级之路二【视图、序列、游标、索引、存储过程、触发器】

    前言 在之前 <Oracle打怪升级之路一>中我们主要介绍了Oracle的基础和Oracle常用查询及函数,这篇文章作为补充,主要介绍Oracle的对象,视图.序列.同义词.索引等,以及P ...

  9. oracle学习笔记第三天

    --DML(Data Manipulation Language)--insert关键字 插入 ---语法1.元祖值式插入(一次插入一条记录)---格式:insert into 表名(列名1,列名2. ...

随机推荐

  1. Windows 抓取本地环路包

    1.cmd,ipconfig查看自己的ip地址. 2.执行命令:route add 10.36.65.89 mask 255.255.255.255 10.36.65.1 metric 1,其中10. ...

  2. BZOJ 1264 AHOI2006 基因匹配Match 动态规划+树状数组

    题目大意:给定n个数和两个长度为n*5的序列,每一个数恰好出现5次,求两个序列的LCS n<=20000.序列长度就是10W.朴素的O(n^2)一定会超时 所以我们考虑LCS的一些性质 LCS的 ...

  3. IN 查询时出现ORA-01795:列表中的最大表达式数为1000解决方法

    问题描写叙述: SQL进行IN查询时出现:java.sql.SQLException: ORA-01795: 列表中的最大表达式数为 1000 解决的方法: 问题原因是:SQL进行IN查询时.IN中的 ...

  4. oracle client字符集设置 乱码问题

    程序员经常要连接数据库   下面 就说一下 oracle数据库 客户端与服务器端 字符集一致性的问题   这可以解决中文乱码,其他字符乱码问题   主要是指在sqlplus中,其他类似toad/pls ...

  5. 电脑PE系统工具

    自己收集的一些PE电脑维护工具 电脑店PE工具 http://u.diannaodian.com/ 通用PE工具箱 http://www.tongyongpe.com/ 大白菜PE工具 http:// ...

  6. Java从零开始学三十五(JAVA IO- 字节流)

    一.字节流 FileOutputStream是OutputStream 的直接子类 FileInputStream也是InputStream的直接子类 二.文本文件的读写 2.1.字节输入流 Test ...

  7. Centos6.6系统root用户密码恢复案例(转)

    原文:http://www.centoscn.com/CentOS/Intermediate/2015/0131/4604.html 通过单用户模式恢复root用户密码 重新启动主机后,在出现Grub ...

  8. Java总结:Java 流(Stream)、文件(File)和IO

    更新时间:2018-1-7 12:27:21 更多请查看在线文集:http://android.52fhy.com/java/index.html java.io 包几乎包含了所有操作输入.输出需要的 ...

  9. Codevs3008 加工生产调度

    题目大意:某工厂收到了n个产品的订单,这n个产品分别在A.B两个车间加工,而且必须先在A车间加工后才干够到B车间加工. 求如何安排这n个产品的加工顺序.才干使总的加工时间最短. 这里所说的加工时间是指 ...

  10. adb shell settings 控制安卓系统设置(转)

    Android4.2的源码android-17\com\android\commands目录下较之前的版本多了一个settings命令,查看其中的SettingsCmd.java文件,末尾有命令的帮助 ...