MySQL Grundbefehle

Verbindung herstellen

michi@sysvorOrt ~ $ /etc/init.d/mysql start
 * mysql: superuser access required
michi@sysvorOrt ~ $ su
Passwort: 
sysvorOrt /home/michi # /etc/init.d/mysql start
 * WARNING: mysql has already been started
sysvorOrt /home/michi # /etc/init.d/mysql status
 * status: started
sysvorOrt /home/michi # 

MySQL einloggen

ysvorOrt /home/michi # mysql -h localhost -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 23
Server version: 8.0.32 Gentoo Linux mysql-8.0.32-r2

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

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> 

vorhandene Datenbanken anzeigen:

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| test |
| typeitin |
| zeiterfassung |
+--------------------+
7 rows in set (0,00 sec)

mysql>

gewünschte Datenbank auswählen

mysql> USE zeiterfassung;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> 

Tabelle auswählen

mysql> show tables;
+-------------------------+
| Tables_in_zeiterfassung |
+-------------------------+
| zeiterfassung           |
+-------------------------+
1 row in set (0,01 sec)

mysql> 

Tabelle löschen

mysql> drop table if exists test;
Query OK, 0 rows affected, 1 warning (0,00 sec)

Spalte hinzufügen

mysql> ALTER TABLE zeiterfassung ADD COLUMN (spalte2 char(50));
Query OK, 0 rows affected (0,01 sec)
Records: 0  Duplicates: 0  Warnings: 0

Spalte löschen

mysql> ALTER TABLE tbl_namen DROP COLUMN spalte2;
Query OK, 0 rows affected (0,02 sec)
Records: 0  Duplicates: 0  Warnings: 0

Inhalt der Spalten anzeigen lassen

mysql> select kommen from zeiterfassung;
+---------------------+
| kommen              |
+---------------------+
| 2024-05-12 10:48:49 |
| 2024-05-12 10:53:00 |
| 2024-05-12 10:55:07 |
| 2024-05-12 13:02:51 |
| 2024-05-12 13:02:57 |
| 2024-05-12 14:54:11 |
+---------------------+
6 rows in set (0,01 sec)

Alle Werte anzeigen lassen:

mysql> select * from zeiterfassung;
+-------------+------+---------------------+-------+--------+
| Name kommen | wert | kommen              | gehen | nummer |
+-------------+------+---------------------+-------+--------+
| NULL        | NULL | 2024-05-12 10:48:49 | NULL  |   NULL |
| NULL        | NULL | 2024-05-12 10:53:00 | NULL  |   NULL |
| NULL        | NULL | 2024-05-12 10:55:07 | NULL  |   NULL |
| NULL        | NULL | 2024-05-12 13:02:51 | NULL  |   NULL |
| NULL        | NULL | 2024-05-12 13:02:57 | NULL  |   NULL |
| NULL        | NULL | 2024-05-12 14:54:11 | NULL  |   NULL |
+-------------+------+---------------------+-------+--------+
6 rows in set (0,00 sec)

mysql> 

Datentyp ändern:

mysql> alter table zeiterfassung modify column nummer int;
Query OK, 6 rows affected (0,03 sec)
Records: 6  Duplicates: 0  Warnings: 0

automatische Nummern zur Auswahl des Datensatzes.

Um eine neue Spalte mit AUTO_INCREMENT hinzuzufügen, müssen Sie sicherstellen, dass diese Spalte als Primärschlüssel oder als eindeutiger Index verwendet wird. In MySQL kann es nur eine AUTO_INCREMENT-Spalte pro Tabelle geben, und diese muss vom Datentyp INT (oder einem ähnlichen numerischen Typ) sein. Hier ist ein Beispiel, wie Sie dies erreichen können:

  1. Fügen Sie eine neue Spalte hinzu:
ALTER TABLE zeiterfassung ADD nummer INT AUTO_INCREMENT PRIMARY KEY;

Falls bereits eine nummer-Spalte vorhanden ist und Sie diese in eine AUTO_INCREMENT-Spalte umwandeln möchten, gehen Sie wie folgt vor:

  1. Primärschlüssel und AUTO_INCREMENT setzen:
ALTER TABLE zeiterfassung MODIFY nummer INT AUTO_INCREMENT PRIMARY KEY;

Hinweise:

  • Wenn bereits eine andere Spalte als Primärschlüssel definiert ist, müssen Sie diese Definition zuerst ändern, da es nur einen Primärschlüssel pro Tabelle geben kann.
  • Wenn die nummer-Spalte bereits Daten enthält, die keine eindeutigen Werte haben, wird es zu Konflikten kommen. Stellen Sie sicher, dass die bestehenden Werte der nummer-Spalte entweder eindeutig sind oder die Spalte vor dem Ändern auf AUTO_INCREMENT leer ist.

Um eine bestimmte Nummer und die dazugehörigen Daten aus einer Tabelle in MySQL zu löschen, verwendest du den DELETE-Befehl. Hier ist die allgemeine Syntax für den DELETE-Befehl:

DELETE FROM tabellenname WHERE bedingung;

In deinem Fall möchtest du eine bestimmte nummer aus der Tabelle zeiterfassung löschen. Angenommen, du möchtest die Nummer 3 löschen, dann wäre der Befehl:

DELETE FROM zeiterfassung WHERE nummer = 3;

Dieser Befehl löscht die Zeile aus der Tabelle zeiterfassung, in der die nummer den Wert 3 hat. Hier ist der gesamte Prozess, um sicherzustellen, dass du die richtige Zeile löschst:

  1. Überprüfe die Daten, um sicherzustellen, dass du die richtige Zeile identifizierst: SELECT * FROM zeiterfassung WHERE nummer = 3;
  2. Wenn die Daten korrekt sind, führe den DELETE-Befehl aus: DELETE FROM zeiterfassung WHERE nummer = 3;
  3. Überprüfe, ob die Zeile erfolgreich gelöscht wurde:
    sql SELECT * FROM zeiterfassung;

Hier ist ein vollständiges Beispiel:

-- Überprüfen der Daten
SELECT * FROM zeiterfassung WHERE nummer = 3;

-- Löschen der Zeile mit nummer = 3
DELETE FROM zeiterfassung WHERE nummer = 3;

-- Überprüfen, ob die Zeile gelöscht wurde
SELECT * FROM zeiterfassung;

Stelle sicher, dass du die richtige Nummer auswählst, da der DELETE-Befehl dauerhaft Daten aus der Tabelle entfernt.

MySQL beenden