Die grundlegende Funktionsweise der Oracle-Datenbanktabelle und die Lösung des Problems des Nullwerts

1. Klassifizierung der Oracle-Datenbanksprache:

1) DDL: Datendefinitionssprache, die eine Rolle in der Datenstruktur spielt

  • erstellen: Objekt erstellen

  • alter: ändere ein Objekt

  • drop: lösche ein Objekt

  • abschneiden: Daten löschen + implizite Übermittlung

    2) DCL: Datensteuerungssprache

  • Zuschuss: Zuschuss

  • widerrufen: Recycling

    3) DQL: Datenabfragesprache

  • Wählen Sie: Abfrage

    4) DML: Datenmanipulationssprache, die an Daten arbeitet

  • Einfügen: Daten hinzufügen

  • Löschen: Daten löschen

  • Update: Daten ändern + explizit senden

    5) TCL: Transaktionssteuerungssprache (arbeitet an DML)

  • Festschreiben: Festschreiben

  • Sicherungspunkt: Speicherpunkt, der beim Rollback verwendet wird

  • Rollback: Rollback

2. Unterscheiden zwischen Löschen, Löschen und Abschneiden? (Interview Frage)

1) Sprachklassifizierung: Löschen ist Datenmanipulationssprache (DML), Löschen und Abschneiden sind Datendefinitionssprache (DDL).

2) Inhalt löschen: Durch Löschen wird das gesamte Objekt gelöscht, durch Abschneiden werden die Daten im Objekt gelöscht, durch Löschen werden die Daten gelöscht

3) Ist ein Rollback möglich: Löschen ist rollbar, Ablegen und Abschneiden sind nicht rollbar

3. Allgemeine Befehle:

1) Datenbankobjekte erstellen:

Syntax:

create table 表名(字段1 数据类型,字段2 数据类型,.......);

2)) Daten hinzufügen:

Syntax:

insert into 表名 values(1,值2...); //表中有几个字段,对应就有几个值

insert into 表名(字段1,字段2values(1,值2);//给必须赋值的字段添加数据

3) Daten abfragen:

Syntax:

select * from 表名;

select 字段1,字段2 from 表名;

select 表达式 from dual; //dual是虚表(一行一列的虚表)

4) Struktur der Abfragetabelle:

Syntax:

  desc 表名;

5) Ändern Sie die Daten:

Syntax:

  update 表名 set 字段 = '值' where 字段 = '值';

6) Daten löschen:

Syntax:

  delete from 表名 where 字段='值';

4. Der Datentyp der Oracle-Datenbank:

1) Nummerntyp:

  • Nummer (n): Nummer (die längste ist n Ziffern)
  • Zahl (n, m): das längste n mit m Nachkommastellen

Zum Beispiel: Was ist der Maximalwert der Zahl (5,2)? 999,99

2) Charaktertyp: (Interviewfrage: Unterscheide char, varchar, varchar2)

  • char (n): feste Länge n Wenn die Länge der eingefügten Daten kleiner als n ist, muss sie mit Leerzeichen gefüllt werden
  • varchar (n): variable Länge Wenn die Länge der eingefügten Daten kleiner als n ist, entspricht die zuletzt angezeigte Zeichenlänge der Länge der eingefügten Daten
  • varchar2 (n): Die Verwendung stimmt mit varchar überein. varchar2 ist ein eindeutiger Typ der Oracle-Datenbank

3) Datumsart:

  • Datum

Nachdem wir die allgemeinen Befehle und Datentypen von Oracle kennengelernt haben, nehmen wir ein Beispiel:

create table dept_jinli( deptno number(2) , dname char(20) , location char(20)) ;
insert into dept_jinli values(10 , 'developer' , 'beijing') ; 
insert into dept_jinli values(20 , 'account' , 'shanghai') ;
insert into dept_jinli values(30 , 'sales' , 'guangzhou') ; 
insert into dept_jinli values(40 , 'operations' , 'tianjin') ; 
commit ;


create table emp_jinli( 
empno number(4) , 
ename varchar2(20) , 
job varchar2(15) , 
salary number(7 , 2) , 
bonus number(7 , 2) , 
hiredate date, 
mgr number(4) ,
deptno number(10));

insert into emp_jinli values( 1001 , '张无忌' , 'Manager' , 10000 , 2000 ,
                                 to_date( '2010-12-12' , 'YYYY-MM-DD' ) , 1005 , 10) ; 
insert into emp_jinli values( 1002 , '小苍' , 'Analyst' , 8000 , 1000 , 
                                 to_date( '2011-01-01' , 'YYYY-MM-DD' ) , 1001, 10) ; 
insert into emp_jinli values( 1003 , '李怡' , 'Analyst' , 9000 , 1000 ,
                                 to_date( '2010-01-11' , 'YYYY-MM-DD' ) , 1001, 10) ;
insert into emp_jinli values( 1004 , '郭芙蓉' , 'Programmer' , 5000 , null , 
                                 to_date( '2011-07-01' , 'YYYY-MM-DD' ) , 1001 , 10) ; 
insert into emp_jinli values( 1005 , '张三丰' , 'President' , 15000 , null ,
                                 to_date( '2008-05-15' , 'YYYY-MM-DD' ) , null , 20) ; 
insert into emp_jinli values( 1006 , '燕小六' , 'Manager' , 5000 , 400 , 
                                 to_date( '2009-02-01' , 'YYYY-MM-DD' ) , 1005 , 20) ;
insert into emp_jinli values( 1007 , '陆无双' , 'clerk' , 3000 , 500 ,
                                 to_date( '2009-02-01' , 'YYYY-MM-DD' ) , 1006 , 20) ;
insert into emp_jinli values( 1008 , '黄蓉' , 'Manager' , 5000 , 500 , 
                                 to_date( '2009-05-01' , 'YYYY-MM-DD' ), 1005 , 30) ; 
insert into emp_jinli values( 1009 , '韦小宝' , 'salesman' , 4000 , null , 
                                 to_date( '2009-02-20' , 'YYYY-MM-DD' ) , 1008 , 30) ; 
insert into emp_jinli values( 1010 , '郭靖' , 'salesman' , 4500 , 500 , 
                                 to_date( '2009-05-10' , 'YYYY-MM-DD' ) , 1008 , 30) ;

Mitarbeiter- und Abteilungstabelle abfragen:

select * from emp_jinli;
select * from dept_jinli;

Fragen Sie das monatliche und jährliche Gehalt der Mitarbeiter in der Mitarbeitertabelle ab

select ename ,salary ,salary*12+bonus from emp_jinli;

Es gibt ein Problem mit der obigen Formel. Wie in der Abbildung gezeigt, ist das Jahresgehalt einiger Personen null:
Fügen Sie hier eine Bildbeschreibung ein

5.null:

1) Alle Daten können leer sein

2) Wenn null an der Operation teilnimmt, ist das Ergebnis leer

3) Der Nullwert und die Zeichenfolge werden gespleißt, dann ist null gleich no (die Spleißoperation in der Oracle-Datenbank verwendet '||' plus Pluszeichen in Java).

6.nvl (Feld 1, Wert 1):

Funktion zur Behandlung von Null Wenn das Feld 1 Null ist, wird der Wert 1 angezeigt

Hinweis :

  • nvl (d1, d2) muss sicherstellen, dass die Datentypen von d1 und d2 konsistent sind

  • nvl2 (Ausdruck, d1, d2): Beurteilen Sie den Ausdruck, wenn der Ausdruck gilt, und führen Sie dann d1 aus, andernfalls führen Sie d2 aus, was dem Ausdruck der trinokularen Operation entspricht. Wert 1: Wert 2

Die obige Situation kann also folgendermaßen geändert werden:

select ename,salary ,salary*12+nvl(bonus,0) from emp_jinli;

Das Rendering zu diesem Zeitpunkt ist:
Fügen Sie hier eine Bildbeschreibung ein

Veröffentlicht 24 Originalartikel · Gelobt 41 · Besuche 2778

Ich denke du magst

Origin blog.csdn.net/abc701110/article/details/105532384
Empfohlen
Rangfolge