ORACLE 知识整理

目录

  • [一. 插入指定数量的数据](#一. 插入指定数量的数据)
  • [二. 索引](#二. 索引)
    • [2.1 创建索引](#2.1 创建索引)
    • [2.2 删除索引](#2.2 删除索引)
  • [三. 查询计划](#三. 查询计划)
  • [四. Oracle SQLPlus常用设置](#四. Oracle SQLPlus常用设置)
  • [五. 增加删除字段](#五. 增加删除字段)

一. 插入指定数量的数据

⏹当需要向表中插入若干测试数据的时候,可通过下面这种方式造数据

  • 先从DUAL虚拟表中检索后造出10000条数据后,再插入到指定的表中
  • 除了主键之类的关键字段之外,其余字段写固定值即可
sql 复制代码
INSERT INTO 表名
	SELECT
		-- 因为该字段为字符串形式,所以使用TO_CHAR转换
		TO_CHAR(100000000 + LEVEL) || 'TEST_CONTENT'
		-- 固定字段值1
		,'6599'
		-- 固定字段值2
		, '20240323'
		-- 固定字段值3
		, '121212' 
	FROM
		DUAL CONNECT BY LEVEL <= 10000;

二. 索引

2.1 创建索引

  • 索引可以由一个字段构成,也可以由多个字段联合构成一个索引

⏹创建global全局索引

sql 复制代码
CREATE INDEX 索引名 ON 表名(字段名1,字段名2,...) GLOBAL PARTITION BY 
HASH(字段名1,字段名2,...) PARTITIONS 256;

⏹创建local局部索引

sql 复制代码
CREATE INDEX 索引名 ON 表名(字段名) LOCAL ONLINE;

2.2 删除索引

sql 复制代码
DROP INDEX 索引名 ONLINE;

三. 查询计划

sql 复制代码
EXPLAN PLAN FOR SQL语句;
SELECT PLAN_TABLE_OUTPUT FROM TABLE(DBMS_XPLAN.DISPLAY());

四. Oracle SQLPlus常用设置

  • SET LINESIZE用于设置输出行的最大长度。
  • 如果不设置或者设置的值过小,在命令行窗口进行查询的时候可能导致一行内容被截断,无法更好的在页面上显示。
sql 复制代码
SET PAGESIZE 0;
SET LINESIZE 1000;
  • 用于关闭替代变量的替换功能
  • 在 SQLPlus 中,默认情况下,替代变量以 & 开头,并且在执行命令时会被替换为用户输入的值。
  • 执行 SET DEFINE OFF;后,SQL*Plus 将不再替换以 & 开头的内容,而会将&视为普通的文本。
  • 当你需要输入包含 & 字符的文本而不想让 SQL*Plus 将其作为替代变量处理时常用。例如插入的数据为aaa&bbb
sql 复制代码
SET DEFINE OFF;
  • Oracle 数据库中启用 SQL 语句执行时间统计的命令。
  • 当运行这个命令后,在执行 SQL 语句时会显示出执行时间,可以帮助你评估查询的效率和性能。这对于优化和调试复杂的查询非常有用。
sql 复制代码
SET TIMING ON;

五. 增加删除字段

  • 向表中增加指定的字段并指定数据类型
sql 复制代码
-- ALTER TABLE 表名 ADD 字段名 字段的类型名称(长度)
ALTER TABLE TM_社員 ADD 表示順 smallint(8);
  • 删除表中既存的某个字段
sql 复制代码
-- ALTER TABLE 表名 DROP COLUMN 想要删除的字段名
ALTER TABLE TM_社員 DROP COLUMN 要删除的字段名称;
相关推荐
Dovis(誓平步青云)1 分钟前
《指标中转站:Pushgateway 如何把监控覆盖到这些原本看不见的角落》
数据库·生成对抗网络·oracle·内网穿透·飞牛nas
IT龟苓膏9 小时前
Redis 数据类型底层原理:SDS、quicklist、intset、skiplist、Bitmap、HyperLogLog 一篇讲清
数据库·redis·skiplist
流星白龙9 小时前
【MySQL高阶】19.变更缓冲区,自适应哈希索引,日志缓冲区
数据库·windows·mysql
晴天¥10 小时前
Oracle中的监听配置与管理(动态、静态监听配置对比以及listener.ora和tnsnames.ora)
数据库·oracle
瀚高PG实验室11 小时前
python连接HGDB超时
数据库·瀚高数据库·highgo
jnrjian11 小时前
ddl_lock_timeout 设置 read only table 通过view 实现细粒度依赖
sql·oracle
闪电悠米11 小时前
黑马点评-Redisson-01_why_redisson
java·服务器·网络·数据库·缓存·wpf
Counter-Strike大牛12 小时前
SpringBoot2.7.10+MyBatisPlus实现MySQL+DM双数据库切换
数据库·mysql
dllxhcjla12 小时前
Redis
数据库·redis·缓存
睡不醒男孩03082312 小时前
数据库高可用运维实操指南:基于CLup的PostgreSQL生产环境自动化管理
运维·数据库·postgresql