INDEX(索引)

  • 可以在表中创建索引,以便更加快速高效地查询数据。
  • 用户无法看到索引,它们只能被用来加速搜索/查询。

PS:更新一个包含索引的表需要比更新一个没有索引的表花费更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常被搜索的列(以及表)上面创建索引。

索引新增:

--在表上创建一个简单的索引。允许使用重复的值
CREATE INDEX 索引名
ON 表 (列) --在表上创建一个唯一的索引。不允许使用重复的值:唯一的索引意味着两个行不能拥有相同的索引值。
CREATE UNIQUE INDEX 索引名
ON 表 (列) --若希望索引不止一个列(联合索引),可以在括号中列出这些列的名称用逗号隔开
CREATE INDEX 索引名
ON 表 (列1, 列2) 索引查询: --查询某个表的索引
SELECT * FROM USER_INDEXES WHERE TABLE_NAME=UPPER('表名'); --根据“索引名”查询索引的字段
SELECT * FROM USER_IND_COLUMNS WHERE INDEX_NAME=('索引名'); --根据“索引名”查询创建的索引(PS:第一个参数INDEX是固定写法)
SELECT DBMS_METADATA.GET_DDL('INDEX','索引名') FROM DUAL ;

DROP(撤销/删除)

--删索引
DROP INDEX 索引名 --删表(表结构也删)
DROP TABLE 表
--删表(只删数据)
TRUNCATE TABLE 表 --删库(这个有点刺激哈,别乱整~)
DROP DATABASE 数据库名称

ALTER(增、删、改)

--增加一列
ALTER TABLE 表
ADD 列 数据类型 --删除一列
ALTER TABLE 表
DROP COLUMN 列 --改列的数据类型(Oracle 10G 以后的版本可以省略COLUMN关键字)
ALTER TABLE 表
MODIFY COLUMN 列 数据类型

AUTO INCREMENT(自增)

  • Auto increment 会在新记录插入表中时生成一个唯一的数字,可以利用这一特性自动生成主键序列号。
  • 在 Oracle 中,必须通过 sequence 对象(该对象生成数字序列)创建 auto-increment 字段。
--创建序列
CREATE SEQUENCE 序列名
MINVALUE 1--最小值
START WITH 1--1为起始
INCREMENT BY 1--以1为递增量
CACHE 10--缓存10个值 --调用nextval函数自增
INSERT INTO 表 (ID,列2,列3)
VALUES (序列名.nextval,值2,值3)

VIEWS(视图)

  • 视图是基于 SQL 语句的结果集的可视化的表。
  • 视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。
  • 可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,也可以呈现数据,就像这些数据来自于某个单一的表一样。

视图的作用:

  1. 视图隐藏了底层的表结构,简化了数据访问操作,客户端不再需要知道底层表的结构及其之间的关系。
  2. 视图提供了一个统一访问数据的接口。(即可以允许用户通过视图访问数据的安全机制,而不授予用户直接访问底层表的权限)
  3. 从而加强了安全性,使用户只能看到视图所显示的数据。
  4. 视图还可以被嵌套,一个视图中可以嵌套另一个视图。
--创建视图
CREATE VIEW 视图名称 AS 查询语句 --更新视图
CREATE OR REPLACE VIEW 视图名称 AS 查询语句 --撤销视图
DROP VIEW 视图名称

最新文章

  1. MYSQL命令行使用指南
  2. iOS 中的Push Notifications简单实现(APNS)
  3. 我的android学习经历26
  4. linux 认证方式
  5. Exchange之三合一部署
  6. Excel 窗体控件属性
  7. 关于网络连接方式的总结(HostOnly,NAT....)
  8. 关于ASP.NET MVC中的视图生成
  9. WordPress设置固定链接和邮件提醒遇到的问题
  10. C# 点击窗口任意位置拖动
  11. Zookeeper分享
  12. IM 融云 之 通讯能力库API
  13. 变量 || 基本数据类型 || if、while语句
  14. 怎么获取smtp服务器用户帐号和密码
  15. Lab 11-1
  16. C#连接mysql数据库的一个例子和获取本机IP的方法
  17. 五分钟彻底学会iptables防火墙--技术流ken
  18. git回滚远程仓库代码/错提master分支的恢复
  19. 2019.01.08 bzoj4543: [POI2014]Hotel加强版(长链剖分+dp)
  20. 使用ASI传递post表单..参数是数组

热门文章

  1. Docker Run Cadvisor failed: inotify_add_watch /sys/fs/cgroup/cpuacct,cpu: no such file or directory
  2. unsigned char printf 如何输出
  3. windows操作报错:无法启动此程序,因为计算机中丢失api-ms-win-core-winrt-string-l1-1-0.dll
  4. Python1--简介及基础语法
  5. 学习一下 JVM (二) -- 学习一下 JVM 中对象、String 相关知识
  6. Java中的 "==" 和 "equals" 区别
  7. 数据结构与算法系列2 线性表 使用java实现动态数组+ArrayList源码详解
  8. Azure Storage 系列(一)入门简介
  9. FileZilla Server FTP服务器失败
  10. linux字符串转数字