Zuletzt aktualisiert am 25. Dezember 2023 von Lars
Mein Informatiklehrling hat SQL in der Schule. Grund genug die verrosteten Kenntnisse selber wieder aufzufrischen. Zum Üben auf der Kommandozeile genügt MYSQL Essential.
Download unter http://dev.mysql.com/downloads bzw. nach "mysql-essential-5.1.40-winx64"
oder "mysql-essential-5.1.40-win32" googeln.
Den Wizard durchklicken und die Pfadangabe erweitern lassen.
Am Ende erhält man den MySQL Command Line Client.
Nach einem Aufruf meldet dieser sich mit
Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 1 Server version: 5.1.66-community MySQL Community Server (GPL) Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql>
Kommandos schliesst man mit einem Semikolon ab.
So zeigt man vorhandene Datenbanken an:
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | test | +--------------------+
Eine neue Datenbank erstellen
mysql> create database adressen;
Eine bestimmte Datenbank zur weiteren Bearbeitung verwenden
mysql> use adressen;
mysql> create table Adressen (name varchar(40), vorname varchar(40));
mysql> show tables; +--------------------+ | Tables_in_adressen | +--------------------+ | adressen | | vorname | +--------------------+
Eine Tabelle löschen
mysql> drop table test;
Daten in eine Tabelle einfügen
mysql> INSERT INTO Adressen(Name, Vorname) VALUES("Lars", "Schlageter");
Inhalt einer Tabelle anzeigen
mysql> select * from adressen; +-------+------------+ | name | vorname | +-------+------------+ | Lars | Schlageter | | James | Kirk | | Helen | Mustermann | +-------+------------+
Constraints
Constraints dienen dazu den Gültigkeitsbereich von Spalten zusätzlich zum Wertebereich weiter einzuschränken, um z.B. Festzulegen, dass keine negative Zahl für einen Preis eingegeben werden kann.
Man gibt sie entweder direkt bei erstellen der Tabelle an oder wendet sie nachträglich mit dem ALTER TABLE Statement an.
Wichtige Constraints sind:
- NOT NULL - Darf nicht leer sein
- UNIQUE - Muss eindeutig sein
- PRIMARY KEY - Muss eindeutig sein und existiert nur einmal pro Tabelle
- FOREIGN KEY - "Fremd"-Key in der eigenen Tabelle, der auf einen Primary Key einer anderen Tabelle verweist
- CHECK - Gibt Wertebereich für eine Spalte an Beispiel aus http://www.w3schools.com/sql/sql_check.asp
CREATE TABLE Persons ( P_Id int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255), CHECK (P_Id>0) )
- DEFAULT - Default-Wert vorgeben
Beispiel aus
http://www.w3schools.com/sql/sql_check.asp
CREATE TABLE Persons ( P_Id int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City varchar(255) DEFAULT 'Sandnes' )
Constraints sind auch im Zusammenhang von Verknüpfungen sinnvoll.
Alter table person add constraint foreign key (plz) references ort (plz) on delete cascade; delete from ort where plz = 8000;
Mehr unter Fremdschlüssel-Beziehungen
Hallo, hier schreibt Lars. Dipl-Ing. Ingenieurinformatik (FH). Seit Jahrzehnten in der IT tätig. Geprüfter (und begeisterter) Webmaster. Ebenso begeisterter Windows-, Apple-, und Office-User. Ich schreibe über alle möglichen Themen rund um IT. Mehr über mich erfährst du hier: Über mich. Danke für deinen Besuch!