- MariaDB | Overview
- MariaDB | Installation
- MariaDB | Konfiguration
- MariaDB | Datenbank-Backup zurückspielen
- MariaDB | Database, User, Rechte
- MariaDB | User+Rechte anlegen/löschen
- MariaDB | DB anlegen und löschen
- MariaDB | Connection von Java
- MariaDB | Overview
- MariaDB | Person-Table
- MariaDB | PreparedStatement
- MariaDB | SQL Update
- MariaDB | Overview
- MariaDB | Overview
- Links
Kurze JDBC Einführung MariaDB Datenbank Installation
MariaDB Datenbank Installation Download/Installer/Settings/DefaultDataBase JDBC Connector beschaffen/speichern JAVA Projekt: Datenbanktreiber integrieren DB Server starten/stoppen User anlegen/SQL-Back zurückspielen/sichern User und Rechte @! Sprungmarken fehlen/falsch
Connection Verbindung von Java mit Datenbank Connection-Instanz PreparedStatement @! Sprungmarken fehlen/falsch @! Beispiel create/read/update/delete/list fehlt.
CRUD & LIST sql-commands
Installation
MariaDB | Installation
Konfiguration
MariaDB | Konfiguration
Damit Sie wissen, wo Sie nach einer erfolgreichen Installation welche Dateien finden werden, geben wir einen kurzen Überblick
Sofern Sie die Werte im Install-Prozess nicht wieder ändern wollen, gibt es an dieser Stelle zuerst einmal bezüglich auf das Datenbanksystem selbst nichts zu installieren, aber wir werden den Link auf die exe-Files benötigen, um die Anwendung starten zu können.
MariaDB Verzeichnisse und Dateien
Die Installation und die Files von MariaDB finden sich anschließend beispielsweise im Falle der 11.8 Version auf der C-Platte eines Windows-PC hier:
Dieser PC > Lokaler Datenträger (C:) > Programme > MariaDB 11.8
C:\Program Files\MariaDB 11.8
C:\Program Files\MariaDB 11.8\bin
C:\Program Files\MariaDB 11.8\bin\mariadb.exe (1)
C:\Program Files\MariaDB 11.8\bin\mariadb-backup.exe
C:\Program Files\MariaDB 11.8\bin\mariadb-binlock.exe
C:\Program Files\MariaDB 11.8\bin\mariadb-check.exe
C:\Program Files\MariaDB 11.8\bin\mariadb-conv.exe
..
C:\Program Files\MariaDB 11.\bin\mariaddb.exe
C:\Program Files\MariaDB 11.8\data
C:\Program Files\MariaDB 11.8\data\my.ini (2)
C:\Program Files\MariaDB 11.8\lib
C:\Program Files\MariaDB 11.8\share
my.ini
Die zugehörige Konfiguration ist dem File my.ini im /data Ordner zu entnehmen und beinhaltet die Konfigurationen, die wir zuvor bei der Installation vorgenommen haben.
[mysqld]
datadir=C:/Program Files/MariaDB 11.8/data
port=3307
innodb_buffer_pool_size=1010M
character-set-server=utf8mb4
[client]
port=3307
plugin-dir=C:\Program Files\MariaDB 11.8/lib/plugin
JDBC Connector
Damit JAVA über JDBC mit der Datenbank kommunizieren kann, wird ein sogenannter Connector und damit der zugehörige Treiber benötigt. Wir benötigen dahingehend einen Connector für MariaDB.
Diesen Treiber bzw. den JAVA-Connector kann man sinngemäß wie bei anderen Datenbanken auch vom Hersteller der Datenbank als Connector für Java als JAR-File Connector für Java als JAR-File [1] finden. In der Auswahl muss man explizit nach einem Connector für Java suchen, weil dort auch alternative Varianten angeboten werden. Wir wählen z. B. den Connector für Data Access mariadb-java-client-3.5.3.jar [2]
https://mariadb.com/downloads/connectors/connectors-data-access/java/
Speichern Sie den JAR-File irgendwo, wo Sie diesen gut wiederfinden, denn für die Konfiguration in der Eclipse IDE für das Java-Projekt werden wir den File noch benötigen.
Achten Sie darauf, dass Sie das JAR für Ihre Java Version beschaffen, wobei zumeist mehrere Versionen unterstützt werden.
# Beispiel für einen Speicherort
C:\uio3host\JAVA\download_MariaDB_Connector\mariadb-java-client3.5.3.jar
IDE Projektkonfiguration
Damit wir aus einem Java-Projekt heraus nun das MariaDB Datenbank-System verwenden können, müssen wir noch dafür sorgen, dass das Projekt in der Entwicklungsumgebung wie Eclipse IDE den zugehörigen JDBC-Connector finden wird.
Wählen hierzu in Eclipce für Ihren Projektordner Rechtsklick auf Projekt, Java Build Path, Add External Archives, Add JAR.
Screenshot, Eclipse IDE, 2025
Screenshot, JAR für MariaDB Connector hinzugefügt, 2025
jdbc:mariadb://localhost:3307/deine_datenbank
Der Connector konnte auch für MariaDB bislang ebenso jdbc:mysql verwenden. Seit MariaDB 2.x hat MariaDB einen eigenen Connector.
Um beide Datenbank-Fabrikate nutzen zu können, empfehlen wir, dann für MariaDB den Connector für MariaDB zu nutzen.
Starten/Stoppen
Sofern wir MariaDB nicht als Service installiert haben, müssen wir die Datebank nun manuell starten und später wieder manuell stoppen. Dieses kann wahlweise über die Menüs von Windows oder über Konsolenbefehle erfolgen, für die man sich ggf. dann Shortcuts eingerichtet.
Windows > Startmenü > MariaDB > Start MariaDB.
Zugriff über die Konsole:
# cmd- oder oder Powershell mit Admin-Rechnen z. B. mit cmd geöffnet
cd "C:\Program Files\MariaDB 11.8\bin"
.\mysqld.exe --defaults-file="C:\Program Files\MariaDB 11.8\data\my.ini" --console
Der Aufruf erfolgt hier über den Server-Daemon
mysql.exe, dh. es wird
NICHT der mariadb.exe Client
verwendet sondern wirklich der Daemon von MySQL.
Der Parameter heißt --defaults-file, und der Wert wird ohne Anführungstriche angehängt.
Um zum Verzeichnis gelangen zu können, sei erwähnt, dass Verzeichnisnamen mit Leerzeichen problematisch sind und deshalb in doppelten Anführungsstrichen stehen müssen.
Der --console Schalter bewirkt, dass Log-Ausgaben auf der Konsole- und nicht in Windows-Events erscheinen.
Sollte man doch MariaDB als Service nur einmal installieren wollen, geht auch das über Windows Powershell:
.\mysqld.exe --install MariaDB11 --defaults-file="C:\Program Files\MariaDB 11.8\bin\my.ini"
net start MariaDB11
net stop MariaDB11
C:\Program Files\MariaDB 11.8\bin>.\mysqld.exe --defaults-file="C:\Program Files\MariaDB 11.8\data\my.ini" --console
2025-06-28 21:07:58 0 [Note] Starting MariaDB 11.8.2-MariaDB source revision 8d36cafe4fc700e6e577d5a36650c58707e76b92 server_uid SPJXu704/89xUBDD5Y0Cj3DfZTw= as process 17436
2025-06-28 21:07:58 0 [Note] InnoDB: Compressed tables use zlib 1.3.1
2025-06-28 21:07:58 0 [Note] InnoDB: Number of transaction pools: 1
2025-06-28 21:07:58 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions
2025-06-28 21:07:58 0 [Note] InnoDB: innodb_buffer_pool_size_max=1016m, innodb_buffer_pool_size=1010m
2025-06-28 21:07:58 0 [Note] InnoDB: Completed initialization of buffer pool
2025-06-28 21:07:58 0 [Note] InnoDB: File system buffers for log disabled (block size=512 bytes)
2025-06-28 21:07:58 0 [Note] InnoDB: End of log at LSN=47629
2025-06-28 21:07:58 0 [Note] InnoDB: Opened 3 undo tablespaces
2025-06-28 21:07:58 0 [Note] InnoDB: 128 rollback segments in 3 undo tablespaces are active.
2025-06-28 21:07:58 0 [Note] InnoDB: Setting file './ibtmp1' size to 12.000MiB. Physically writing the file full; Please wait ...
2025-06-28 21:07:58 0 [Note] InnoDB: File './ibtmp1' size is now 12.000MiB.
2025-06-28 21:07:58 0 [Note] InnoDB: log sequence number 47629; transaction id 14
2025-06-28 21:07:58 0 [Note] InnoDB: Loading buffer pool(s) from C:\Program Files\MariaDB 11.8\data\ib_buffer_pool
2025-06-28 21:07:58 0 [Note] Plugin 'FEEDBACK' is disabled.
2025-06-28 21:07:58 0 [Note] mysqld.exe: SSPI: using principal name 'localhost', mech 'Negotiate'
2025-06-28 21:07:58 0 [Note] InnoDB: Buffer pool(s) load completed at 250628 21:07:58
2025-06-28 21:07:59 0 [Note] Server socket created on IP: '::'.
2025-06-28 21:07:59 0 [Note] Server socket created on IP: '0.0.0.0'.
2025-06-28 21:07:59 0 [Note] mysqld.exe: Event Scheduler: Loaded 0 events
2025-06-28 21:07:59 0 [Note] .\mysqld.exe: ready for connections.
Version: '11.8.2-MariaDB' socket: '' port: 3307 mariadb.org binary distributionClient Console
Vor einem Zugriff aus Java heraus kann man über den MariaDB Client «MariaDB.exe» über die Konsole eine Datenbank in MariaDB anlegen.
"C:\Program Files\MariaDB 11.8\bin\mysql.exe" -u root -p -P 3307
Hinweis: Man beachte, dass wir für dieses Beispiel den Standardport von 3306 auf 3007 geändert haben. Für den Zugriffs benötigen wir hier das MariaDB-root-Kennwort welches bei der Installation vergeben wurde.
Hinweis: Wir benötigen Windows-Admin-Rechte. Das cmd-Konsolenfenster wird dahingehend mit Admin-Rechten geöffnet.
Welcome des MariaDB Monitors
Microsoft Windows [Version 10.0.19045.5965]
(c) Microsoft Corporation. Alle Rechte vorbehalten.
C:\Windows\system32>"C:\Program Files\MariaDB 11.8\bin\mysql.exe" -u root -p -P 3307
Enter password: *********
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 11.8.2-MariaDB mariadb.org binary distribution
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
Über diese Konsole können anschließend eine Datenbank mit User anlegen.
DB+User anlegen
CREATE DATABASE namedb ermöglicht
das Anlegen einer Datenbank in MySQL und MariaDB.
CREATE DATABASE beispieldb; legt
bei einer Eingabe über die Konsole des MariaDB Monitors
die neue Datenbank an.
MariaDB [(none)]> CREATE DATABASE beispieldb;
Query OK, 1 row affected (0.004 sec)
Um diese Datenbank aber auch verwenden zu können, benötigen wir zusätzlich einen User. Im Anschluss weisen wir noch GRANT ALL Rechte hinzu.
CREATE USER 'dbuser'@'localhost' IDENTIFIED BY 'geheim';
GRANT ALL ON beispieldb.* TO 'dbuser'@'localhost';
Hinweis: Die Berechtigungen könnten grundsätzlich auch feiner konfiguriert werden, so dass User auch nur mit Lese-Rechten geschaffen könnten. Auf diese Feinheiten werden wir hier nicht eingehen.
MariaDB [(none)]> CREATE USER 'dbuser'@'localhost' IDENTIFIED BY 'geheim';
Query OK, 0 rows affected (0.007 sec)
MariaDB [(none)]> GRANT ALL ON beispieldb.* TO 'dbuser'@'localhost';
Query OK, 0 rows affected (0.005 sec)
Es ist grundsätzlich auch möglich, entsprechende Befehle direkt über das mysql-Programm auf der Windows-Konsole zu erteilen, ohne hierbei den Monitor zu öffnen.
# DB anlegen
mysql -u root -p -h localhost -P 3307 -e "CREATE DATABASE beispieldb;"
# User + Rechte
mysql -u root -p -h localhost -P 3307 -e \
"CREATE USER 'dbuser'@'localhost' IDENTIFIED BY 'geheim'; \
GRANT ALL PRIVILEGES ON beispieldb.* TO 'dbuser'@'localhost';"
SQL-Tabellen importiern
Es ist möglich, einen vorherigen SQL-Datenbank-Dump wieder als SQL File zu importieren.
Man ruft dahingehend das Datenbank-Programm auf, gibt hierbei den Namen des DB-Users sowie dessen Kennwort nebst DB-Host und DB-Port und zuletzt noch die DB-Datenbank an, und schreibt dann mit < mit einer «kleiner-Zeichen» oder der «splitzen Klammer» den Inhalt des SQL Files in die DB.
mysql -u dbuser -p -h localhost -P 3307 beispieldb < tables.sql
Hinweis: Diese Aktion lässt sich nur dann ausführen, wenn wir einen entsprechenden SQL-File schon haben. Wir haben diesen aber zu Beginn der Einführung noch nicht.
Backup zurückspielen
MariaDB | Datenbank-Backup zurückspielen
Für den Fall, dass man schon ein Datenbank-Backup
als SQL-File hat, so kann man dieses über die
Windows-Konsole über das mysql
programm zurückspielen.
Der folgende Befehl spielt die Befehle der tables.SQL Datei in die beispieldb Datenbank ein.
mysql -u dbuser -p -h localhost -P 3307 beispieldb < tables.sql
DB, User, Rechte
MariaDB | Database, User, Rechte
Um einen Überblick über alle angelegten Datenbanken, User und die vergebenen Berechtigungen zu erhalten, lassen sich auch diese Abfragen mit sogenannten DDL-Operation und Rechte-Operation klären.
Mit SHOW DATABASES; bekommen wir
eine Auflistung aller angelegten Datenbanken.
SELECT User, Host FROM mysql.user;
liefert uns für jeden User den User-Namen sowie den Host
aus der mysql.user Tabelle.
SHOW GRANTS FOR 'dbuser'@'localhost';
zeigt uns die Rechte für einen bestimmten User.
-- alle Datenbanken
SHOW DATABASES;
-- alle User (MySQL/MariaDB speichert sie in mysql.user)
SELECT User, Host FROM mysql.user;
-- alle Rechte eines Users
SHOW GRANTS FOR 'dbuser'@'localhost';
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| beispieldb |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.028 sec)
MariaDB [(none)]> SELECT User, Host FROM mysql.user;
+-------------+-----------+
| User | Host |
+-------------+-----------+
| root | 127.0.0.1 |
| root | ::1 |
| dbuser | localhost |
| mariadb.sys | localhost |
| root | localhost |
| root | pctinyone |
+-------------+-----------+
6 rows in set (0.020 sec)
MariaDB [(none)]> SHOW GRANTS FOR 'dbuser'@'localhost';
+---------------------------------------------------------------------------------------------------------------+
| Grants for dbuser@localhost |
+---------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `dbuser`@`localhost` IDENTIFIED BY PASSWORD '*462366917EEDD1970A48E87D8EF59EB67D2CA26F' |
| GRANT ALL PRIVILEGES ON `beispieldb`.* TO `dbuser`@`localhost` |
+---------------------------------------------------------------------------------------------------------------+
2 rows in set (0.001 sec)
Hinweis: Auch bei MariaDB heißt diese Table weiterhin mysql.user und nicht mariadb.user.
Das Password wird nicht im Klartext angezeigt sondern nur als Hashcode.
User+Rechte
MariaDB | User+Rechte anlegen/löschen
Genauso, wie wir User mit Rechten anlegen können, so können wir diese Rechte auch wieder entfernen und auch den zugehörige User abschließend wieder entfernen.
CREATE USER,
GRANT ALL PREVILEGES ON * to *.
REVOKE ALL PRIVILEGES
DROP USER
-- User anlegen
CREATE USER 'dbuser02'@'localhost' IDENTIFIED BY 'geheim';
-- Rechte vergeben
GRANT ALL PRIVILEGES ON beispieldb.* TO 'dbuser02'@'localhost';
SELECT User, Host FROM mysql.user;
SHOW GRANTS FOR 'dbuser02'@'localhost';
-- Privilegien entziehen
REVOKE ALL PRIVILEGES
ON `beispieldb`.*
FROM 'dbuser02'@'localhost';
-- Die GRANT-OPTION auf beispieldb.* entziehen
REVOKE GRANT OPTION
ON `beispieldb`.*
FROM 'dbuser02'@'localhost';
-- User löschen
DROP USER 'dbuser02'@'localhost';
Create/Drop DB
MariaDB | DB anlegen und löschen
Datenbanken anlegen und löschen funktioniert mit CREATE DATABASE und DROP DATABASE, wobei man eine Bedingung mit IF EXISTS ergänzen sollte.
DROP DATABASE IF EXISTS beispieldb;
löscht eine DB nur dann, wenn die auch existiert. Das vermeidet
SQL Fehler.
-- Datenbank anlegen
CREATE DATABASE beispieldb CHARACTER SET utf8mb4;
-- Datenbank löschen
DROP DATABASE IF EXISTS beispieldb;
Übrigens: Zeilenumbrüche in SQL sind egal. Gelesen wird bis zum nächsten Semikolon.
SQL ist case-insensitive, dh. die Groß- und Kleinschreibung
bei SQL Befehlen spielt keine Rolle. Man kann also
drop table,
DROP TABLE oder
auch Drop Table
schreiben.
Die Bezeichner bzw. Namen von Datenbanken sowie auch von Tabellen können jedoch ggf. case-sensitive sein.
Üblicherweise schreibt man die Befehle bzw. die Keywords in Großbuchstaben und alle eigenen Namen in Kleinbuchstaben.
Die Befehle lassen sich auch direkt über die Windows-Konsole ausführen, ohne dass man in der Konsole des MariaDB Monitors ist.
Windows-Konsole (ohne interaktiven Monitor)
mysql -h localhost -P 3307 -u root -p -e "SHOW DATABASES;"
mysql -h localhost -P 3307 -u root -p -e "DROP USER 'dbuser'@'localhost';"
-h localhost Hostname des DB-Servers (hier: dein eigener Rechner).
-P 3307 Port, auf dem der Server lauscht
-u root Verwendeter Datenbank-User (root).
-p Fordert einen auf, das Passwort einzugeben.
-e "SQL-Befehl" Führt die angegebene SQL-Anweisung aus, ohne dass man erst in die interaktive MySQL-Shell wechseln musst. Man bekommt direkt das Ergebnis in der Konsole.
MariaDB | Connection von Java
Für den Verbindungsaufbau wird in Java versucht, eine Verbindung als Connection-Objekt zu erzeugen.
import java.sql.*;
public class DBConnectExample {
public static void main(String[] args) {
String url = "jdbc:mariadb://localhost:3307/; // oder mit beispieldb"
String user = "root";
String password = "zugang123"; // Hier das root-Kenntwort
try (Connection conn = DriverManager.getConnection(url, user, password)) {
System.out.println("Verbindung erfolgreich!");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Hinweis: Wir adressieren hier jetzt KEINE Datenbank, sonst müsste noch nach / ein beispieldb ergänzt werden. Wir wollen mit Java-Code zuerst die Datenbank, den User und die Rechte erzeugen.
Hinweis: DDL-Operationen erfordern root-Rechte, aber für die spätere Daten-Abfrage und Aktualisierung sollte dann der andere DB-User userdb mit seinem Kennwort "geheim" genutzt werden.
MariaDB | Overview
Wir können in Java alles an SQL Befehlen erzeugen und abschicken und ausführen lassen, was wir bislang über die Konsolen gemacht haben.
// DROP und CREATE DB
st.executeUpdate("DROP DATABASE IF EXISTS beispieldb");
st.executeUpdate("CREATE DATABASE beispieldb CHARACTER SET utf8mb4");
st.executeUpdate("USE beispieldb");
// User + Rechte
st.executeUpdate(
"CREATE USER 'dbuser'@'localhost' IDENTIFIED BY 'geheim'");
st.executeUpdate(
"GRANT ALL PRIVILEGES ON beispieldb.* TO 'dbuser'@'localhost'");
// Rechte entziehen + User löschen
st.executeUpdate(
"REVOKE ALL PRIVILEGES, GRANT OPTION ON beispieldb.* "
+ "FROM 'dbuser'@'localhost'");
st.executeUpdate("DROP USER 'dbuser'@'localhost'");
Table in DB
MariaDB | Person-Table
Um Daten in der Datenbank speichern zu können, benötigen wir eine Tabelle. Diese wird mit CREATE TABLE IF NOT EXISTS erzeugt
Wir orientieren uns bei dieser Tabelle am Beispiel für Java Collections, sequentielle und parallele Streams.
String createTable = """
CREATE TABLE IF NOT EXISTS Person (
id INT PRIMARY KEY,
name VARCHAR(100),
birthday DATE,
gender ENUM('MALE','FEMALE','UNDEFINED'),
email VARCHAR(255),
xml_data TEXT,
profile_pic BLOB,
gehalt DOUBLE,
istMitarbeiter BOOLEAN
)
""";
st.executeUpdate(createTable);
Hinweis: Der mit """ beginnende
und endende Code in Java wird als Template-String
bezeichnet. Diese Syntax ermöglicht es, mehrzeiligen SQL Code auch mit
Anführungstrichen zu schreiben.
Der SQL Befehl endet weiterhin mit einem Semikolon.
PreparedStatement
MariaDB | PreparedStatement
Um die diversen Werte eines INSERT INTO Befehls
füllen zu können, gibt es in Java die Option, für den
SQL Code ein PreparedStatement
Objekt zu erzeugen. Dieses lässt sich mit setInt(..),
setString(..), setDate(..), setBytes(..) mit Werten
füllen.
Jede set-Methode erwartet als ersten Parameter die Nummer des Parameters.
String sql = """
INSERT INTO Person (
id, name, birthday, gender, email,
xml_data, profile_pic, gehalt, istMitarbeiter
) VALUES (?,?,?,?,?,?,?,?,?)
""";
try (PreparedStatement ps = conn.prepareStatement(sql)) {
for (Person p : Person.createGruppe()) {
ps.setInt(1, p.getNum());
ps.setString(2, p.getName());
ps.setDate(3, Date.valueOf(p.getBirthday()));
ps.setString(4, p.getGender().name());
ps.setString(5, p.getEmailAddress());
ps.setString(6, xmlString); // eure XML als String
ps.setBytes(7, Files.readAllBytes(picPath)); // euer JPG
ps.setDouble(8, gehalt);
ps.setBoolean(9, p.getAge() >= 18 && p.getAge() < 67);
ps.addBatch();
}
ps.executeBatch();
}
Datensatz aktualisieren
MariaDB | SQL Update
Wir können mit executeUpdate(..) über die Verbindung einen SQL-Befehl UPDATE senden, um Werte in der Datenbank für einen Datensatz zu ändern.
Erforderlich für diesen Befehl ist eine WHERE-Bedingung über welche beispielsweise sichergestellt wird, dass nur der Datensatz, wo id=3 ist, geändert werden soll.
// UPDATE
st.executeUpdate("""
UPDATE Person
SET email = 'neu@example.com'
WHERE id = 3
""");
MariaDB | Overview
yyy
// DELETE
st.executeUpdate("""
DELETE FROM Person
WHERE id = 5
""");
MariaDB | Overview
@todo: yyy
Sicherheitshinweis
Für alle DDL- und Rechte-Operationen wird derzeit root.
Später sollte
man dafür einen eigenen Admin-Account mit eingeschränkten Rechten
anlegen und im Code verwenden – nicht den universellen root.
// SELECT und Mapping:
String sql = "SELECT * FROM Person";
try (ResultSet rs = conn.createStatement().executeQuery(sql)) {
while (rs.next()) {
Person p = new Person(
rs.getInt("id"),
rs.getString("name"),
rs.getDate("birthday").toLocalDate(),
Person.Sex.valueOf(rs.getString("gender")),
rs.getString("email")
);
// xml: rs.getString("xml_data")
// blob: InputStream is = rs.getBinaryStream("profile_pic");
}
}
+ Abfragen: SELECT
+ Ändern: UPDATE
+ Löschen: DELETE FROM ... WHERE ...
+ Listen: Schleifen über ein ResultSet erzeugen.
+ RowSet: Nutzung über EventHandling.
Dump/Back & Restore
Wir können über die Konsole ein Datenbank-Back als sogenannten «Dump» erzeugen und jederzeit wieder herstellen.
Fahren des Backups bzw. Dumps:
mysqldump -u root -p -h localhost -P 3307 beispieldb > backup.sql
Rückspielen bzw. Einlesen des Backups
mysql -u root -p -h localhost -P 3307 beispieldb < backup.sql
Üblicherweise neigt man dazu, beim Schreiben von Backups auch Versionen oder einen Timestamp anzugeben, dh. für den 1.12.2023 um 10:30 könnte man quasi ein _20231201T103000 anhängen, wobei die 00 zuletzt für die Sekunden gelten.
DB/Table mit Java
Sofern wir das Datenbank-System gestartet haben und damit ein Zugriff auf der IP oder der URL über den genannten Port ermöglicht wurde, ist es auch möglich, mit JAVA schon jetzt eine Verbindung zu erzeugen, um hier bei die Tabelle und zugehörige Datenbank jetzt noch erzeugen zu können.
Die Voraussetzung für den Verbindungsaufbau ist der JDBC-Connector zu MariaDB:
// Für MySQL:
// String url = "jdbc:mysql://localhost:3306/beispieldb";
// ...
// Für MariaDB:
String url = "jdbc:mariadb://localhost:3307/beispieldb";
String user = "dbuser";
String pw = "geheim";
Connection conn = DriverManager.getConnection(url, user, pw);
try (Statement st = conn.createStatement()) {
st.executeUpdate("CREATE DATABASE IF NOT EXISTS beispieldb");
st.executeUpdate("USE beispieldb");
String createTable = """
CREATE TABLE IF NOT EXISTS Person (
id INT PRIMARY KEY,
name VARCHAR(100),
birthday DATE,
gender ENUM('MALE','FEMALE','UNDEFINED'),
email VARCHAR(255),
xml_data TEXT,
profile_pic BLOB,
gehalt DOUBLE,
istMitarbeiter BOOLEAN
)
""";
st.executeUpdate(createTable);
}
UIO3 Es ist einfacher als Du denkst.
Stelle noch heute Deine Anfrage.



