Maison > base de données > Oracle > le corps du texte

Résumer les connaissances de base sur l'utilisation de la base de données Oracle

WBOY
Libérer: 2022-03-08 17:39:26
avant
2577 Les gens l'ont consulté

Cet article vous apporte des connaissances pertinentes sur Oracle. Il résume et présente principalement les problèmes liés à l'utilisation des bases de données, notamment l'installation, la désinstallation, les espaces de table, les types de données, etc.

Résumer les connaissances de base sur l'utilisation de la base de données Oracle

Tutoriel recommandé : "Tutoriel Oracle"

Désinstaller

Exécutez la suppression.
Résumer les connaissances de base sur lutilisation de la base de données Oracle

Introduction

Utilisateur du système

sys, système (autorisation sys>system>scott)

sys nécessite des droits d'administrateur système
le système peut se connecter directement
sysman est utilisé pour faire fonctionner le gestionnaire d'entreprise, niveau administrateur
Nom du fondateur de Scott Oracle, le mot de passe par défaut est Tiger

Connectez-vous

Utilisez l'utilisateur système pour vous connecter
[username/password] [@server] [as sysdba|sysper]
Copier après la connexion

Résumer les connaissances de base sur lutilisation de la base de données Oracle
Remarque : Si vous vous connectez à la base de données locale, vous n'avez pas besoin de @server

afficher l'utilisateur pour afficher l'utilisateur actuellement connecté
dictionnaire de données dba_users (desc dba_users)

Aperçu de l'espace table

Espace table : l'espace de stockage logique de la base de données, une base de données contient plusieurs espaces table
  • Espace table permanent : les informations sur la table, les vues, les procédures stockées, etc. nécessitent un stockage permanent Fichier
  • Espace table temporaire : le processus d'exécution au milieu de l'opération de la base de données, libéré après l'exécution
  • Espace table UNDO : stocke les données avant l'exécution les données sont modifiées et peuvent être restaurées
Afficher l'espace table utilisateur :

Dictionnaire de données administrateur : dba_tablespaces, dba_users
Dictionnaire de données utilisateur ordinaire : user_tablespaces, user_users
Résumer les connaissances de base sur lutilisation de la base de données Oracle

Définir l'espace table par défaut ou temporaire de l'utilisateur
ALTER USER username DEFAULT|TEMPOPRRY TABLESPACE tablespace_name
Copier après la connexion
Créer un tablespace permanent
CREATE  TABLESPACE tablespace_name DATAFILE 'XX.dbf'  SIZE 10m
Copier après la connexion
Créer un tablespace temporaire
CREATE TEMPORARY TABLESPACE tablespace_name TEMPFILE 'XX.dbf'  SIZE 10m
Copier après la connexion
Afficher le dictionnaire de fichiers de données
desc dba_data_files
Copier après la connexion
Afficher le chemin de stockage des fichiers du tablespace
select file_name from dba_data_files where tablespace_name = 'tablespace_name';
Copier après la connexion

Résumer les connaissances de base sur lutilisation de la base de données Oracle

Modifier le statut du tablespace

Définir le statut en ligne ou hors ligne : ALTER TABLESPACE tablespace_name ONLINE |HORS LIGNE;ALTER TABLESPACE tablespace_name ONLINE|OFFLINE;
设置只读或可读写状态:ALTER TABLESPACE tablespace_name READ ONLY|READ WRITE;

表空间修改数据文件

增加数据文件:ALTER TABLESPACE tablespace_nama ADD DATAFILE 'xx.dbf' SIZE xx;
删除数据文件:ALTER TABLESPACE tablespace_nama DROP DATAFILE 'xx.dbf'; Définir en lecture seule ou disponible Statut de lecture et d'écriture : ALTER TABLESPACE tablespace_name READ ONLY|READ WRITE;

Fichier de données de modification de l'espace table

Ajouter un fichier de données : ALTER TABLESPACE tablespace_nama ADD DATAFILE 'xx.dbf' SIZE xx;

