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