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 要删除的字段名称;
相关推荐
Jacky(易小天)7 分钟前
MongoDB比较查询操作符中英对照表及实例详解
数据库·mongodb·typescript·比较操作符
Karoku0661 小时前
【企业级分布式系统】ELK优化
运维·服务器·数据库·elk·elasticsearch
小技与小术2 小时前
数据库表设计范式
数据库·mysql
安迁岚2 小时前
【SQL Server】华中农业大学空间数据库实验报告 实验三 数据操作
运维·服务器·数据库·sql·mysql
安迁岚2 小时前
【SQL Server】华中农业大学空间数据库实验报告 实验九 触发器
数据库·sql·mysql·oracle·实验报告
Loganer2 小时前
MongoDB分片集群搭建
数据库·mongodb
LKID体2 小时前
Python操作neo4j库py2neo使用之创建和查询(二)
数据库·python·neo4j
刘大浪3 小时前
后端数据增删改查基于Springboot+mybatis mysql 时间根据当时时间自动填充,数据库连接查询不一致,mysql数据库连接不好用
数据库·spring boot·mybatis
一只爱撸猫的程序猿3 小时前
简单实现一个系统升级过程中的数据平滑迁移的场景实例
数据库·spring boot·程序员
无敌岩雀3 小时前
MySQL中的索引
数据库·mysql