SQL Befehle

show databases; zeigt Datenbanken an

use *Benutzer*; mit Datenbank verbinden

show tables; zeigt Tabellen

drop table *Tabellenname*; löscht Tabelle

create table *Name* ( ….ID int erstellt Tabelle mit AutoWert und not null auto_increment primary key); Primärschlüssel

describe *Tabellenname*; zeigt und beschreibt Tabelle

create database *Name*; erstellt Datenbank

char (zahl) Zeichen ( anzahl der Zeichen)

varchar (200) Zeichen (max zahl) speichert bloß ist-Zahl

float (6,2) Zahl ( 6 = Stellenzahl, 2 = Nachkommastellen)

alter table *Tabellenname* modify ändert nur Datentyp *Spalte* und anderen Wert;

alter table *Tabellenname* change ändert nur Spaltenname *Spalte alt* *Spalte neu*+Datentyp;

alter table *Tabellenname alt* ändert Tabellen Name

rename *Tabellenname neu*; oder rename table *Tabellenname* to *Tabellenname neu*;

alter table *Tabellenname* drop löscht Spalte *Spaltenname*;

alter table *Tabellenname* add fügt Spalte hinzu *Spaltenname* + Datentyp;

alter table *TN* alter *SN* set default setzt Standardwert *neue Bezeichnung*;

show status; zeigt DB-Status

show variables; zeigt Variablen

show processlist; zeigt Nutzer

show table status from *DB Name*; zeigt kompletten DB-Status

insert into *TN* values (……..,……,……); füllt Tabelle

select * from *TN*; zeigt eingegebene Werte (* = Wert der gezeigt werden soll)

update *TN* set *SN*=“neuer Name“ ändert Einträge  where *AutoWertSp*=?; geht auch mit mehreren Werten (…,…,…)

delete from *TN* where*SN*=?; Löscht jeweiligen Datensatz

load data infile local “C:\ Pfad” fügt Daten aus einer Textdatei ein into table *TN* fields terminated by “,”; z.B. (Danny, Claus, …..) nur txt Dateien
(Trennung geht auch mit “#”) z.B. (Danny#Claus#.....) nur txt Dateien

Abfragen in einer Tabelle

- zeigt mir die Werte von Spalten an z.B. select Artikel.Artikelbezeichnung, Einkaufspreis,….. from Artikel

- zeigt mir alle Händler die in Halle wohnen z.B. select Name from Haendler, Ort where Haendler.OrtNr=Ort.OrtNr and Ort.Ort=“Halle“;

- zeigt alle Artikel mit dem Einkaufspreis < 3.00 Euro z.B. select Artikel.Artikelbezeichnung from Artikel where Einkaufspreis < 3.00;

- schreibt einen anderen Namen in den Tabellenkopf  z.B. *SN* as “Euro”; (leer und Sonderzeichen gehen nur wenn hochstriche da sind)

- zeigt alle Artikel mit der ArtikelNr zwischen 2 und 5 z.B. select Artikel.Artikelbezeichnung, ArtikelNr from Artikel where ArtikelNr >=2 and ArtikelNr<=5;

oder select Artikel.Artikelbezeichnung, ArtikelNr from Artikel where ArtikelNr between 2 and 5;

- Alphabetisch sortieren ( zeigt alle Artikel zwischen 2 und 5 und alle Artikel zwischen 10 und 14) z.B. select Artikel.Artikelbezeichnung, ArtikelNr from Artikel where Artikel.ArtikelNr between 2 and 5 or Artikel.ArtikelNr between 10 und 14 order by Artikel.ArtikelNr; (mit Endung desc wird nach unten sortiert und asc/[ohne] wird nach oben sortiert)


- zeigt alle Artikel die mit B anfangen z.B. select Artikel.Artikelbezeichnung from Artikel where Artikel.Artikelbezeichnung like “B%”;

- zählt alle Artikel, die mit dem Buchstaben S anfangen z.B. select count(*) as “Artikel mit S” from Artikel where Artikel.Artikelbezeichnung like “S%”;

- errechnet die Summe aller Einkaufspreise z.B. select sum(Artikel.Einkaufspreise) from Artikel;
für sum geht auch: - min… Kleinste

z.B. select round(avg(Artikel.Einkaufspreis),2) die 2 nach dem Komma zeigt die Stellen an, auf die grundet werden soll

Abfragen über zwei Tabellen

- zeigt Händler und ihre Orte an z.B. select Haendler.Name, Ort.Ort from Haendler, Ort where Haendler.OrtNr=Ort.OrtNr;

Auswahlabfrage: select * from [tabname]
- gibt alle Datensätze aus angegebener Tabelle aus
- berücksichtigt alle Spalten (* für alle Spalten)

select Spaltenname from [tabname]
- liest nur die angegebenen Spalten aus

order by
- ordnen der Ergebnismenge
- Bsp.: select companyname from costumers order by companyname
- Schlüsselwörter: -Desc für absteigende Sortierung
-Asc für aufsteigende Sortierung ( Standart)
wird am Ende des Befehls angehangen

Einschränken der ausgewählten Datensätze:
select * from [tabname] where feldname = Bedingung
- mehrere Bedingungen lassen sich mit and und or verknüpfen
- mit not kann auch verneint werden

Platzhalter:

% steht für beliebig viele Zeichen
_ Unterstrich steht für genau ein beliebiges Zeichen
^ Negation
select * from customers where city like ‘b%’ - gibt alle Städte mit B am Anfang zurück
select * from customers where city like ‘[^b]%’ - gibt alle Städte die nicht mit B beginnen zurück

[ ] eckige Klammern fassen Buchstabenbereiche zusammen

Schlüsselwörter der where Klausel

between zwischen zwei Werten
select * from orders where OrderID between 11000 and 11050 - zeigt alle Werte zwischen 11000 und 11050
select * from orders where OrderID IN (11000,11001)
select * from customer where city IN (‘berlin’,’madrid’)

 

Exists Auswahl in Abhängigkeit einer anderen Datenmenge
select * from tabname1 where Exists (select * from tabname2 where tabname2.ID = tabname1.ID)
Alle Bedingungen sind durch ein not umkehrbar.


Aktuallisieren von Datensätzen:

Update[tabname] set feldname=wert where feldname=Bedingung