Supprimer les fichiers de données : ALTER TABLESPACE tablespace_nama DROP DATAFILE 'xx.dbf'; (Le premier fichier de données ne peut être supprimé que si l'espace table est supprimé)

Supprimer l'espace table
DROP  TABLESPACE tablespace_name [INCLUDING CONTENTS]
Copier après la connexion

Type de données



Type de caractère

CHAR(n) : MAX-2000 NCHAR(n) : MAX-1000, format unicode, stocke plus de caractères chinois VARCHAR2(n) : MAX-4000

NVARCHAR2(n) : MAX-2000, format unicode


type numérique

NUMBER(p, s) : p-nombre de chiffres significatifs, s-nombre de décimales conservées

FLOAT(n) : données binaires 1 ~ 126 bits (*0,30103 données décimales obtenues)


Type de date

DATE : Précision en secondes

TIMESTAMP : Précision en millisecondes


Autres types de fichiers volumineux

BLOB : Binaire 4G

CLOB : Chaîne 4G

Résumer les connaissances de base sur lutilisation de la base de données OracleTable de gestion

Créer une table

Ajouter un champ

ALTER TABLE table_name add  column_name data_type;
Copier après la connexion

Changer le type de données du champ (quand il n'y a pas de données)

ALTER TABLE table_name MODIFY column_name data_type;
Copier après la connexion

Supprimer un champ

ALTER TABLE table_name DROP COLUMN column_name;
Copier après la connexion

Modifier le nom du champ

ALTER TABLE table_name RENAME COLUMN column_name TO new_column_name;
Copier après la connexion
Modifier le nom de la table

RENAME table_name TO new_table_name;
Copier après la connexion
Supprimer la table🎜🎜C'est plus rapide que supprimer, supprimer toutes les données sans supprimer la structure de la table. 🎜
TRUNCATE TABLE table_name;
Copier après la connexion
🎜Supprimer la structure du tableau🎜
DROP TABLE table_name;
Copier après la connexion

在创建时复制表

CREATE TABLE new_table AS SELECT column1,...|* FROM old_table;
Copier après la connexion

在添加时复制表

INSERT INTO new_table [(column1,...)] SELECT column1,...|* FROM old_table;
Copier après la connexion

约束 :定义规则和确保完整性

非空约束:数据不能是NULL值,如用户名、密码等(设置非空约束之前表中不能有空数据)
主键约束:唯一标识,不能为空,加快查询速度,自动创建索引。一张表只能设计一个,可以由多个字段构成(联合或复合主键)。
Résumer les connaissances de base sur lutilisation de la base de données Oracle
Résumer les connaissances de base sur lutilisation de la base de données Oracle
Résumer les connaissances de base sur lutilisation de la base de données Oracle
Résumer les connaissances de base sur lutilisation de la base de données Oracle
启用|禁用当前约束

DISABLE | ENABLE CONSTARINT constraint_name;
Copier après la connexion

删除当前约束

ALTER TABLE table_name DROP CONSTRAINT constraint_name;
Copier après la connexion
DROP PRIMARY KEY [CASCADE] ;     [CASCADE] :外键约束关系
Copier après la connexion

外键约束:主表的字段必须是主键,主从表中响应的字段是同一个数据类型,从表外键字段值必须来自主表中相应字段值,或者为null值。

创建表时添加外键约束

CREATE TABLE table2 (column_name datatype REFERENCES table1(column_name));
Copier après la connexion

Résumer les connaissances de base sur lutilisation de la base de données Oracle

CONSTRAINT constraint_name FOREIGN KEY(column_name) REFERENCES table_name(column_name) [ON DELETE CASCADE]
Copier après la connexion

Résumer les connaissances de base sur lutilisation de la base de données Oracle
修改表时添加外键约束

ALTER TABLE table_name ADD CONSTRAINT constraint_name FOREIGN KEY(column_name) REFERENCES table_name(column_name) [ON DELETE CASCSDE] ;  
[ON DELETE CASCSDE]:级联删除
Copier après la connexion

唯一约束:字段值不能重复
唯一约束和主键约束的区别
主键必须是非空,唯一约束允许有一个空值。主键在每张表中只能有一个,唯一约束在每张表中可以有多个。
Résumer les connaissances de base sur lutilisation de la base de données OracleRésumer les connaissances de base sur lutilisation de la base de données Oracle

修改表时添加唯一约束

ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE(column_name);
Copier après la connexion

检查约束:使表当中的值具有实际意义。
Résumer les connaissances de base sur lutilisation de la base de données Oracle
Résumer les connaissances de base sur lutilisation de la base de données Oracle

修改表时添加检查约束

ALTER TABLE table_name ADD CONSTRAINT constraint_name CHECK(column_name > 0);
Copier après la connexion

查询

替换列的显示名称

Résumer les connaissances de base sur lutilisation de la base de données Oracle

设置数据格式

更改字符长度(字符类型)
Résumer les connaissances de base sur lutilisation de la base de données Oracle
== 数值类型格式(“9”代表一个数字)==

Résumer les connaissances de base sur lutilisation de la base de données Oracle
Résumer les connaissances de base sur lutilisation de la base de données Oracle
Résumer les connaissances de base sur lutilisation de la base de données Oracle
== 清除设置的格式==

COLUMN column_name CLEAR;
Copier après la connexion

函数

函数的作用

  • 方便数据统计
  • 处理查询结果

函数的分类

数值函数

四舍五入: ROUND(n,[,m]) ; 省略m : m = 0 取整; m>0 : 保留小数点后m位;m 取整函数:CEIL(n) - 整数最大值
FLOOR(n) - 整数最小值
常用计算:ABS(n) - 绝对值
MOD(m,n) 取余数 m/n ,m和n有一个值为null,结果返回NULL
POWER(m,n) 返回m的n次幂,m和n有一个值为null,结果返回NULL
SORT(n) 平方根
三角函数:…

字符函数

大小写转换:UPPER(char)
LOWER(char)
INITCAP(char) : 首字母大写
获取子字符串:n可以省略,截取到最后;m
获取字符串长度:LENGTH(char)
字符串连接:CONCAT(char1,char2) 与 || 操作符作用一样
去除字串:TRIM(c2 FROM c1) 从c1当中去除c2字符串
LTRIM(c1 [, c2]) 从头部开始去除一个c2 ,c2 为空去除左边空格
LTRIM(c1 [, c2]) 从尾部开始去除一个c2,c2 为空去除右边空格
TRIM(c1) 去除空格
替换函数:REPLACE(char,s_string [,r_string]) r_string为空默认替换为空串

日期函数

系统时间: SYDATE 默认格式 DD-MON-YY
Résumer les connaissances de base sur lutilisation de la base de données Oracle
ADD_MONTHS(date,i)
NEXT_DAY(date,char)
LAST_DAY(date)
MONTHS_BETWEEN(date1.date2) 两个日期之间间隔的月份,计算间隔多少天直接日期相减
EXTRACT(date FROM datetime)
Résumer les connaissances de base sur lutilisation de la base de données Oracle
Résumer les connaissances de base sur lutilisation de la base de données Oracle

转换函数

日期>>字符:TO_CHAR(date[,format[,params]]) date:将要转换的日期 ; format:转换的格式; params: 日期的语言,通常不写;
Résumer les connaissances de base sur lutilisation de la base de données Oracle
字符>>日期:TO_DATE(date[,format[,params]]) --------只能输出默认日期格式
数字>>字符:TO_CHAR(number[,format])
9: 显示数字并忽略前面的0
0:显示数字,位数不足,用0补齐
. 或D 显示小数点
, 或G 显示千位符
$:美元符号
S:加正负号(前后都可以)
Résumer les connaissances de base sur lutilisation de la base de données Oracle
字符>>数字:TO_NUMBER(char[,format])
Résumer les connaissances de base sur lutilisation de la base de données Oracle

decode函数(都不满足返回null)

decode(column_name, value1,result1,... , defaultValue)
Copier après la connexion

Résumer les connaissances de base sur lutilisation de la base de données Oracle

你问我答:

联合索引比单索引的效率高么?
如果联合索引中的多个字段都在where谓词中出现了,则联合索引效率比单列索引高。因为通过多个条件可以从索引中过滤得到更少的记录条数,也就减少了需要回表扫描的次数,甚至可以直接在联合索引中得到所查的所有结果,则不再需要回表。
但是由于多列的联合索引肯定要比单列索引大,也就是说同样的索引需要存储的物理块要多于单列索引,所以,如果查询中只出现了联合索引中的某一列,则其效率不如单列索引。
前导列的作用?
前导列的概念是这样的,如果建立了f1,f2上的联合索引,则在查询时必须要用到f1,也就是所谓的前导列,该索引才会有效,因为索引是按照前导列排序的,如果where条件谓词中没有前导列,则需要执行索引扫描才能得到想要的结果,这种情况下其效率往往较差。
如果不需要前导列的话,reverse 这个反转又起到什么作用呢?
鉴于前面描述的前导列的概念,我们考虑如下表存储table(f1,f2);
aa 1
ab 2
ac 3
ad 4
ae 5
如果我们对表table建立f1上的普通索引,由于按照f1进行排序,所以针对where f1=ad则需要遍历所有的a开始的索引,而如果对f1建立reverse索引,则由于da只有一个,则可以更快的得到需要的结果。

推荐教程:《Oracle视频教程

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal