72
IT (Subject) / Mysql (Lesson)
Advertisement
- Anmeldung &Abmeldung 1. cmd 2. mysql -h "Name des Hosts".de - user NR -p 3. PW 4. quit;
- Welche Datenbanken sind im Server enthalten? Show Databases;
- letzter Befehl noch einmal î
- Vor dem erstellen/ verändern von Daten use <dbname> -> greift auf bestimme Datenbank zu
- vorhandene Tabellen anzeigen show tables;
- auf Test Datenbank zugreifen use test;
- Tabelle erstellen create table NAMETAB (Überschrift1 varchar (Zeichenzahl), Überschrift2 int...);
- Zeile zu Tabelle hinzufügen insert into...;
- Alles anzeigen was in Tabelle... ist select * from...;
- Tabelle löschen drop table...; drop table ...if exists;
- Advertisement
- anzeigen wie Tabelle aufgebaut ist describe...;
- Tabelle erstellen, Zahlenfeld angeben int
- Tabelle erstellen mit Buchstaben varchar
- Null Values/ Null Werte Definition Zusätzlich benötigtes Element, weil möglich dass Zahl in Spalte nicht gewusst wird. "0" wäre auch keine Zahl "nothing, unknown" Deshalb kann man künstliche Zahl NULL eingeben "ich kenne Wert nicht" Zb. Handynummer Problem: sortieren? rechnen? bei Leerlassen einer Spalte wird automatisch NULL eingefügt
- NOT NULL Auf das leerlassen eines Felds erfolgt das eintragen einer '0' -> Wenn kein Wert eingetragen wird benutze folgenden Standartwert
- Datenbank Definition ist ein - integrierter - persistenter Datenbestand einschließlich aller relevanten Informationen, der einer Gruppe von Benutzern in nur einem Exemplar zur Verfügung steht und durch ein DBMS verwaltet wird.
- Motivation Mysql - Große Datenbestände von Anwendern/ Programmen effizient genutzt werden Bsp: Kundendaten (Facebook, G+) Produktkataloge Operative Daten (Verbindungsdaten in Mobilfunknetzen) - Grundlegende Operationen (CRUD) - sichere Speicherung - schnelle Operationen - Effizienter Zugriff
- CRUD Create Read Update Delete
- DBMS Gesamtheit aller Programme zur Erzeugung Verwaltung Manipulation einer Datenbank
- relationale DBMS (RDBMS) , relationales Modell Relation ist ein DBMS, welches intern gemäß dem relationalen Modell (im mathematischen Sinne) organisiert ist eine Relation ist eine Teilmenge von A x B
- Relationales Modell (ctd) Eine Relation R(A,...,An) ist eine bekannte Menge von n-Tupeln, wobei ein n-Tupel eine Anordnung von n atomaren (=nicht weiter zerlegbaren) Attributen A1, A2,...An ist. BSP: Student (nachname, vorname, matnr) R A1 A2 A3 n=3
- varchar () sind strings in variabler Länge, maximale Länge von nn Charakteren "name varchar(20)
- int exakte numerische Datentypen signed: (-2147865,.....2147865) unsigned (0,.....,4298547735)
- SQL - "structured query language" - viele verschiedene Dialekte - 1970 entwickelt - Sprache zu Aufbau, Verwaltung, Nutzung von relationalen Datenbanken (möglichst) mit dem Ziel der Unabhängigkeit vom verwendeten DBMS
- DML & DRL (Data Manipulation Language) (Data Retrieval Language) Dateien einfügen, ändern, löschen zb: select * from - zusammen CRUD
- DDL (Data Definition Language) -> zB "create table" -> Datenbankschema verwalten -> alles was "wie will ich Daten abspeichern?" ist
- DCL Data Control Language - Rechteverwaltung - Multisesson - Sicherheit,...
- Caveat Vorsicht Nicht jede Tabelle ist als Relation darstellbar, weil Tabellen mehrere identische Zeilen enthalten können
- Kommando zum löschen Delete table: zb "drop table if exists student;" ändert Strukturen und enthaltene Daten
- Tabelle umbenennen Rename table: "rename table student to passagier;" ändert nur Strukturen und nicht enthaltene Daten
- Advertisement
- neue Spalte hinzufügen Add a new table column "alter table passagier add (newCol int); ändert nur Strukturen und nicht enthaltene Daten
- Spalte löschen Delete existing column "alter table passagier drop newCol;" ändert nur Strukturen und nicht enthaltene Daten
- vorhandene Spalte umbenennen Rename existing column " alter table passagier change matnr passagier_id int;"
- Tabellenstruktur anzeigen Describe table structure describe table passagier;
- Datentypen Numeric Date and Time String
- Datatype: Numeric Integrer Types (exact value) Fixed point types (exact value) floating-point Types (approximate value)
- Integer Type INTEGER TINYINT 1 Byte SMALLINT 2 Byte MEDIUMINT 3 Byte INT 4 Byte BIGINT 8 Byte
- Zeile einfügen, aber nicht alle Spalten füllen insert into NAMETABELLE (Name, Matnr) values ('Huber', 'Zahl');
- Überschrift ändern alter table TABELLENNAME change ALTERNAME NEUERNAME int/varchar (Anzahl Zeichen);
- nur eine Spalte anzeigen select SPALTENNAME from TABELLENNAME;
- 2 verschiedene Datentypen int varchar(nn)
- Constraints 1) NOT NULL 2) DEFAULT 3) UNIQUE 4) mit Namen 5) PRIMARY KEY
- DEFAULT ein bestimmter Wert wird automatisch eingegeben, lässt man ein Feld leer (partial insert)
- NOT NULL& DEFAULT create table person (name varchar(20) NOT NULL DEFAULT ' ', ausweisNR int); insert into person values ('Bauer',NULL); Funktioniert, weil Constraint auf Name, nicht auf Ausweisnr.
- create table person (name varchar(20) NOT NULL DEFAULT ' ', ausweisNR int); insert into person (ausweisNR values (1); Funktioniert
- create table person (name varchar(20) NOT NULL DEFAULT ' ', ausweisNR int); insert into person values (NULL, 6); CANNOT BE NULL
- UNIQUE Jeder Wert kann nur einmal vorkommen AUßER NULL create table person (name varchar (20), ausweisnr int UNIQUE);
- create table person (name varchar (20), ausweisnr int UNIQUE); insert into person values ('Huber', 1) insert into person values ('Huber', 1) !!!!Duplicate value!!!!!
- create table person (name varchar (20), ausweisnr int UNIQUE); insert into person values ('Huber',1) insert into person values ('Bauer', NULL) Funktioniert
- create table person (name varchar (20), ausweisnr int UNIQUE); insert into person values ('Huber',1) insert into person values ('Bauer', NULL) insert into person values ('Huber', NULL) funktioniert