Maison > base de données > Oracle > Résumé de l'utilisation des opérations SQLPlus dans Oracle 12c

Résumé de l'utilisation des opérations SQLPlus dans Oracle 12c

WBOY
Libérer: 2022-07-20 20:42:00
avant
2759 Les gens l'ont consulté

Cet article vous apporte des connaissances pertinentes sur Oracle, qui règle principalement les problèmes liés au fonctionnement et à l'utilisation de SQLPlus en 12c, ainsi que la différence entre les utilisateurs SYS et SYSTEM dans Oracle, etc. ensemble, espérons utile à tout le monde.

Tutoriel recommandé: "Coracle Video Tutorial

" Résumé de l'utilisation des opérations SQLPlus dans Oracle 12c

1. Afficher le numéro de version SQLPLUS

(1) CMD à afficher dans la commande DOS, entrée:

sqlplus -v

(2) Après avoir activé sqlplus, entrez :

select * from V$VERSION;

2 Comment accéder à sqlplus

(1)L'environnement Windows10 est dans le menu Démarrer, recherchez SQLPLUS et cliquez pour ouvrir

(2) Touche Win + touche R pour ouvrir la fenêtre d'exécution et entrer sqlplus

(3) Win touche + touche R pour ouvrir la fenêtre d'exécution et saisir cmd, puis activer sqlplus

3 La différence entre les utilisateurs SYS et SYSTEM dans Oracle

sys, system, sysman

Les mots de passe de. ces trois utilisateurs sont ce que vous installez Le mot de passe défini lorsque . Il existe trois types d'identités de connexion Oracle : identité normale normale

,

identité de l'administrateur système Sysdba, identité de l'opérateur système Sysoper , à chaque identité correspond à différentes autorisations.

L'utilisateur SYS est un super utilisateur , possède la plus haute autorité , a le rôle SYSDBA, dispose des droits d'administrateur de base de données et peut créer une base de données - dispose d'autorisations de création de base de données .

L'utilisateur SYSTEM est un opérateur de gestion

, a le rôle SYSOPE, dispose des autorisations d'opérateur de base de données et ne peut pas créer de base de données - n'a pas d'autorisations de création de base de données . 4. Afficher le nom et le SID de la base de données globale Oracle Afficher le nom de la base de données globale : sélectionner le nom dans la base de données v$ ;

Afficher le SID : select instance_name from v$instance;

5. Utilisation des commentaires dans SQL de

oracle

Les commentaires sur une seule ligne commencent par --, par exemple :

-- Cette phrase affiche l'utilisateur actuel Usernameselect de dual

.

Commentaires multilignes, commençant par /* et un espace après, se terminant par */ et ayant un espace devant, par exemple :

/* Commentaires multilignes,

La déclaration suivante Oui Afficher le nom d'utilisateur actuel*/

sélectionner l'utilisateur de dual;

6. Syntaxe

CONN[ ECT] [{

Connexion

| / | Agent } [AS {SYSOPER |SYSDBA |SYSASM}] [Version=Valeur]] Connexion

a la syntaxe suivante :

Nom d'utilisateur

[/

mot de passe] [@connect_identifier]proxy

a la syntaxe suivante :

utilisateur proxy

