Rumah > pangkalan data > Oracle > teks badan

Ringkasan penggunaan operasi SQLPlus dalam Oracle 12c

WBOY
Lepaskan: 2022-07-20 20:42:00
ke hadapan
2677 orang telah melayarinya

Artikel ini membawakan anda pengetahuan yang berkaitan tentang Oracle, yang terutamanya mengatur isu berkaitan yang berkaitan dengan pengendalian dan penggunaan SQLPlus dalam 12c, serta perbezaan antara pengguna SYS dan SYSTEM dalam Oracle, dsb. , seperti berikut Mari kita lihat, saya harap ia akan membantu semua orang.

Ringkasan penggunaan operasi SQLPlus dalam Oracle 12c

Tutorial yang disyorkan: "Tutorial Video Oracle"

1. Semak nombor versi sqlplus

(1) cmd untuk melihat dalam arahan dos, masukkan: sqlplus -v

(2) Selepas mendayakan sqlplus, masukkan: pilih * daripada V$VERSION;

2 Bagaimana untuk memasukkan sqlplus

(1) Dalam persekitaran Windows 10, dalam menu mula , cari SQLPLUS dan klik untuk membukanya

(2) Win key R key untuk membuka tetingkap run dan masukkan sqlplus

(3) Win kekunci R kekunci untuk membuka tetingkap jalankan dan masukkan cmd, kemudian dayakan sqlplus

3 Perbezaan antara pengguna SYS dan SYSTEM dalam Oracle

sys. , sistem, sysman Kata laluan bagi ketiga-tiga pengguna ini ialah kata laluan yang anda tetapkan semasa pemasangan.

sys sebagai sysdba ialah sysdba Log Masuk

Terdapat tiga identiti log masuk Oracle: identiti biasa biasa , identiti pentadbir sistem sysdba , identiti pengendali sistem sysoper, setiap identiti sepadan dengan kebenaran yang berbeza.

Pengguna SYS ialah pengguna super , terdapat Kebenaran tertinggi , dengan peranan SYSDBA, kebenaran pentadbir pangkalan data, boleh mencipta pangkalan data - dengan kebenaran mencipta pangkalan data .

Pengguna SISTEM ialah pengendali pengurusan , mempunyai peranan SYSOPE, mempunyai kebenaran operator pangkalan data dan tidak boleh mencipta Pangkalan Data - tidak mempunyai kebenaran mencipta pangkalan data .

4 Lihat nama pangkalan data global pangkalan data Oracle dan SID

Lihat nama pangkalan data global: pilih nama daripada v$database;

Lihat SID: pilih nama_contoh daripada v$instance;

5 oracle menggunakan ulasan

dalam sql

Komen baris tunggal bermula dengan --, contohnya:

--Ayat ini melihat nama pengguna semasa pilih pengguna daripada dwi;

Ulasan berbilang baris, bermula dengan /*, diikuti dengan ruang, berakhir dengan */, diikuti dengan ruang, contohnya:

