irgendwie neu für mich --- Java & geliebtes SQL

Status
Nicht offen für weitere Antworten.

micbur

Bekanntes Mitglied
Hallo,

als Vorwarnung: ich habe keine Ahnung von Datenbanken und SQL.

um euch gleich den Wind aus den Segeln zu nehmen: die FAQ dieses Forums habe ich durch, die erste Seite von JDBC habe ich mir auch angeschaut, im Internet habe ich - uff nicht mitgezählt - etwa 7 Tutorials durch.

So, und nun komme ich zur beschreibung meines Problems.
Ich habe mir ganz ordentlich den MySQL Server heruntergeladen. Es ist auch ein ODBC Treiber (MyODBC naheliegend!) installiert. Dann habe ich mir den "MySQL Connector/J" in die verwendenten JARs aufgenommen. Ich benutze Eclipse, daher kann ich mir das JAR irgendwohin kopieren und dann einfach jedem Projekt hinzufügen und benutzen.

Auf dem SQL Server liegt also noch nicht eine Datenbank oder Tabelle, je nachdem wie man es nennen will.
Und genau hier fängt mein Problem an.

Ich benutze brav diesen Treiber:
Code:
Class.forName("com.mysql.jdbc.Driver");
und wenn ich eine Verbindung herstellen möchte, geht das nach dem Schema
Code:
java.sql.Connection conn = DriverManager.getConnection("jdbc:mysql://"+host+"/+database+"/");

Ich habe aber doch noch gar keine Datenbank, weil ich die erst in den folgenden Zeilen erzeugen will:
Code:
java.sql.Statement stat = conn.createStatement();
java.sql.ResultSet rs = stat.executeQuery("CREATE TABLE student (name,matr);");


Ich stelle die Frage mal ganz naiv: Was nun?
Im Pfad für getConnection kann ich keine datenbank angeben, weil sie noch nicht existiert. Und wenn sie existieren würde, dann kann ich sie nicht mehr erzeugen und würde so einen Fehler bekommen.

Aber mal ganz nebenbei wüsste ich auch sonst nicht, wie ich da eine Datenbank hinzaubern sollte.

Ich stehe ehrlich gesagt auf'm Schlauch!


Ciao micbur
 
G

Gast

Gast
Hallo!

Da Du mysql verwendest, kannst Du Dich mit der mysql Datenbank verbinden, die eigentlich immer existieren sollte. Danach erstellst Du Deine Datenbank, trennst die Verbindung zur mysql Datenbank und verbindest Dich erneut mit Deiner soeben erstellten Datenbank.

Grüsse,
--Alex
 

AlArenal

Top Contributor
Übrigens gibts es für MySQL eine Menge grafischer Frontends, für alle, die sich nicht im Client einen zurechttippen wollen. Unter anderem von den Schöpfern von MySQL gibts das Control Center...
 

micbur

Bekanntes Mitglied
@Alex
also irgendwie habe ich das nicht verstanden, was du da sagst.

Ich habe ja noch winmysqladmin. Wenn ich dort reinschaue, dann sehe ich, dass es keine Tabell (Datenbank) gibt, daher würde ich sagen, dass es keine 'Standard'-Datenbank, die immer existiert, gibt. Es sei denn, ich weiß nur nicht, wie sie 'heißt'.

Kannst du vielleicht das, was du meinst in ein paar Zeilen Code kurz exemplarisch darstellen, nicht dass ich etwas anderes verstehe als du meinst. Code ist da eindeutig.


@AlArenal
Ja, ich nutze momentan mysqladmin und kann dort sehen, dass es keine Datenbank gibt. Ich kann ja heute Abend mal das SQL Control Center probieren.

Danke.


Ciao micbur
 

AlArenal

Top Contributor
Die Datenbank mysql exisiert immer. Ohne startet das System gar nicht erst. In ihr befinden sich die Tabellen zur Rechteverwaltung für User, Datenbanken, Tabellen, etc.
 
G

Gast

Gast
Hallo micbur!

Welche Version von mysql verwendest Du denn?

So weit ich weiss, wird die "mysql" Datenbank vom mysql - Server für die Vergabe der Benutzerrechte verwendet und bei der Installation automatisch angelegt (zumindest, wenn man die mysql Variante mit Installer für Windows installiert). Ich habe allerdings gerade nachgesehen und bemerkt, dass die mysql - Datenbank bei der mysql-Version 4.1.1alpha offensichtlich nicht automatisch angelegt wird, was möglicherweise bei anderen Versionen ohne Installer auch der Fall sein könnte. Wie dem auch sei, muss bei einer vernünftigen Installation des Datenbankservers der zuständige Administrator die Zugriffsrechte einschränken/vergeben und damit automatisch die mysql - Datenbank anlegen, weshalb man davon ausgehen kann, dass diese auch existiert.

Dann kannst Du von Deinem Client eine Datenbank (z.B.: MeineDB) folgendermaßen anlegen:

Code:
Class.forName("<irgendein JDBC Treiber>");   
Connection con = DriverManager.getConnection("jdbc:mysql://IP_Adresse_des_DB_Servers/mysql");  
Statement stmt = con.createStatement();
stmt.executeUpdate("CREATE DATABASE IF NOT EXISTS MeineDB");
con.close();
con = DriverManager.getConnection("jdbc:mysql://IP_Adresse_des_DB_Servers/MeineDB");


Wenn Du Dich nicht darauf verlassen willst, dass die mysql - Datenbank existiert, dann bleibt Dir nichts anderes übrig, als Deine gewünschte Datenbank per Skript oder mit einem Frontend für mysql anzulegen. Denn um Dich mit dem mysql - Server zu verbinden brauchst Du, wie Du ja bereits in Deiner Frage angedeutet hast, eine existierende Datenbank zu der sich Dein Client verbinden kann.

Grüsse,
--Alex
 
G

Gast

Gast
Korrektur meines letzten Postings:
======================

Die mysql - Datenbank existiert, wie AlArenal bereits bemerkt hat, immer (auch bei der Version 4.1.1alpha), wird dort aber offensichtlich nicht mehr angezeigt. Wenn Du allerdings im mysql\data - Verzeichnis nachsiehst, solltest Du sie finden!

Grüsse,
--Alex
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Delete Befehl will irgendwie nicht Datenbankprogrammierung 8
D Verknüpfung auflösen für Frontend Datenbankprogrammierung 7
R Beste Lösung für User Erstellung in mongodb Datenbankprogrammierung 1
I SaaS Applikation: pro Kunde eine Datenbank / Schema oder eine DB für alle Kunden? Datenbankprogrammierung 76
O apache derby in eclipse für Datenbanken einbauen Datenbankprogrammierung 3
Zrebna Empfehlung für ein kostenloses DB-Hosting gesucht Datenbankprogrammierung 6
M Lösungsvorschläge für Multi-User Datenbankprogrammierung 1
M Alle Records Felder kriegen für DB Abfrage Datenbankprogrammierung 14
pkm PostgreSQL Kann mit mybatis einen Parameter für eine postgreSQL-Abfrage nicht übergeben. Datenbankprogrammierung 5
Kirby.exe Denkanstoß für Ranking Datenbankprogrammierung 1
L Oracle Repräsentative Namen für die Column Types Datenbankprogrammierung 9
OnDemand Struktur für Parent / Child Produkt Datenbankprogrammierung 5
N ORM für Sqlite Datenbankprogrammierung 4
I Konzept: Klasse / Entity für Einstellung der Software Datenbankprogrammierung 3
H suche eine Login system Bibliothek für Java Datenbankprogrammierung 5
ruutaiokwu MySQL MariaDB-Client-Zertifkate, nur für einen bestimmten User Datenbankprogrammierung 5
B Datenmodell für Regeln + Bedingungen & Referenz auf andere Tabelle Datenbankprogrammierung 12
O Dokumentation für MariaDB 10.3. Datenbankprogrammierung 2
F MariaDatabase Einstellungen für Verbindungen Datenbankprogrammierung 5
Dimax MySQL Trigger für eine Spalte Datenbankprogrammierung 5
Dimax MySQL Maximale Datenlänge für eine Spalte einer Datenbank in java ermitteln Datenbankprogrammierung 15
platofan23 MySQL Java Programm findet Treiber für mySQL auf Debian-Server nicht? Datenbankprogrammierung 11
B Brauche Tipps für Datenbankdesign Datenbankprogrammierung 8
B Tabelle für "wiederkehrende Rechnungen" Datenbankprogrammierung 12
Danloc Informationen für Datenbankverbindung wo/wie speichern? Datenbankprogrammierung 11
J Warum sind Sockets für einen Live-Chat sinnvoll? Datenbankprogrammierung 8
R Java-Befehle/Operatoren für copy&paste Datenbankprogrammierung 2
X PostgreSQL Datenbankdesign für Vokabeltrainer Datenbankprogrammierung 48
@SupressWarnings() HSQLDB Datenbank für mein Dorfbauspiel "Time of Kings" Datenbankprogrammierung 6
M Idee Umsetzung //NFC Eintrittskarten für Geburtstag Datenbankprogrammierung 2
looparda Architektur für JPA Hibernate Umstieg Datenbankprogrammierung 14
P Datanbank für Java-Programmierung Datenbankprogrammierung 10
M Feedback für neues Buch über "Java und Datenbanken" erwünscht Datenbankprogrammierung 8
J SQLite Ich muss für mein Projekt meine Datenbank Kapseln Datenbankprogrammierung 2
J Tipps für ERM Datenbankprogrammierung 4
P Highlevel-Lösung für Speicherung von Baumstruktur mit unbekannter Tiefe Datenbankprogrammierung 1
F welche Datenbank für Messwerte? Datenbankprogrammierung 4
E Warum werden für Datenbanktabellen Schemanamen festgelegt? Datenbankprogrammierung 1
M DB Schema für Vokabeltrainer Datenbankprogrammierung 2
U SQLite Für mich etwa komplexe Abfrage via 2 Tabellen Datenbankprogrammierung 5
E Kann man, wenn man in DB2 Tabellen erstellt hat für dessen auch einen Command-File erstellen? Datenbankprogrammierung 1
T NoSQL Connection für die Thesis [GWT] Datenbankprogrammierung 1
J SQLite Abfrage ausführen stoppt für Zyklus? Wie es zu lösen? Datenbankprogrammierung 3
S HSQLDB Fehlermeldung für den Bildschirm Datenbankprogrammierung 3
L Datenmodell erstellen für eine Nutzertanalyse Datenbankprogrammierung 1
I Query für Geburtstage Datenbankprogrammierung 6
L Zentrale Datenbank im Internet für Spiele Highscores? Datenbankprogrammierung 1
P Derby/JavaDB Csv Datei für dieses Musterprogramm Datenbankprogrammierung 12
ruutaiokwu code-formatter für t-sql... Datenbankprogrammierung 12
J Plug-In-Framework für Hibernate-Klassen Datenbankprogrammierung 0
T Mehrsprachigkeit für Tabellenfelder Datenbankprogrammierung 6
E MySQL Große Datenmengen reibungslos speichern für Gameserver Datenbankprogrammierung 6
F MSSql oder MongoDB für die Speicherung von POI Datenbankprogrammierung 9
G SQLite SQLite Select für View vereinfachen/optimieren Datenbankprogrammierung 4
P MySQL Historie für ein Objekt anlegen Datenbankprogrammierung 5
P MySQL eine richtige Datenbank für einen routenplaner erstellen Datenbankprogrammierung 2
K JDBC- In Java "stored procedure" erstellen für DB2,OracleSql ... Datenbankprogrammierung 3
J Datenbank für Fragen/ Antworten Datenbankprogrammierung 7
O Datenbankschnittstelle für Java Datenbankprogrammierung 8
L Datenbank für kleinere Anwendungen Datenbankprogrammierung 3
N Query für Derby DB mit Enterbrise Bean Datenbankprogrammierung 4
S ich brauche tipps für JDBC Datenbankprogrammierung 4
I Hibernate - Best Practice für Lazy Loading Datenbankprogrammierung 3
R MySQL Voraussetzungen für eine erfolgreiche Datenbankanbindung mittels JDBC Datenbankprogrammierung 2
GianaSisters SQL Befehl für allgemeine Datenbankexistenz Datenbankprogrammierung 4
B Beispiel für sicheres DBUsername/DBPassword handling Datenbankprogrammierung 4
I Anfänger-Tutorial für Hibernate gesucht Datenbankprogrammierung 3
heart_disease Beratung für Datenbankdesign Datenbankprogrammierung 13
C Embedded DB für Java Datenbankprogrammierung 26
J Unterstützung für verschiedene Datenbanken Datenbankprogrammierung 2
L MySQL Probleme mit PreparedStatement für SQL-Abfrage in Java Datenbankprogrammierung 2
F suche Erstanschub für DB-Zugriff Datenbankprogrammierung 9
F MySQL SQL Abfrage für u.a. Spaltenname key Datenbankprogrammierung 4
T ResultSet befehl für leere Spalte nicht lesen Datenbankprogrammierung 4
F Performance-Tool für Oracle Datenbankprogrammierung 2
T Kleine Tabellen für schnellere abfragen? Datenbankprogrammierung 3
C Split String für SQl query Datenbankprogrammierung 10
A update methode für datenbank Datenbankprogrammierung 2
N Datenbank für Dateien Datenbankprogrammierung 6
N Datenbank für einen Stundenplan Datenbankprogrammierung 4
G welche Datenbanktabellen für folgende Attribute Datenbankprogrammierung 3
R Connection Problem für eine externe DB mit Java (JDBC) Datenbankprogrammierung 9
S JPA (EntityManager für jeden Nutzer?) Datenbankprogrammierung 8
J Buffer Manager für Datenbank Datenbankprogrammierung 4
F SQL Voraussetzung für JDBC? Datenbankprogrammierung 10
R Bei Webformular DropDown Felder JA, NEIN! Was für einen Datentyp verwenden? Datenbankprogrammierung 7
T SSL Zertifikat für mysql datenbankzugriff Datenbankprogrammierung 6
T Debugger für SQL? Datenbankprogrammierung 5
Chtonian Effizientes Query System für Wortnachschlagewerk Datenbankprogrammierung 9
G Tabelle für Zeitraum sperren Datenbankprogrammierung 4
A Struct für Datenbank abfrage? Datenbankprogrammierung 12
O Hibernate für Eclipse Datenbankprogrammierung 5
T JPQL Query für eine Tabellenansicht Datenbankprogrammierung 2
D Sicherheit für Datenbankverbindung Datenbankprogrammierung 19
S Standard für Datenbanken Datenbankprogrammierung 3
R Entfernte MySQL Datenbank für lokale Swing-App Datenbankprogrammierung 8
Landei Mehre Werte für einen Prepared-Statement_Parameter übergeben? Datenbankprogrammierung 3
G Einheitliches Casting für Decimal und Integer-Werte Datenbankprogrammierung 5
G TippSpiel für Bundesliga programieren Datenbankprogrammierung 4
-horn- [Anfänger] Ein einfaches Beispiel für Abfrage von MxSQL? Datenbankprogrammierung 8

Ähnliche Java Themen

Neue Themen


Oben