[

nom d'utilisateur] [/ Mot de passe] [ @connect_identifier] REMARQUE : Les crochets autour du nom d'utilisateur

dans

agent sont une syntaxe obligatoire et ne constituent pas une indication de termes facultatifs. Par exemple, utilisez un mot de passe pour vous connecter à un utilisateur via un proxy. scotthrwelcome1Connect hr[scott]/welcome1scotthrwelcome1连接 hr[scott]/welcome1

例子 1

这个简单的示例以用户身份连接到本地数据库。SQL*加会提示输入用户密码。SYSTEMSYSTEM

connect system
Copier après la connexion

例子 2

此示例以具有特权的用户身份连接到本地数据库。SQL*加会提示输入用户密码。SYSSYSDBASYS

connect sys as sysdba
Copier après la connexion

以用户身份连接时,必须连接 。SYSAS SYSDBA

例子 3

此示例使用操作系统身份验证的特权进行本地连接。SYSDBA

connect / as sysdba
Copier après la connexion

例子 4

此示例使用简单的连接语法以用户身份连接到在主机 上运行的远程数据库。Oracle Net 侦听器(侦听器)正在侦听默认端口 (1521)。数据库服务是 。SQL*加会提示输入用户密码。salesadmindbhost.example.comsales.example.comsalesadminExemple 1

Cet exemple simple se connecte à une base de données locale en tant qu'utilisateur . SQL* Plus demandera le mot de passe de l'utilisateur. SYSTEMSYSTEM

connect salesadmin@"dbhost.example.com/sales.example.com"
Copier après la connexion

Exemple 2

Cet exemple se connecte à une base de données locale en tant qu'utilisateur privilégié. SQL* Plus demandera le mot de passe de l'utilisateur. SYSSYSDBASYS

connect salesadmin@"dbhost.example.com/sales.example.com:dedicated"
Copier après la connexion

Doit être connecté lors de la connexion en tant qu'utilisateur. SYSAS SYSDBA

Exemple 3

Cet exemple se connecte localement en utilisant les privilèges d'authentification du système d'exploitation. SYSDBA

connect salesadmin@"dbhost.example.com:1522/sales.example.com"
Copier après la connexion

Exemple 4

Cet exemple utilise une syntaxe de connexion simple pour se connecter en tant qu'utilisateur à une base de données distante exécutée sur la machine hôte. L'écouteur Oracle Net (écouteur) écoute sur le port par défaut (1521). Le service de base de données est . SQL* Plus demandera le mot de passe de l'utilisateur. salesadmindbhost.example.comsales.example.comsalesadmin

connect salesadmin@"192.0.2.5/sales.example.com"
Copier après la connexion

Exemple 5

Cet exemple est le même que l'exemple 4, sauf que le type de gestionnaire de service est indiqué .

connect salesadmin@"[2001:0DB8:0:0::200C:417A]/sales.example.com"
Copier après la connexion

Exemple 6

🎜🎜🎜Cet exemple est le même que l'exemple 4, sauf que l'auditeur écoute sur le numéro de port autre que celui par défaut 1522. 🎜🎜🎜
connect salesadmin@"dbhost.example.com//orcl"
Copier après la connexion
🎜🎜🎜🎜Exemple 7🎜🎜🎜🎜🎜🎜🎜Cet exemple est le même que l'exemple 4, sauf que l'adresse IP de l'hôte est remplacée par le nom d'hôte. 🎜🎜🎜
connect salesadmin@sales1
Copier après la connexion
Copier après la connexion
🎜🎜🎜🎜Exemple 8🎜🎜🎜🎜🎜🎜🎜Cet exemple utilise une adresse IPv6 pour se connecter. Notez les crochets environnants. 🎜🎜🎜
connect /@sales1
Copier après la connexion
Copier après la connexion
🎜🎜🎜🎜Exemple 9🎜🎜🎜🎜🎜🎜🎜Cet exemple spécifie l'instance à laquelle se connecter et omet le nom du service de base de données. Le service de base de données par défaut doit être spécifié, sinon une erreur sera générée. Notez que le type de gestionnaire de service ne peut pas être spécifié lors de la spécification uniquement de l'instance. 🎜🎜🎜
connect /@sales1 as sysdb
Copier après la connexion
Copier après la connexion
🎜🎜🎜🎜Exemple 10🎜🎜🎜🎜

此示例以用户身份远程连接到由网络服务名称 指定的数据库服务。SQL*加会提示输入用户密码。salesadminsales1salesadmin

connect salesadmin@sales1
Copier après la connexion
Copier après la connexion

例子 11

本示例使用外部身份验证远程连接到由网络服务名称 指定的数据库服务。sales1

connect /@sales1
Copier après la connexion
Copier après la connexion

例子 12

此示例使用权限和外部身份验证远程连接到由网络服务名称 指定的数据库服务。SYSDBAsales1

connect /@sales1 as sysdb
Copier après la connexion
Copier après la connexion

例子 13

此示例以用户身份远程连接到由网络服务名称 指定的数据库服务。数据库会话在版本中启动。SQL*加会提示输入用户密码。salesadminsales1rev21salesadmin

connect salesadmin@sales1 edition=rev21
Copier après la connexion

例子 14

要使用用户名 HR 跨 Oracle Net 连接到 Oracle Net 别名称为 FLEETDB 的数据库,请输入

CONNECT HR@FLEETDB
Copier après la connexion

例子 15

要以名为 HR 的特权用户身份连接到当前节点上的实例,请输入

CONNECT HR AS SYSDBA
Copier après la connexion

例子 16

要以特权默认用户身份连接到当前节点上的实例,请输入

CONNECT / AS SYSDBA
Copier après la connexion

在最后两个示例中,默认架构变为 SYS。

7.  断开用户与Oracle数据库服务器的连接

 exit 退出即可

8. 用户的操作使用 

(1)创建表空间

create tablespace 表空间的名 datafile '数据文件' size xxxm;

        数据文件:全名如d:\data.dbf,表空间的存储位置

        xxx:表空间的大小,m单位为兆(M)

【为用户指定表空间】

alter user 用户名 default tablespace 表空间名;

为用户指定临时表空间:

alter user 用户名 temporary tablespace 表空间名;

【删除空的表空间,但是不包含物理文件】

drop tablespace 表空间名;

删除空表空间,包含物理文件(数据文件):

drop tablespace 表空间名 including datafiles;

如果其他表空间中的表有外键等约束关联到了本表空间中的表的列,就要加上CASCADE CONSTRAINTS,如:drop tablespace 表空间名 including datafiles cascade constraint

注意:如果多个用户使用相同的表空间,删除用户时不要删除表空间

(2)创建用户

create user 用户名 identified by 密码;

【创建用户同时可以指定表空间】

créer un nom d'utilisateur identifié par un mot de passe nom de l'espace de table par défaut ;

【Supprimer l'utilisateur et la relation en cascade】

déposez la cascade de noms d'utilisateur ;

Spécifier la cascade supprimera tous les objets sous l'utilisateur (y compris les tables, les vues, les clés primaires, les clés étrangères, les index, etc. ; mais les procédures stockées, les fonctions et les packages ne seront pas supprimés). S'il n'est pas spécifié, cela supprimera uniquement l'utilisateur. Il est généralement recommandé de spécifier

【Requête des informations sur l'utilisateur】

oracle Afficher le nom d'utilisateur actuel :

afficher l'utilisateur. ou sélectionnez un utilisateur parmi dual ;

oracle Afficher tous les noms d'utilisateur :

select * from all_users;

Afficher toutes les informations relatives aux utilisateurs dans la base de données (à condition que vous ayez un compte avec l'autorité dba, tel que sys, system) :

select * from dba_users;

Notez que l'astérisque * dans l'instruction de requête SELECT représente toutes les colonnes

Affichez tous les utilisateurs que vous pouvez gérer :

sélectionnez * parmi tous les utilisateurs ;

Interrogez la table correspondant à l'espace utilisateur :

select username,default_tablespace from dba_users;

Utilisez des restrictions pour interroger l'espace table correspondant à l'utilisateur :

sélectionnez le nom d'utilisateur, default_ tablespace à partir de dba_users où username = 'Nom d'utilisateur en majuscule'; (4) à l'autorisation de l'utilisateur

Accorder l'autorisation au nom d'utilisateur ;

L'utilisateur créé n'a aucune autorisation par défaut et doit se voir attribuer des autorisations.

Différents utilisateurs qui se connectent à la même base de données peuvent voir différents nombres de tables et disposer d'autorisations différentes. Les autorisations d'Oracle sont divisées en autorisations système et autorisations d'objets de données. Il existe plus de 100 types au total. Il est très difficile d'autoriser les utilisateurs individuellement. Certains utilisateurs ont besoin des mêmes autorisations, ils sont donc classés dans la même catégorie - un certain rôle. . Simplifiez et autorisez clairement les opérations en configurant certains rôles avec des autorisations prédéterminées. La motivation des rôles est de simplifier la gestion des autorisations. L'approche générale est la suivante : le système attribue des autorisations aux rôles, puis attribue les rôles aux utilisateurs. Bien entendu, il peut également attribuer directement certaines autorisations aux utilisateurs. Oracle fournit des autorisations précises. Les autorisations peuvent être définies individuellement pour une certaine colonne de la table et des restrictions peuvent être automatiquement ajoutées à la requête d'un utilisateur sur une certaine table.

【Classification des autorisations】

Autorisations système : le système stipule les autorisations de l'utilisateur pour utiliser la base de données. (Les autorisations système sont réservées aux utilisateurs).

Autorisations d'entité : les autorisations d'accès d'un certain utilisateur autorisé aux tables ou vues d'autres utilisateurs. (Pour les tableaux ou les vues).

Classification des autorisations système

DBA : possède tous les privilèges et est la plus haute autorité du système. Seul DBA peut créer des structures de base de données.

RESOURCE : les utilisateurs disposant d'autorisations de ressources ne peuvent créer que des entités, pas des structures de base de données.

CONNECT : les utilisateurs disposant des autorisations Connect peuvent uniquement se connecter à Oracle et ne peuvent pas créer d'entités ou de structures de base de données.

Classification des autorisations d'entité

sélectionner, mettre à jour, insérer, modifier, indexer, supprimer, tout (tout inclut toutes les autorisations), exécuter (autorisation d'exécuter des procédures stockées).

Rôle

Un rôle est un ensemble d'autorisations Si un rôle est attribué à un utilisateur, l'utilisateur disposera de toutes les autorisations du rôle.

Les rôles prédéfinis sont des rôles couramment utilisés qui sont automatiquement créés par le système après l'installation de la base de données. Ce qui suit est une brève introduction à ces rôles planifiés.

Afficher tous les rôles :

select * from dba_roles;

Afficher les autorisations contenues dans le rôle peut être interrogé avec la déclaration suivante :

select * From ROLE_SYS_PRIVS Where Role = 'Character Name'; ) Connectez-vous ensuite avec l'utilisateur créé. Après vous être connecté, créez la table

conn nom d'utilisateur/mot de passe  ;

(1) Créer un espace table SKspace

 :

format : créer un espace table nom du fichier de données 'nom du fichier de données' taille table espace taille table Les fichiers de données spatiales s'étendent automatiquement

créer un fichier de données SKspace tablespace 'C:Oracle12CMBspce1.dbf' taille 20M extension automatique sur ;

(2) Créer un utilisateur C##suke Le mot de passe est

suke123

, définissez la valeur par défaut espace table vers

SKspace, et l'espace table temporaire vers temp :

Format : créer un nom d'utilisateur identifié par un mot de passe par défaut tablespace tablespace table ;

créer un utilisateur C##

suke identifié par suke123 tablespace par défaut SKspace tablespace temporaire temp;

Erreur : nom d'utilisateur ou nom de rôle public non validecar à ce moment dans CDB Create, et les utilisateurs créés dans CDB doivent ajouter C# ou C##

(3) L'utilisateur créé ne dispose d'aucune autorisation par défaut et doit se voir attribuer des autorisations.

Pour plus de commodité, les autorisations du rôle d'administrateur (dba) sont accordées à l'utilisateur C##suke :

grant dba à C##suke;

--signifie accorder des autorisations de connexion et de ressources à l'utilisateur de l'étude

NGrant Connect, Resource to Study ;

-indique que les autorisations dba sont accordées à Study

Grant Dba to Study ;

connect C##

suke/suke123; (5) Connectez-vous Puis créez la table :

CREATE TABLE job( identifiant NUMBER(6),

code VARCHAR2(10),

nom VARCHAR2(10)

); (6) Insérer un seul enregistrement dans les données de la table qui a été créé (existe déjà): INSERT INTO job(id,code,name) VALUES(1,'NO1' ,'Test');

(7) Insérez plusieurs enregistrements uniques dans les données d'une table créée (existante) :

INSERT ALL

INTO job(id,code,name) VALUES(2,'NO2','Development')

Into Job (id, code, nom) valeurs (3, «no3», «opération et maintenance»)

Select 1 de double;

( 8) Données de la table de requête :

SELECT * FROM job où id=1;

SELECT code, nom FROM job où code='NO2';

(9) Interrogez la table créée par l'utilisateur :

SELECT table_name FROM ALL_TABLES WHERE OWNER='C## suke';

Aucune ligne sélectionnée

Au début, je pensais que l'instruction de requête était fausse, mais après l'avoir modifiée à gauche et à droite, le résultat était toujours le même.

Plus tard, j'ai vérifié en ligne et découvert que la "ligne non sélectionnée" n'était pas une erreur car aucun résultat ne correspondait à l'instruction de requête dans la base de données.

select count(table_name) from all_tables Where Owner='C##suke';

Il semble que vous ne puissiez pas être préconçu lorsque vous rencontrez des problèmes, je pensais que c'était une déclaration. erreur au début, mais cela s'est toujours produit. Je veux découvrir ce qui ne va pas avec cette déclaration. En fait, ce n’est pas une erreur, juste un problème avec les données de la base de données.

(10) Interrogez la structure de table créée par l'utilisateur :

desc job;

10. ) Supprimer vide espace table, mais n'inclut pas les fichiers physiques

                                                      drop tablespace tablespace_name;


(2)删除非空表空间,但是不包含物理文件
        drop tablespace tablespace_name including contents;

(3)删除空表空间,包含物理文件
        drop tablespace tablespace_name including datafiles;

(4)删除非空表空间,包含物理文件
        drop tablespace tablespace_name including contents and datafiles;

(5)如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上         CASCADE CONSTRAINTS
        drop tablespace tablespace_name including contents and datafiles CASCADE         CONSTRAINTS
;

11. 实验二ORACLE SQL*PLUS环境与查询

注1:如果你想使用如此图的EMP表可查询 实验二 Oracle SQL*PLUS环境与查询

注2:你找不到此图的EMP:Oracle设置和修改system和scott的口令,并且如何连接到system和scott模式下

使用scott内置账户登录:conn scott/口令 可以查找到此图的EMP表

注3:你发现你内置账户scott不存在 / 连接不上

此链接可以解决你的问题:Oracle数据库中scott用户不存在的解决方法

注4:你发现 注3 还是无法连接scott账户,你也不想麻烦操作了

此链接可以粗暴解决问题:重建用户scott以及内容表

-- 创建数据表
CREATE TABLE dept (
 deptno NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY,
 dname VARCHAR2(14) ,
 loc VARCHAR2(13) ) ;
CREATE TABLE emp (
 empno NUMBER(4) CONSTRAINT PK_EMP PRIMARY KEY,
 ename VARCHAR2(10),
 job VARCHAR2(9),
 mgr NUMBER(4),
 hiredate DATE,
 sal NUMBER(7,2),
 comm NUMBER(7,2),
 deptno NUMBER(2) CONSTRAINT FK_DEPTNO REFERENCES DEPT );
CREATE TABLE bonus (
 enamE VARCHAR2(10) ,
 job VARCHAR2(9)  ,
 sal NUMBER,
 comm NUMBER ) ;
CREATE TABLE salgrade (
 grade NUMBER,
 losal NUMBER,
 hisal NUMBER );

-- 插入测试数据 —— dept
INSERT INTO dept VALUES (10,'ACCOUNTING','NEW YORK');
INSERT INTO dept VALUES (20,'RESEARCH','DALLAS');
INSERT INTO dept VALUES (30,'SALES','CHICAGO');
INSERT INTO dept VALUES (40,'OPERATIONS','BOSTON');
-- 插入测试数据 —— emp
INSERT INTO emp VALUES (7369,'SMITH','CLERK',7902,to_date('17-12-1980','dd-mm-yyyy'),800,NULL,20);
INSERT INTO emp VALUES (7499,'ALLEN','SALESMAN',7698,to_date('20-2-1981','dd-mm-yyyy'),1600,300,30);
INSERT INTO emp VALUES (7521,'WARD','SALESMAN',7698,to_date('22-2-1981','dd-mm-yyyy'),1250,500,30);
INSERT INTO emp VALUES (7566,'JONES','MANAGER',7839,to_date('2-4-1981','dd-mm-yyyy'),2975,NULL,20);
INSERT INTO emp VALUES (7654,'MARTIN','SALESMAN',7698,to_date('28-9-1981','dd-mm-yyyy'),1250,1400,30);
INSERT INTO emp VALUES (7698,'BLAKE','MANAGER',7839,to_date('1-5-1981','dd-mm-yyyy'),2850,NULL,30);
INSERT INTO emp VALUES (7782,'CLARK','MANAGER',7839,to_date('9-6-1981','dd-mm-yyyy'),2450,NULL,10);
INSERT INTO emp VALUES (7788,'SCOTT','ANALYST',7566,to_date('19-04-1987','dd-mm-yyyy')-85,3000,NULL,20);
INSERT INTO emp VALUES (7839,'KING','PRESIDENT',NULL,to_date('17-11-1981','dd-mm-yyyy'),5000,NULL,10);
INSERT INTO emp VALUES (7844,'TURNER','SALESMAN',7698,to_date('8-9-1981','dd-mm-yyyy'),1500,0,30);
INSERT INTO emp VALUES (7876,'ADAMS','CLERK',7788,to_date('23-05-1987','dd-mm-yyyy')-51,1100,NULL,20);
INSERT INTO emp VALUES (7900,'JAMES','CLERK',7698,to_date('3-12-1981','dd-mm-yyyy'),950,NULL,30);
INSERT INTO emp VALUES (7902,'FORD','ANALYST',7566,to_date('3-12-1981','dd-mm-yyyy'),3000,NULL,20);
INSERT INTO emp VALUES (7934,'MILLER','CLERK',7782,to_date('23-1-1982','dd-mm-yyyy'),1300,NULL,10);
-- 插入测试数据 —— salgrade
INSERT INTO salgrade VALUES (1,700,1200);
INSERT INTO salgrade VALUES (2,1201,1400);
INSERT INTO salgrade VALUES (3,1401,2000);
INSERT INTO salgrade VALUES (4,2001,3000);
INSERT INTO salgrade VALUES (5,3001,9999);
Copier après la connexion

(1)SQL*Plus的启动

继续上述实例 9 的步骤操作

进入sqlplus环境:sqlplus

输入用户名:C##suke

输入口令:suke123

(2)断开数据库连接与重新连接数据库

断开数据库连接:DISCONECT

重新连接数据库:conn 用户名/口令:conn C##suke/suke123

(3)退出SQL*Plus:exit

(4)查看当前用户名

show user;

select user from dual;

(5)查询表job表结构:desc job;

(6) Interrogez les données dans la table des travaux

sélectionnez * dans le travail ;

sélectionnez l'identifiant, le code, le nom du travail où l'identifiant <

(7) Lister le contenu du tampon : LIST

(8) modifier le correctif d'un bug

Commande de requête Parfois, je tape par erreur du code dans cose : select id, cose, name from job ;

Remarque supplémentaire : si une erreur se produit dans les èmes lignes, le code de la ligne d'erreur peut être affiché séparément en entrant et sortir du numéro de la mauvaise ligne.

Utilisez le changement pour corriger le code d'erreur : change /cose/code

Rerun : run

(10) entrée ajouter des conditions de requête sur une ligne

Informations de requête : SQL> sélectionnez l'identifiant, le code, le nom du travail ;

Soudain, je veux trier l'opération, mais je ne veux pas re- entrez toutes les commandes, utilisez input pour ajouter la colonne id Conditions de tri :

SQL> input
2 ordre par id;

(11) ajouter Ajouter des conditions de requête jusqu'à la fin de la ligne précédente

Suivez les étapes (10) Après avoir regardé la séquence principale, que dois-je faire si je veux regarder des flashbacks dus à un trouble obsessionnel-compulsif ?

Première lister le contenu du tampon : list

Ajouter des conditions de requête à la fin de la ligne précédente : append desc

Remarque : ajoutez le le milieu de la description est Deux espaces, si vous ne laissez qu'un seul espace, comme indiqué dans l'erreur ci-dessous

Rerun: run

(12) del delete la dernière ligne de conditions de requête

Après avoir regardé le flashback à l'étape (11), que dois-je faire si je veux voir les données originales parce que mon cerveau est malade ?

Première liste du contenu du tampon : list

Supprimer la ligne précédente de conditions de requête : del

Rerun :

(13) Afficher toutes les informations dans le tableau des tâches : sélectionner * dans la tâche ;

(14) L'utilisation des opérateurs arithmétiques

fait ID + 2 * 3 Affichage: Select ID + 2 * 3, code, nom de Job;

(15) Utilisation de tirets

pour relier le numéro d'unité et le nom de l'unité : sélectionnez le code || Connectez-les avec '-' au milieu et affichez 'TRAVAUX DANS LE DÉPARTEMENT' ; :

select id,code||'-'||name codename,'work in Department' from job;

(16) La clause DISTINCT élimine les duplications

Étant donné que les données ici elles-mêmes n'ont pas de valeurs en double, nous devons ajouter quelques données en double supplémentaires :

INSERT ALL

INTO job(id,code,name) VALEURS(1,'NO2','Front-end')

INTO job(id,code,name) VALEURS(2,'NO2','Backend')

INTO job(id,code,name) VALUES(3,'NO3','Internet of Things')

SELECT 1 dual FROM

Si vous listez tous les numéros d'identification d'unité dans la table des tâches : sélectionnez l'identifiant du travail ; les doublons peuvent être éliminés en utilisant la clause DISTINCT :

sélectionnez l'identifiant distinct du travail ; Triez par un seul identifiant de champ : select * ; à partir de l'ordre de travail par identifiant Méthode 1 :

Réviser les points de connaissance

liste

et

ajouter

utilisation

Méthode 2 :

sélectionnez * dans la commande de travail par identifiant, nom desc ;

(19) Requête conditionnelle
Interrogez tous les numéros de série d'unité, les numéros d'unité et les informations de nom d'unité dont l'identifiant de numéro de série d'unité est 2 :

SQL> 2;

interroger les noms des unités avec des numéros de série unit > 1 ;

Requête de condition composée : interrogez toutes les informations sur l'unité dont le numéro de série est supérieur à 1 et le numéro d'unité est "NO3", ou le nom de l'unité est "avant". end' : SQL> sélectionnez * à partir du travail où l'identifiant > 1 et le code = 'NO3' ou nom = 'Front-end'; Application de BETWEEN :

Unité de requête Toutes les unités de l'ID de série entre 2 et 3 :

SQL & GT ; Sélectionnez * dans le travail où idneen 2 et 3 ;

dans l'application : Interrogez toutes les informations sur l'unité de l'un des deux codes de numéro d'unité avec 'NO2', 'NO3' :

SQL> code in ('NO2','NO3' ; Interrogez toutes les informations sur l'unité avec des noms de seulement trois caractères : SQL> sélectionnez * dans le travail dont le nom est comme '___' ; Application de EST NULL :

Interrogez tout informations sur l'unité sans nom d'unité :

Ajoutez d'abord des informations sans nom d'unité : SQL> INSERT INTO job(id,code) VALUES(1 ,'NO1');

Requête toutes les informations sur l'unité sans nom de l'unité : SQL> sélectionnez * à partir du travail où le nom est nul ;

SQL & GT ;

Sélectionnez * du travail où & job_id ; Entrez la valeur de job_id : id = 2

Entrée de variable de chaîne :

SQL> sélectionnez l'identifiant * 10, le code, le nom du travail où code = '&job_code';
Entrez la valeur du job_code : NO3


(22) Conversion du type de données

TO_NUMBER Convertir les données de chaîne en nombre : SQL> sélectionnez to_number('33') parmi dual;

TO_CHAR Convertir des données numériques en chaîne : SQL> sélectionnez to_char(2) depuis le travail

SQL> sélectionnez to_char(sysdate,'yy-mm-dd hh24:mi:ss') from dual;

TO_DATE Convertir les données de chaîne en données de date :

SQL> sélectionnez to_date('2005-12-25,13:25:59','aaaa-mm- jj ,hh24:mi:ss') de dual;

(23) Application de la fonction de regroupement

Trouvez la valeur moyenne : SQL>

Trouver la valeur minimale : SQL> ; sélectionnez min(id) du travail où code = 'NO3' ;

Recherchez le numéro : SQL> select count(*) from job which id = 2;

Remarque : étant donné que ma table d'unités de travail ne convient pas à la requête suivante, je vais montrez-le avec la photo de quelqu'un d'autreClause GROUP BY : Trouvez le salaire moyen dans chaque département :

Clause HAVING : Recherchez le salaire moyen dans les départements de plus de 3 personnes :

(24) Connectez-vous

Remarque : Mon unité de travail Le tableau ne convient pas non plus aux requêtes suivantes. Utilisons la photo de quelqu'un d'autre pour la montrer à nouveau

Requête. le nom de l'employé, le nom du poste et du département d'EMP et DEPT :

(25) sous-requête Application

Remarque : ma table d'unités de travail ne convient pas non plus à la requête suivante, donc Je le montrerai à nouveau avec la photo de quelqu'un d'autre

Interrogez les employés les moins bien payés d'EMP :

Interrogez les employés les moins bien payés de chaque département d'EMP :

Tutoriel recommandé : "Tutoriel vidéo 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