SQL Befehle mit MySQL

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)
)
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

Du willst meine Arbeit unterstützen? Dann freue ich mich über eine kleine Spende!

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert