SQL Structured Query Language Enzio Thiem INHALT • • • • • • • • • • • • • • CREATE TABLE Anweisung Gängige Datentypen Beispiel CREATE TABLE Beispiel CREATE TABLE - erweitert Beispiel Ausgangstabelle Beispiel Hilfstabelle Beispiel SQL phpMyAdmin CREATE TABLE DROP INSERT UPDATE SELECT ALTER TABLE SQL SQL Structured Query Language interaktiv DDL Data Definition Language DDL Data Definition Language DDL Data Definition Language CREATE DROPE ALTER SELECT INSERT UPDATE DELETE GRAND REVOKE Programm Relationale Datenbank, Tabellen, Indizes, Views CREATE TABLE Anweisung CREATE TABLE beispieltabelle ( spatenname datentyp [not null] spatenname datentyp [not null] … spatenname datentyp [not null]) Gängige Datentypen • • • • • • integer - Binärzahl (4Byte) smallint - Binärzahl (2Byte) float(p) – Gleitkomma mit Genauigkeit p-Stellen decimal (p,q) max. 15 Stellen(p),q-Nachkommastellen character(n)- kurz char(n)- Zeichenkette Date, time, timestamp – Zeit Beschreibung und Mehr: http://de.wikipedia.org/wiki/SQL#SQL-Datentypen Beispiel CREATE TABLE CREATE TABLE tbl_mitarbeiter ( P_NR integer not null NAME char(20) not null GEHALT decimal(9,2) EINSTELLUGSDATUM date ) Beispiel CREATE TABLE - erweitert CREATE TABLE tbl_mitarbeiter ( P_NR integer not null NAME char(20) not null GEHALT decimal(9,2) check EINSTELLUGSDATUM date PRIMARY KEY (P_NR) FOREIGN KEY (ABT) REFERENCES (ABT) ON DELETE RESTRICT) Beispiel (Ausgangstabelle) Ausgangstabelle in EXCELL Beispiel (Hilfstabelle) Spaltenname Datentyp Länge Spaltenbedingung Pnr int Name varchar 50 NOT NULL Vorname varchar 50 NOT NULL Geschlecht char 1 Abtnr int Eintritts-datum date Grundgehalt decimal(8,2) PK, NOT NULL Beispiel (SQL) Spaltenname Datentyp Länge Spaltenbedingung Pnr int Name varchar 50 NOT NULL Vorname varchar 50 NOT NULL Geschlecht char 1 Abtnr int Eintritts-datum date Grundgehalt decimal(8,2) PK, NOT NULL CREATE TABLE tbl_Personal ( Pnr INT NOT NULL, Name VARCHAR( 50 ) NOT NULL, Vorname VARCHAR( 50 ) NOT NULL, Geschlecht VARCHAR( 1 ), Abtnr INT, Eintritts-datum DATE, Grundgehalt DECIMAL( 8,2 ), PRIMARY_KEY ( Pnr ) ); phpMyAdmin – login • freie PHP-Applikation zur Administration von MySQL-Datenbanken. Die Administration erfolgt überHTTP mit einem Browser phpMyAdmin - Oberfläche • freie PHP-Applikation zur Administration von MySQL-Datenbanken. Die Administration erfolgt über HTTP mit einem Browser Eine angelegte Datenbank Eine angelegte Datenbank Breadcrumb navigation Register - Menü phpMyAdmin – Tabelle erstellen Tabelle erstellen Tabelle bearbeiten CREATE TABLE CREATE TABLE tbl_Personal ( Pnr INT NOT NULL, Name VARCHAR( 50 ) NOT NULL, Vorname VARCHAR( 50 ) NOT NULL, Geschlecht VARCHAR( 1 ), Abtnr INT, Eintritts-datum DATE, Grundgehalt DECIMAL( 8,2 ), PRIMARY_KEY ( Pnr ) ); DROP TABLE • DROP TABLE tbl_uebung – löscht Tabelle tbl_uebung • DROP TABLE IF EXISTS tbl_uebung – löscht Tabelle tbl_uebung falls sie existiert INSERT Einfügen von Werten in alle Spalten INSERT INTO tbl_Personal VALUES ( 1,'Eifer','Rik','m',4,'01.02.2005',3800.00 ) Einfügen von Werten in spezielle Spalten INSERT INTO tbl_Personal (Pnr, Name, Vorname, Eintrittsdatum) VALUES (2,'Meyer','Luise','01.03.2006') UPDATE Ändern UPDATE tbl_Personal SET Eintrittsdatum='2007-01-21' WHERE Pnr=1; Welche Tabelle soll geändert werden Mit welchen Werten? Welcher Datensatz UPDATE tbl_Personal SET Grundgehalt=2520 WHERE Grundgehalt<2500; Welcher Datensatz DELETE Löschen DELETE FROM tbl_Personal Where Pnr=4; In welcher Tabelle soll etwas gelöscht werden Welcher Datensatz soll gelöscht werden SELECT Anzeigen SELECT * FROM tbl_Personal WHERE Pnr=2 Aus welcher Tabelle soll etwas angezeigt werden Welcher Datensatz soll angezeigt werden ALTER TABLE Einfügen einer neuen Spalte ALTER TABLE tbl_personal ADD email VARCHAR(50);