/* Komen berbilang baris,

Pernyataan berikut adalah untuk melihat nama pengguna semasa* /

pilih pengguna daripada dwi;

6 Sambung ke pangkalan data

Syntax

CONN[ECT] [{Log Masuk |. / | Ejen }[AS {SYSOPER |SYSDBA |SYSASM}] [Versi=Nilai]]

di mana log masuk mempunyai sintaks berikut:

nama pengguna[/kata laluan] [@connect_identifier]

di mana ejen mempunyai sintaks berikut:

Pengguna Proksi[Nama Pengguna] [/Kata Laluan] [@connect_identifier]

Nota: Tanda kurung di sekeliling nama pengguna dalam ejen diperlukan sintaks, bukan petunjuk istilah pilihan. Contohnya, gunakan kata laluan untuk menyambung kepada pengguna melalui proksi. scottSambung jam[scott]/welcome1hrwelcome1

Contoh 1

Contoh mudah ini menyambung ke pangkalan data tempatan sebagai pengguna. SQL* Plus akan meminta kata laluan pengguna. SYSTEMSYSTEM

connect system
Salin selepas log masuk

Contoh 2

Contoh ini menyambung ke pangkalan data tempatan sebagai pengguna istimewa. SQL* Plus akan meminta kata laluan pengguna. SYSSYSDBASYS

connect sys as sysdba
Salin selepas log masuk

Apabila menyambung sebagai pengguna, anda mesti menyambung . SYSAS SYSDBA

Contoh 3

Contoh ini menggunakan Sistem pengendalian mengesahkan keistimewaan untuk sambungan tempatan. SYSDBA

connect / as sysdba
Salin selepas log masuk

Contoh 4

Contoh ini menggunakan sintaks sambungan mudah untuk menyambung sebagai pengguna ke pangkalan data jauh yang berjalan pada mesin hos. Pendengar Oracle Net (pendengar) sedang mendengar pada port lalai (1521). Perkhidmatan pangkalan data ialah . SQL* Plus akan meminta kata laluan pengguna. salesadmindbhost.example.comsales.example.comsalesadmin

connect salesadmin@"dbhost.example.com/sales.example.com"
Salin selepas log masuk

Contoh 5

Contoh ini adalah sama seperti Contoh 4, kecuali jenis pengendali perkhidmatan ditunjukkan.

connect salesadmin@"dbhost.example.com/sales.example.com:dedicated"
Salin selepas log masuk

Contoh 6

Contoh ini ialah sama seperti Contoh 4 adalah sama, kecuali pendengar sedang mendengar pada nombor port bukan lalai 1522.

connect salesadmin@"dbhost.example.com:1522/sales.example.com"
Salin selepas log masuk

Contoh 7

Contoh ini ialah sama seperti Contoh 4 adalah sama, kecuali alamat IP hos digantikan dengan nama hos.

connect salesadmin@"192.0.2.5/sales.example.com"
Salin selepas log masuk

Contoh 8

Contoh ini menggunakan Alamat IPv6 untuk disambungkan. Perhatikan kurungan segi empat sama sekeliling.

connect salesadmin@"[2001:0DB8:0:0::200C:417A]/sales.example.com"
Salin selepas log masuk

Contoh 9

Contoh ini menentukan Contoh untuk menyambung ke, dan meninggalkan nama perkhidmatan pangkalan data. Perkhidmatan pangkalan data lalai mesti ditentukan atau ralat akan dijana. Ambil perhatian bahawa jenis pengendali perkhidmatan tidak boleh ditentukan apabila hanya menyatakan contoh.

connect salesadmin@"dbhost.example.com//orcl"
Salin selepas log masuk

Contoh 10

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

connect salesadmin@sales1
Salin selepas log masuk

例子 11

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

connect /@sales1
Salin selepas log masuk

例子 12

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

connect /@sales1 as sysdb
Salin selepas log masuk

例子 13

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

connect salesadmin@sales1 edition=rev21
Salin selepas log masuk

例子 14

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

CONNECT HR@FLEETDB
Salin selepas log masuk

例子 15

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

CONNECT HR AS SYSDBA
Salin selepas log masuk

例子 16

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

CONNECT / AS SYSDBA
Salin selepas log masuk

在最后两个示例中,默认架构变为 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 密码;

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

buat nama pengguna pengguna yang dikenal pasti melalui kata laluan nama ruang jadual ruang jadual lalai;

【Padamkan perhubungan pengguna dan lata】

jatuhkan lata nama pengguna pengguna;

Menentukan lata akan memadamkan semua objek di bawah pengguna (termasuk jadual, pandangan, kunci utama, kunci asing, indeks, dsb.; tetapi ia tidak akan memadamkan prosedur tersimpan, fungsi, pakej). Jika tidak dinyatakan, hanya pengguna akan dipadamkan Secara umumnya disyorkan untuk menyatakan

[Maklumat pengguna pertanyaan]

<.>

oracle Lihat nama pengguna semasa:

tunjukkan pengguna atau pilih pengguna daripada dwi;

oracle Lihat semua nama pengguna:

pilih * daripada semua_pengguna;

Lihat semua maklumat berkaitan pengguna dalam pangkalan data (dengan syarat anda mempunyai akaun dengan pihak berkuasa DBA, seperti sys, sistem):

pilih * daripada dba_users;

Perhatikan bahawa asterisk * dalam pernyataan pertanyaan SELECT mewakili semua lajur

Lihat semua pengguna yang boleh anda urus:

pilih * daripada semua_pengguna;

Lihat maklumat pengguna semasa:

pilih * daripada pengguna_pengguna;

Soal ruang jadual yang sepadan dengan pengguna:

pilih nama pengguna,default_tablespace daripada dba_users;

Gunakan sekatan untuk menanyakan ruang jadual yang sepadan dengan pengguna:

pilih nama pengguna, default_tablespace daripada dba_users di mana nama pengguna='nama pengguna huruf besar';

(3) Tukar ruang yang Diberikan kepada pengguna

maklumkan nama pengguna ruang meja lalai nama pengguna;

(4) Berikan kebenaran kepada pengguna

Berikan kebenaran kepada nama pengguna;

Pengguna yang dibuat tidak mempunyai sebarang kebenaran secara lalai dan perlu diberikan kebenaran.

Pengguna berbeza yang log masuk ke pangkalan data yang sama mungkin melihat bilangan jadual yang berbeza dan mempunyai kebenaran yang berbeza. Keizinan Oracle dibahagikan kepada kebenaran sistem dan kebenaran objek data Terdapat lebih daripada 100 jenis secara keseluruhannya. Adalah sangat menyusahkan untuk memberi kebenaran kepada pengguna secara individu, jadi pengguna ini diklasifikasikan ke dalam kategori yang sama . Permudahkan dan izinkan operasi dengan jelas dengan menyediakan beberapa peranan dengan kebenaran yang telah ditetapkan. Pendekatan umum ialah: sistem memberikan kebenaran kepada peranan, dan kemudian memberikan peranan kepada pengguna Sudah tentu, ia juga boleh secara langsung memberikan kebenaran tertentu kepada pengguna. Oracle menyediakan kebenaran yang terperinci Keizinan boleh ditetapkan secara individu untuk lajur jadual tertentu, dan sekatan boleh ditambahkan secara automatik pada pertanyaan pengguna bagi jadual tertentu.

[Klasifikasi Kebenaran]

Kebenaran sistem: Sistem menetapkan kebenaran pengguna untuk gunakan pangkalan data. (Kebenaran sistem adalah untuk pengguna).

Kebenaran entiti: Hak akses pengguna kebenaran tertentu kepada jadual atau paparan pengguna lain. (Untuk jadual atau pandangan).

[Klasifikasi kebenaran sistem]

DBA: Mempunyai semua keistimewaan dan merupakan yang tertinggi dalam Kebenaran sistem, hanya DBA boleh mencipta struktur pangkalan data.

SUMBER: Pengguna dengan kebenaran Sumber hanya boleh mencipta entiti, bukan struktur pangkalan data.

CONNECT: Pengguna dengan kebenaran Connect hanya boleh log masuk ke Oracle dan tidak boleh mencipta entiti atau struktur pangkalan data.

[Klasifikasi kebenaran entiti]

pilih, kemas kini, masukkan, ubah, indeks , padam, semua (semua termasuk semua kebenaran), jalankan (kebenaran untuk melaksanakan prosedur tersimpan).

[Peranan]

Peranan ialah satu set kebenaran yang menetapkan peranan kepada Diberikan kepada pengguna, pengguna ini mempunyai semua kebenaran dalam peranan ini.

Peranan yang dipratentukan ialah beberapa peranan yang biasa digunakan yang dicipta secara automatik oleh sistem selepas pangkalan data dipasang. Berikut ialah pengenalan ringkas kepada peranan yang dijadualkan ini.

Lihat semua peranan:

pilih * daripada dba_roles;

Untuk melihat kebenaran yang terkandung dalam peranan, anda boleh menggunakan pernyataan berikut untuk bertanya:

pilih * daripada role_sys_privs di mana role='role name';

Lihat semua peranan dan kebenaran sistem yang dimiliki oleh pengguna log masuk pada masa ini:

pilih * daripada session_privs;

(5) Kemudian buat dengan Pengguna log masuk dan cipta jadual

sambungkan nama pengguna/kata laluan;

9. Buat ruang jadual untuk SQL amalan pernyataan

Log masuk dengan akaun pentadbir sistem

(1) Cipta ruang meja SKspace:

Format: cipta ruang jadual antara nama jadual fail data 'nama fail data' saiz ruang jadual saiz ruang jadual fail data dilanjutkan secara automatik

C##suke

Kata laluan ialah

suke123

, ruang jadual lalai ditetapkan kepada

SKspace, dan ruang jadual sementara ialahtempFormat: cipta nama pengguna pengguna yang dikenal pasti dengan kata laluan lalai jadual tablespace tablespace;buat pengguna C##

suke dikenal pasti oleh suke123 ruang meja lalai SKspace ruang meja sementara temp;

Ralat: Nama pengguna awam atau nama peranan tidak sah Kerana ia dicipta dalam CDB pada masa ini, dan mencipta pengguna dalam CDB mesti Tambah C# atau C##

(3) Cipta Pengguna tidak mempunyai sebarang kebenaran secara lalai dan perlu diberikan kebenaran.

Untuk kemudahan, keizinan peranan pentadbir (dba) diberikan kepada pengguna

C##suke

:

berikan dba kepada C##suke;

--menunjukkan pemberian kebenaran sambungan dan sumber kepada pengguna kajian

berikan sambungan, sumber untuk belajar;
 
--Menunjukkan pemberian kuasa dba untuk belajar

geran dba untuk mengkaji;

(4) Kini anda boleh menggunakan pengguna yang dibuat (gunakan pengguna yang dibuat sebelum ini C##sukeKata laluan ialah suke123) Log masuk:

sambung C## suke/suke123;

(5) Buat jadual selepas log masuk:

BUAT JADUAL kerja( id NUMBER(6),kod VARCHAR2(10 ), nama VARCHAR2(10));

(6) Masukkan data jadual ke dalam jadual yang dibuat (sedia ada) dan masukkan satu rekod:

INSERT INTO job (id ,kod,nama) NILAI(1,'NO1','Ujian');

(7) sudah Sisipkan data jadual ke dalam jadual yang dibuat (sedia ada) dan masukkan berbilang rekod:

INSERT ALL

MASUK kerja(id,kod,nama) NILAI(2,'NO2','Pembangunan')

MASUK kerja(id,kod ,nama ) NILAI(3,'NO3','Operasi dan Penyelenggaraan')

PILIH 1 DARI dwi;

(8) Data jadual pertanyaan:

PILIH * DARI job where id=1 ;

PILIH kod,nama DARI kerja di mana kod='NO2';

(9) Soal jadual yang dibuat oleh pengguna:

PILIH nama_jadual DARI ALL_TABLES WHERE OWNER=' C##suke';

Tidak dipilih rows

Pada mulanya saya menyangka pernyataan pertanyaan itu ditulis salah, tetapi selepas menukarnya ke kiri dan ke kanan, hasilnya masih sama.

Kemudian saya menyemak dalam talian dan mendapati bahawa "baris tidak dipilih" bukanlah ralat kerana tiada hasil yang sepadan dengan pernyataan pertanyaan dalam pangkalan data.

pilih kiraan(nama_jadual) daripada semua_jadual di mana pemilik='C##suke';

(10) Tanya struktur jadual yang dibuat oleh pengguna:

desc job ;

10. Padamkan ruang jadual kosong Oracle

(1) Padamkan ruang jadual kosong, tetapi tidak Mengandungi fail fizikal

lepaskan 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);
Salin selepas log masuk

(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) Soal data dalam jadual kerja

pilih * daripada kerja;

pilih id,kod,nama daripada kerja di mana id <

(7) Senaraikan kandungan penimbal: SENARAI

(8) tukar Ralat tetap

Apabila menanyakan arahan, kod telah tersilap ditaip ke dalam kose: pilih id, cose, nama daripada tugas; Bab 🎜>Jika terdapat ralat dalam beberapa baris , kod baris ralat boleh dipaparkan secara berasingan dengan memasukkan dan keluar nombor baris ralat.

Gunakan perubahan untuk membetulkan kod ralat: tukar /cose/kod;

Lari semula:

lari

(10) input untuk menambah baris syarat pertanyaan

Maklumat pertanyaan: SQL>

Tiba-tiba nak sort, tapi tak nak masukkan semula semua command, guna input untuk tambah syarat sorting berdasarkan lajur id. :

SQL> input 2 pesanan mengikut id;


(11)tambahkan Tambah syarat pertanyaan pada penghujung baris sebelumnya

Selepas membaca urutan utama dalam langkah (10), akibat gangguan obsesif-kompulsif Bagaimana jika anda ingin melihat imbasan kembali?

Pertama senaraikan kandungan penimbal: senarai

Tambah syarat pertanyaan pada penghujung baris sebelumnya: tambah penerangan

Nota: Bahagian tengah tambah desc ialah Dua ruang , jika anda hanya meninggalkan satu ruang, seperti yang ditunjukkan dalam mesej ralat berikut

Jalankan semula: jalankan

(12) del memadamkan baris terakhir keadaan pertanyaan

Senaraikan dahulu kandungan penimbal: senarai

Padamkan baris syarat pertanyaan sebelumnya: del

Jalankan semula: jalankan

(13) Paparkan semua maklumat dalam jadual kerja:

pilih * daripada pekerjaan;

(14) Penggunaan operator aritmetik

menyebabkan id 2*3 menjadi dipaparkan :pilih id 2*3,kod,nama daripada kerja;

(15) Penggunaan aksara

menyambungkan nombor unit dan nama unit: pilih kod || nama kod nama daripada kerja;

Sambungkan nombor unit dan nama unit dengan '-', dan keluarkan 'WORKS IN DEPARTMENT':

pilih id,kod||'-'||nama kod nama,'kerja dalam jabatan' daripada kerja;

(16) Klausa DISTINCT menghapuskan pendua
kerana apa yang kita ada di sini Data itu sendiri tidak mempunyai nilai pendua, jadi kami perlu menambah beberapa lagi data pendua:

MASUKKAN SEMUA

MASUK kerja(id,kod,nama) NILAI(1,'NO2','depan-hujung')

MASUK kerja(id,kod,nama) NILAI(2,'NO2','Backend')

MASUK kerja(id,kod,nama) NILAI(3,'NO3','Internet Perkara')

PILIH 1 DARI dwi;

Jika anda menyenaraikan semua nombor id unit dalam kerja jadual: pilih id daripada kerja;

Seperti yang dapat dilihat daripada jadual di atas, terdapat ialah penduaan antara nombor siri id unit, anda boleh menggunakan klausa DISTINCT untuk menghapuskan pendua:

pilih id yang berbeza daripada kerja;

(17) Isih (susun positif lalai)

Isih mengikut id medan tunggal: pilih * daripada pesanan kerja mengikut id;

Isih mengikut berbilang medan: seperti id nombor siri unit Dalam tertib menaik, isi mengikut nama unit dalam tertib menurun:

Kaedah 1: Semak mata pengetahuansenarai dan tambah penggunaan

Kaedah 2: pilih * daripada pesanan kerja mengikut id, penerangan nama;

(19) Pertanyaan bersyarat
Soal semua nombor siri unit, nombor unit dan maklumat nama unit yang id nombor siri unitnya ialah 2:

SQL> pilih * dari kerja di mana id = 2;

Soal nama unit dengan nombor unit lebih daripada 1 daripada jadual kerja:

SQL> pilih id, nama dari id tempat > 🎜>

Pertanyaan keadaan kompleks: Tanya semua maklumat unit yang nombor siri unitnya lebih besar daripada 1 dan nombor unit ialah 'NO3', atau nama unit ialah 'Front End ': SQL> pilih * daripada kerja di mana id > 1 dan kod = 'NO3' atau nama = 'front-end';

( 20) Permohonan pengendali

Permohonan ANTARA:

Id nombor siri unit pertanyaan adalah antara 2 dan 3 Semua maklumat unit:

SQL> 🎜>

DALAM aplikasi:

Kod nombor unit pertanyaan mempunyai 'NO2', 'NO3' Semua maklumat unit salah satu daripada dua:

SQL> pilih * daripada kerja di mana kod masuk (' NO2','NO3');

Permohonan LIKE:

Soal maklumat semua unit yang namanya bermula dengan perkataan 'luck':

SQL> pilih * daripada kerja di mana nama seperti 'luck% ';

Nama pertanyaan hanya mempunyai tiga aksara Semua maklumat unit:

SQL> pilih * daripada kerja dengan nama seperti '___';

Permohonan IS NULL:

Pertanyaan semua maklumat unit tanpa nama unit:

Tambahkan no unit dahulu Maklumat nama: SQL> INSERT INTO job(id,code) VALUES(1,'NO1');

Soal semua maklumat unit tanpa nama unit: SQL>

(21) Pembolehubah penggantian ampers tunggal

Input pembolehubah angka:

SQL> pilih * dari pekerjaan di mana &job_id; Masukkan nilai job_id: id = 2

Input pembolehubah rentetan:

SQL> pilih id*10 , kod,nama dari kerja di mana kod = '&job_code';
Masukkan nilai job_code: NO3


(22) Penukaran jenis data

TO_NUMBER Tukar data rentetan kepada nombor: SQL> pilih ke_number('33') daripada dwi ;

TO_CHAR Tukar data angka kepada aksara Rentetan : SQL> pilih to_char(2) daripada kerja;

TO_CHAR Tukar data rentetan kepada data tarikh:

SQL> pilih to_char(sysdate,'yy-mm-dd hh24: mi:ss') daripada dual;

TO_DATE Tukar data rentetan kepada data tarikh:

SQL> pilih to_date('2005-12-25,13:25:59' ,'yyyy -mm-dd,hh24:mi:ss') daripada dwi;

(23 ) Penggunaan fungsi kumpulan

Cari purata: SQL> pilih purata(id) daripada kerja;

Cari nilai minimum: SQL> NO3';

Cari nombor: SQL> pilih kiraan(*) daripada kerja di mana id = 2;

Nota: Memandangkan jadual unit kerja saya tidak sesuai untuk pertanyaan berikut, saya menggunakan gambar orang lain untuk menunjukkannya

KUMPULAN MENGIKUT ayat kecil: Cari purata gaji di setiap jabatan:

Klausa MEMPUNYAI: Soal jabatan yang mempunyai lebih daripada 3 orang Gaji purata:

(24) Sambung

Nota sekali lagi: Jadual unit kerja saya juga tidak sesuai untuk pertanyaan berikut Saya akan tunjukkan sekali lagi dengan gambar orang lain

Soal pekerja daripada EMP dan. Nama DEPT, jawatan dan nama jabatan:

(25) Permohonan subkueri

Nota sekali lagi: Jadual unit kerja saya juga tidak sesuai untuk pertanyaan berikut Saya akan tunjukkan sekali lagi dengan gambar orang lain

Soal pekerja dengan gaji terendah daripada EMP:

Pertanyaan daripada EMP Find pekerja bergaji paling rendah dalam setiap jabatan:

Tutorial yang disyorkan: "Tutorial Video Oracle"

Atas ialah kandungan terperinci Ringkasan penggunaan operasi SQLPlus dalam Oracle 12c. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:csdn.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan