Sie sind auf Seite 1von 12

M.H.

DATENMANAGEMENT - STATEMENTS
Anmerkung:

1. select artnr, ekpreis


2. from artikel

IST DAS GLEICHE WIE:

1. select artnr, ekpreis from artikel

Es spielt also keine Rolle, ob ihr die Befehle in eine gleiche Zeile schreibt, oder ob ihr
Ordnung schaffen – und pro Zeile je ein Statement der gewünschten Anforderung
aufziehen möchtet.

Use, select und from

use bba_TrailWS21;

select * from artikel;

delete

delete from artikel

where artnr = 1001;

update

update artikel

set artnr = 2

where artnr = 1001;

use, select, from, where, between, order by

use bba_TrailWS21;
M.H.

select artnr, ekpreis

from artikel

where artnr between 1010 and 1013

order by ekpreis;

group by

select gruppe as vkpreis

from artikel

group by gruppe;

count (*)

select count(vkpreis)

from artikel;

Summierung

select sum(vkpreis)

from artikel;

Maximalwert

select max(vkpreis)

from artikel;

Minimalwert

select min(vkpreis)

from artikel;

Count mit group by

select artnr, count(*) from artikel

group by bezeichnung;
M.H.

Durchschnitt (avg)

select avg(vkpreis)

from artikel;

select, from in einer Zeile

select * from gruppen1;

select * from gruppen2;

inner join

select gruppen1.bezeichnung

from gruppen1

inner join gruppen2

on gruppen1.bezeichnung = gruppen2.bezeichnung;

where mit mehreren Spalten

select anrnr, text, briefkopf, briefanrede

from anreden

where anrnr = 1;

update mit Namen anstatt Zahlen

use bba_TrailWS21;

update abteilungen

set abtnr = 'PI'

where abtnr = 'EK';

order by mit ASC (aufsteigend)

Select * from artikel

order by artnr ASC;


M.H.

order by mit DESC (absteigend)

Select * from artikel

order by artnr DESC;

drop table

Drop table abteilungen;

Drop column

Alter table abteilungen

Drop column abtnr;

Alter table

Alter table abteilungen

Add Abteilungsleiter varchar(20);

Like

use bba_TrailWS21;

select artnr

from artikel

where artnr

like 1177; // Wir wollen nur Ergebnisse mit der Artikelnummer 1177

Create database

create database bbaTrail_WS21_Filmsammlung;


M.H.

Create Table

create table Film(


ID_Film int auto_increment unique primary key not null,

Kopieversion varchar(25),
Titel varchar(256) not null unique,
Jahr year(4),
Land varchar(50),
Sprache varchar(25),
Länge time,
FSK varchar(3)
);

Insert into

insert into Film(Kopieversion, Titel, Jahr, Land, Sprache, Länge, FSK)


values ('001-A', 'Halfway to Heaven', 1929, 'USA', 'Englisch', '01:10:15', '-16');

FRAGEN AUS DER ÜBUNG 12.02.21

Zeigen Sie den Inhalt der Tabelle „artikel“

Select * from artikel;

Zeigen Sie den Inhalt der Tabelle „artikel“, aber nur die ersten 10 Ausgaben

Select * from artikel

Limit 10;

Zeigen Sie den Inhalt der Tabelle „artikel“, aber nur die letzten 5 Ausgaben und ordnen Sie
dafür nach der Bezeichnung absteigend

Select * from artikel

Order by bezeichnung desc

limit 5;
M.H.

Zählen Sie den Inhalt (alle Zeilen) der Tabelle „artikel“

Select count(*) from artikel;

Zeigen Sie den Inhalt der Tabelle „kunden“

Select * from kunden;

Zeigen Sie in der der Tabelle „kunden“ alle Nachnamen mit einem „r“ an 3. Stelle und lassen
Sie sich zusätzlich die dazugehörige Kundennummer anzeigen

Select kdnr, nachname

From kunden

Where nachname

Like ‘__r%’ // dabei 2 Unterstriche vor dem „r“ setzen, um 2 „ausgelassene“ Buchstabenplätze zu
symbolisieren

Zeigen Sie den Inhalt der Tabelle „anreden“

Select * from anreden;

Modifizieren Sie den Inhalt der Tabelle „anreden“ so, dass die Anredenummer, der Text, der
Briefkopf und die Briefanrede die Werte in chronologischer Reihenfolge „6“, „Frau“, „Frau“,
„Liebe Frau“ beigefügt bekommen

Insert into anreden (anrnr, text, briefkopf, briefanrede)

Values (6, `Frau`, `Frau`, `Liebe Frau`);

Ändern Sie den Inhalt der Tabelle „anreden“ so, dass „Frau“, „Frau“ und „Liebe Frau“ an der
Stelle von der Anredenummer „6“ auf „Mann“, „Mann“ und „Lieber Mann“ gesetzt werden

update anreden

set text = `Mann`, briefkopf = ‘Mann‘, briefanrede = `Lieber Mann`

where anrnr = 6;
M.H.

Zeigen Sie denjenigen akademischen Grad der Tabelle „kunden“, welcher Null (leere Zeile mit
„null“) ist

Select * from kunden

where akadgrad is null;

Zeigen Sie denjenigen Titel der Tabelle „kunden“, welcher nicht Null (keine leere Zeile mit
„null“) ist

Select * from kunden

where titel is not null;

Ändern Sie den Inhalt der Tabelle „kunden“ so, dass „firma1“ an der Stelle der Kundennummer
= 124 auf „Schlecker“ gesetzt wird

update kunden

set firma1= `Schlecker`,

where kdnr = 124;

Führen Sie einen „inner join“ aus, indem alle Artikelnummern und Liefernummern von den
Tabellen „artikel“ und „lieferanten“ ausgegeben werden

select artikel.artnr, lieferanten.liefnr

from artikel

inner join lieferanten

on artikel.artnr = lieferanten.liefnr;

Führen Sie einen „inner join“ aus, indem das Datum und alle dazugehörigen Bestellnummern
und Liefernummern von den Tabellen „bestellungen“ und „lieferanten“ ausgegeben werden

select bestellungen.bestnr, bestellungen.datum, lieferanten.liefnr

from bestellungen

inner join lieferanten

on bestellungen.bestnr = lieferanten.liefnr;
M.H.

Erstellen Sie eine neue Datenbank mit dem Namen „Mitarbeiter“

create database bbaTrail_WS21_Mitarbeiter;

Erstellen Sie eine neue Tabelle mit dem Namen „Mitarbeiter1“, um den ersten Mitarbeiter zu
charakterisieren und achten Sie dabei darauf, dass für jeden Mitarbeiter immer das gleiche
Passwort „hallo“ festgelegt wird, das Geburtsdatum, die ID und der Name mit einfließen

create table Mitarbeiter1(


ID_Mitarbeiter int auto_increment unique primary key not null,

Name varchar(25),
Passwort varchar (25) default `hallo`,
Geburtsdatum datetime not null

);

Fügen Sie in die Tabelle „Mitarbeiter 1“ für das Geburtsdatum einen x-beliebigen Wert mit ein

insert into Mitarbeiter1(Geburtsdatum)


values ('1987-07-06 12:03:56');
M.H.

ZUSÄTZLICHE BEFEHLE
Alias

select artnr as Artikelnummer

from artikel

“artnr” wird nun als Artikelnummer angezeigt

Alias mit Joins

Select mit alias

select artikelgruppen.artgr as Wichtig, gruppen1.id as Name

from artikelgruppen

inner join gruppen1

on artikelgruppen.artgr = gruppen1.id;

From mit alias

select Artikel.artgr, Gruppe.id

from artikelgruppen as Artikel

inner join gruppen1 as Gruppe

on Artikel.artgr = Gruppe.id;

Da wir „gruppen1“ und „artikelgruppen“ durch eine Alias-Funktion nun unbenannt haben, müssen
ebenfalls alle Stellen, an denen „gruppen1“ und „artikelgruppen“ genannt werden müssen, umbenannt
werden zu „Artikel“ und zu „Gruppe“. Wir benennen also erst „artikelgruppen“ und „gruppen1“ durch
ein „as“ in from und bei inner join um und erstellen dann im Nachhinein die Select- und on-Zeile.
M.H.

Foreign Key

create table Videomaterial(


ID_ Videomaterial int auto_increment unique primary key not null,
Titel varchar(256) not null unique,

Drehort varchar(256) not null unique

);

create table Produzent(


ID_ Produzent int auto_increment unique primary key not null,
Name varchar(256) not null unique

ID_ Videomaterial int not null

foreign key (ID_Videomaterial) references Videomaterial (ID_Videomaterial)

);

Erklärung:

Es ist wichtig, 2 Tables zu erstellen, im 2. Table wird immer Bezug auf den ersten (oder vorig
erstellte) Table genommen durch das „foreign key“.

Der Inhalt der Klammer bei „foreign“ (foreign key (ID_Videomaterial)) bezieht sich auf
dasjenige Attribut im 2. Table, welches mit dem 1.Table in Relation gebracht werden soll. Ganz
wichtig hierbei: Es muss der Primärschlüssel des 1. Tables im 2. Table Erwähnung finden und
verknüpft werden. Mit dem Statement „reference“ ziehen wir eine Referenz zu dem 1. Table
(Videomaterial) und schreiben in die Klammer den Primärschlüssel des 1.Tables
(ID_Videomaterial).
M.H.

Create Table auf 2 Weisen

use bbaTrail_WS21_Video;

create table Produzent(

ID_Produzent int auto_increment not null primary key,

Name varchar(20),

ID_Videomaterial int,

foreign key (ID_Videomaterial) references Videomaterial(ID_Videomaterial)

);

Wird „use“ nicht verwendet, muss vor dem Tabellennamen mit einem Punkt noch der Name der
Datenbank genannt werden.

create table bbaTrail_WS21_Video.Mitarbeiter (

ID_Mitarbeiter int auto_increment not null primary key,

Name varchar(20),

ID_Produzent int,

foreign key (ID_Produzent) references Produzent(ID_Produzent)

);

Case-When-Else

select anrnr, case

when anrnr between 1 and 5 then 'Herr'

when anrnr between 6 and 13 then 'Frau'

when anrnr = 14 then 'Professor'

else 'Keine Anrede'

end as 'Anrede'

from anreden;
M.H.

Das könnte Ihnen auch gefallen