Erste Schritte Datenbank SQL erklärung

kill_dmp

Aktives Mitglied
hi all

ich habe eine frage zu java und MySQL da ich noch ziemlich am anfang bin und nicht alles verstehe brauche ich eine erklärung wie die ab und anfragen da genau gehen

ich habe aus einen tut schon mal ein teil herraus bekommen aber ich komme nicht weiter, da ich nicht weis was ich grade überhaupt mache :oops:

Java:
import 
java.beans.Statement;
import java.sql.*;

public class Main {
	
	//variabel 
	Statement stmt;       
	ResultSet rs;
	//main
	public static void main(String[] args) {

		try {
			Class.forName("com.mysql.jdbc.Driver");
			
			String url     = "jdbc:mysql://999.999.999/Test";       
			Connection con = DriverManager.getConnection(url,"XXX", "XXX");        
			stmt = con.createStatement();
			rs = stmt.executeQuery("SELECT vorname, nachname FROM users");
			int anzahlZeilen = stmt.executeQuery("UPDATE users SET vorname = 'Harry' WHERE vorname='Larry' ");
			while (rs.next())       
			{        
			    String  vorname = rs.getString("vorname");        
			    String  nachname = rs.getString("nachname");        
			    System.out.println("Vorname: "+vorname+" | Nachname: "+nachname);        
			}
		} catch (SQLException e) {
		System.out.println("fehler");
		}

	}

}

in zeile 16 ist "jdbc:mysql://" was ist das, was macht es und brauche ich es?

zeile 19 und 20 da verstehe ich garnix.

ich hoffe mal das die fragen nicht zu blöd sind aber ich versuche zu verstehen was da genau passirt so das ich auch weis was ich mache ^^

ip und benutzer wie auch pw habe ich weggelassen sind mit 999.999.999 und xxx xxx
 
Zuletzt bearbeitet:

geqoo

Bekanntes Mitglied
jdbc:mysql: wirst du solange brauchen, wie du mittels JDBC-Treiber (Java DataBase Connector) auf die MySQL Datenbank zugreifen willst.
Mittels der Zeile wird mittels JDBC-Treiber auf eine MySQL Datenbank auf der IP Adresse 999.999.999 zugegriffen, was eigentlich keine IP-Adresse ist, da mindestens 4 Oktette (8-bit Paare) für eine IPv4-Adresse vorhanden sein müssen, hier sind es aber nur 3 und außerdem ist 999 nicht gültig. Dann wird über /Test noch auf die Datenbank "Test" zugegriffen.
In Zeile 17 werden deine Login-Daten mitgegeben.

Zeile 19 führt eine Abfrage (ein sog. Statement) über den JDBC-Treiber aus. Das muss im Fall MySQL immer ein MySQL-Befehl sein (SQL ist eine eigene Sprache, die nichts mit Java zutun hat), hier steht es für "Hole für alle Datensätze den 'vornamen' und 'nachnamen' aus der Tabelle 'users'".
In Zeile 20 wird über einen MySQL Befehl ein Datensatz aktualisiert (aktualisiere Tabelle 'users', setze 'Vorname' = Harry, dort wo der 'Vorname' = Larry ist).

Über die while Schleife werden dann alle Datensätze geholt, solange es noch Datensätze gibt, da ein ResultSet immer nur einen Datensatz beinhalten kann.

Da dieses ResultSet eine Art Array zurück gibt, wird noch der zuvor mittels SQL Befehl gelesene vorname und nachname ausgelesen und in verwendbare Strings gepackt.
 
Zuletzt bearbeitet:

kill_dmp

Aktives Mitglied
ok vielen dank für die erklärung hat mir schon mal weiter geholfen
habe aber noch eine frage
wieso bekomme ich ich immer in der console die ausgabe
Code:
fehlerjava.lang.ClassNotFoundException: com.mysql.jdbc.Driver

Java:
package MyFirstHsqlConnection;

import java.beans.Statement;
import java.sql.*;

public class Main {
	
	//variabel 
	
	//main
	public static void main(String[] args) {

		try {
			Class.forName("com.mysql.jdbc.Driver").newInstance();
			
		Connection con = DriverManager.getConnection("jdbc:mysql://178.254.xxx.xxx/Java", "xxx", "xxx");
		
		con.setReadOnly(true);
		
		Statement stmt = (Statement) con.createStatement();
		
		ResultSet rs = ((java.sql.Statement) stmt).executeQuery("Select * from DatenbankTest");
		
		while(rs.next()){
			System.out.println(rs.getInt(1)+" "+rs.getString(2));
		}
		
		rs.close();
		
		con.close();
 

geqoo

Bekanntes Mitglied
Ja, die Klasse com.mysql.jdbc.Driver wird in deinem Classpath nicht gefunden.
Hast du von Oracle die zugehörige JDBC-MySQL Jar-Datei heruntergeladen und deinem Workspace hinzugefügt?
 
Zuletzt bearbeitet:

kill_dmp

Aktives Mitglied
ich habe mysql-connector-java-5.1.15-bin.jar heruntergeladen dann habe ich rechsklick auf das projekt gemacht properties>java build path>libraries>add extenal(dann die .JAR aus gewält und ok.

wel das nicht geklapt hat habe ich von mysql direkt mysql-connector-java-gpl-5.1.26.msi runtergeladen
das hat auch nicht geklapt also habe ich google gefragt und google sagt nur lad die beiden daten runter
:)
 

Sehales

Bekanntes Mitglied
Es ist schwer die zu helfen, wenn es angeblich so gemacht wurde wie du schreibst, denn dann sollte es gehen.
Hast du das Problem denn auch, wenn du das Programm direkt in/über der/die IDE ausführst?
 

stg

Top Contributor
Welche IDE benutzt du denn? In Netbeans etwa findest du etwa unter dem Menüpunkt "Run" einige Auswahloptionen, die eigentlich selbsterklärend sein sollten.
Startest du dein Programm denn überhaupt per Hand über die Konsole, oder was machst du?

Beim überfliegen deines Codes ist mir aber zusätzlich noch eine Sache aufgefallen: Du willst sicherlich
Code:
java.sql.Statement
statt
Code:
java.beans.Statement
importieren.
 

Natac

Bekanntes Mitglied
Java:
Class.forName("com.mysql.jdbc.Driver").newInstance();
Das ist Blödsinn. Es reicht völlig, die Klasse zu laden. Einen neue Instanz zu erzeugen, die dann auch niemand nutzt ist unnötig und ein Overhead.
 

kill_dmp

Aktives Mitglied
also ich nutze eclipse als prog.oberfläche

die
Java:
.newInstance();
ist auch raus

das mit den treiben hab ich hin bekommen nach ein parr stunden google

jetzt frage ich mich nur was das heisen soll

Java:
fehlercom.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
 

stg

Top Contributor
Die Fehlermeldungen im Rahmen vom Verbindungsaufbau zu den verschiedenen Datenbanken sind leider oft nicht sehr aussagekräftig.
Prüfe zunächst mal, ob deine Datenbank überhaupt läuft.
Wie lauten die Verbindungsdaten?
Läuft die Datenbank auf den gleichen Rechner, wie dein Java-Programm?
Wie sieht dein Connection-String nun komplett aus?
Läuft die Datenbank lokal, so sollte das Muster ungefähr so aussehen:
Code:
jdbc:mysql://localhost:3306/mydatabase
 

kill_dmp

Aktives Mitglied
ich habe jetzt auch mal ein parr sachen raus genoommen und der fehler kann jetzt nur noch in dem bereich liegen

wie man einen db testet ob sie leut weis ich leuder auch nicht ^^
Java:
package MyFirstHsqlConnection;

import java.beans.Statement;
import java.sql.*;

public class Main {
	
	//variabel 
	
	//main
	public static void main(String[] args) {

		try {
			Class.forName("com.mysql.jdbc.Driver");
			
		Connection con = DriverManager.getConnection("jdbc:mysql://178.254.26.***/Java", "root", "***");
		
		//con.setReadOnly(true);
		
		/*Statement stmt = (Statement) con.createStatement();
		
		ResultSet rs = ((java.sql.Statement) stmt).executeQuery("Select * from DatenbankTest");
		
		while(rs.next()){
			System.out.println(rs.getInt(1)+" "+rs.getString(2));
		}
		rs.close();
		 */
		
		con.close();
			
		}catch (Exception e) {
		System.out.println("fehler"+e);
		}

	}

}
ich nutze einen externen rootserver
und zur zeit logge ich mit auf der mysql datenbank mit root ein, da noch nicht alle accounts so sind wie ich sie gerne hätte
 
Zuletzt bearbeitet:

stg

Top Contributor
Heißt die Datenbank wirklich "Java" ?
Ist der Server so konfiguriert, dass ohne Portangabe in der Adresse auch tatsächlich auf den von dir gewählten Datenbankport zugegriffen wird?

Mit "Testen, ob die Datenbank läuft" meinte ich lediglich, dass du mal versuchst, direkt von der Maschine, auf der die DB denn installiert ist, über ein Admintool darauf zuzugreifen. Also falls du dort zB einen XAMPP laufen hast, etwa phpmyadmin...
 

kill_dmp

Aktives Mitglied
also erst mal danke das du überhaubt auf die mail geantwortest hast, troz der ganzen rechtschreibfehler
die DB leuft und ich kann auch alles nutzen

so ist es bei mir aufgebaut wenn das hilft
 

Ruzmanz

Top Contributor
Bei einem Rootserver würde ich erstmal mit Navicat oder vergleichbaren Programmen versuchen eine Verbindung aufzubauen. Der Zugriff auf die DB mit externen Programmen wird ab und zu geblockt oder die eigene Firewall blockiert. Deshalb ist phpMyAdmin nicht die beste Methode sowas zu prüfen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Erste Schritte Einfache Datenbank-Webseite erstellen als Nicht-IT-lerin Java Basics - Anfänger-Themen 24
M Daten aus errechneter Methode in Datenbank(SQLite) schreiben Java Basics - Anfänger-Themen 60
S Best Practice Fragen zu Projektstruktur einer Datenbank-Abfrage-App (MVC) Java Basics - Anfänger-Themen 13
I Element n aus Datenbank Query (JPA / Hibernate) Java Basics - Anfänger-Themen 3
I Passwort in Datenbank speichern um später wieder auszulesen Java Basics - Anfänger-Themen 5
S OOP Java Eingabe in verschiedene Datenbank Tabellen eintragen Java Basics - Anfänger-Themen 7
I H2 Datenbank starten / Daten in File speichern Java Basics - Anfänger-Themen 25
E schneller von der Datenbank abfragen Java Basics - Anfänger-Themen 15
E Datenbank Spalte zusammenzählen Java Basics - Anfänger-Themen 2
R Datenbank Java Basics - Anfänger-Themen 1
I API Key´s in der Datenbank decrypt / encrypten? Java Basics - Anfänger-Themen 23
I Werte (u.a. Geldbeträge) in Datenbank speichern und Rundungen? Java Basics - Anfänger-Themen 8
M Mehrere Datenbank zugriffe über tomee.xml regeln? Java Basics - Anfänger-Themen 1
M Datenbank oder Textdatei? Java Basics - Anfänger-Themen 4
S Datenbank Befehl nach Login Java Basics - Anfänger-Themen 5
S Datenbank Tabelle eine Zeile an einer bestimmten Stelle einfügen Java Basics - Anfänger-Themen 2
M Von der Datenbank zum Textfield Java Basics - Anfänger-Themen 16
R Best Practice Logik in der Datenbank oder in Java? Java Basics - Anfänger-Themen 3
R Datenbank-Werte dynamisch ausgeben Java Basics - Anfänger-Themen 19
B Frage zu Datenbank Design - Rechnungen, Angebote... und deren Positionen Java Basics - Anfänger-Themen 4
B Datenbank: Entity mit vielen Referenzen? Ansatz so ok? Java Basics - Anfänger-Themen 8
T Datenbank | Welche am Sinnvollsten? Java Basics - Anfänger-Themen 5
S Daten speichern, ohne Datenbank Java Basics - Anfänger-Themen 8
L Daten aus ArrayList in Datenbank durchsuchen Java Basics - Anfänger-Themen 5
M Datenbank in jTable Laden Java Basics - Anfänger-Themen 49
M Datenbank verbindung Java Basics - Anfänger-Themen 19
J Java Verbindung mit mysql Datenbank Java Basics - Anfänger-Themen 3
B Datenbank, aktuelle Ende als Zahl an Label übergeben Java Basics - Anfänger-Themen 7
T Collections Geeignete Collection/Liste/Datenbank Java Basics - Anfänger-Themen 17
B Treetable (rekursive Funktion) aufbauen von Datenbank Java Basics - Anfänger-Themen 4
R Input/Output Verbindung mit mySql-Datenbank Java Basics - Anfänger-Themen 9
D Compiler-Fehler Wert auf Datenbank übertragen und Sleep Thread Java Basics - Anfänger-Themen 3
N (Java) Regristrierung und Login System mit einer Datenbank Java Basics - Anfänger-Themen 5
J Datenbank Zugriff Java Basics - Anfänger-Themen 24
J Mit JSF Formular in Datenbank schreiben Java Basics - Anfänger-Themen 3
DaCrazyJavaExpert Verschiede Aktionen der Datenbank getrennt durchführen Java Basics - Anfänger-Themen 4
DaCrazyJavaExpert Datenbank wird nicht erstellt Java Basics - Anfänger-Themen 31
E Daten gehen nicht in Datenbank Java Basics - Anfänger-Themen 14
C JTable update mit MySQL Datenbank Java Basics - Anfänger-Themen 1
Meeresgott OOP Gui, Logik und Datenbank richtig aufbauen Java Basics - Anfänger-Themen 43
B Schreiben von zu vielen Einträgen in einer Datenbank Java Basics - Anfänger-Themen 9
S Datenbank auf Knopfdruck abfragen Java Basics - Anfänger-Themen 8
M Java als Webanwendung mit Datenbank abfrage Java Basics - Anfänger-Themen 3
N Datenbank mit GUI verbinden - Wie? Java Basics - Anfänger-Themen 5
1 Datenbank in Java Java Basics - Anfänger-Themen 1
M Erste Schritte Java Applet - HTML Seiten auslesen und in Access Datenbank schreiben? Java Basics - Anfänger-Themen 15
J Bücher Datenbank Java Basics - Anfänger-Themen 5
S Best Practice MVC und große Datenmengen aus einer mySQL - Datenbank Java Basics - Anfänger-Themen 24
J Datum und Uhrzeit in Datenbank falsch hinterlegt Java Basics - Anfänger-Themen 13
R Erstversuch Datenbank Java Basics - Anfänger-Themen 6
I Daten speichern ohne Datenbank Java Basics - Anfänger-Themen 20
A Erste Schritte Verbindung zu MySQL Datenbank herstellen Java Basics - Anfänger-Themen 7
T Sql Datenbank - variable übergeben? Java Basics - Anfänger-Themen 8
C Passwörter möglichst sicher in Datenbank speichern Java Basics - Anfänger-Themen 18
W Erste Schritte Exceltabelle in Datenbank übertragen mittels XDEV Java Basics - Anfänger-Themen 7
J GUI mit phpMyAdmin Datenbank verbinden Java Basics - Anfänger-Themen 0
B Lokale Datenbank Java Java Basics - Anfänger-Themen 2
B Klassen Doppelte werte Filtern XML, Datenbank und DOM Java Basics - Anfänger-Themen 3
Todesbote Int Array mit Hibernate in Datenbank speichern. Java Basics - Anfänger-Themen 2
U Datenbank in Java Java Basics - Anfänger-Themen 8
M Keine Datenbank verbindung Java Basics - Anfänger-Themen 14
N mit Werten aus einer mysql datenbank in java rechnen Java Basics - Anfänger-Themen 17
Q Datenbank nicht über separaten Server Java Basics - Anfänger-Themen 4
B Dateiname in Datenbank schreiben Java Basics - Anfänger-Themen 2
J fortlaufende Objekte durch Variable auswählen; Datenbank Java Basics - Anfänger-Themen 4
S ArrayList in mysql Datenbank speichern Java Basics - Anfänger-Themen 6
C Datenbank - Welche Java Basics - Anfänger-Themen 5
B Java Objektorientierte Datenbank - Assoziation Hilfe Java Basics - Anfänger-Themen 4
G Input/Output Serialisierung oder Datenbank Java Basics - Anfänger-Themen 6
J Erste Schritte Objekte in Datenbank speichern Java Basics - Anfänger-Themen 26
A Android Datenbank gaaanz einfaches Insert geht nicht - warum? Java Basics - Anfänger-Themen 4
L Erste Schritte Datenbank Zugangsdaten sicher? Java Basics - Anfänger-Themen 15
S Input/Output Primzahlen Datenbank Java Basics - Anfänger-Themen 11
B Mit Java-Programm Daten aus MySQL-Datenbank auslesen, lokal und nicht lokal. Java Basics - Anfänger-Themen 10
K Input/Output Datenbank Java Basics - Anfänger-Themen 27
M Datenbank in die Gui Java Basics - Anfänger-Themen 4
J JTable mit Daten aus Datenbank füllen Java Basics - Anfänger-Themen 3
F Erfassung von PCs in eine SQLite-Datenbank über JDBC Java Basics - Anfänger-Themen 9
T Datenbank Abfrage Exception Null Java Basics - Anfänger-Themen 2
M Brauche ich ein Datenbank oder nicht? Java Basics - Anfänger-Themen 6
D JDBC Datenbank fail?! Java Basics - Anfänger-Themen 20
A Problem beim einfügen in eine Datenbank Java Basics - Anfänger-Themen 2
F Classpath Datenbank ... nur wo? Java Basics - Anfänger-Themen 24
H Datenbank suche in kleine Schritte Java Basics - Anfänger-Themen 6
B Personalnummer aus Datenbank Java Basics - Anfänger-Themen 3
M Welche Datenbank? Java Basics - Anfänger-Themen 5
J RadioButtonInhalt in Datenbank übergeben Java Basics - Anfänger-Themen 3
R Datenbank bei Klassenverteilung führt zu NullPointerException Java Basics - Anfänger-Themen 7
J PW von Datenbank wie abspeichern? Java Basics - Anfänger-Themen 2
F Verbindung zu MySql Datenbank Java Basics - Anfänger-Themen 4
MU5T4NG JPasswordField als Hash in Datenbank abspeichern Java Basics - Anfänger-Themen 3
J Kleine Datenbank programmieren Java Basics - Anfänger-Themen 2
J Eigene kleine Datenbank programmieren Java Basics - Anfänger-Themen 2
F Collections Datenbankdaten in einer Map speichern, bearbeiten, sortieren und wieder in Datenbank schreiben Java Basics - Anfänger-Themen 20
T Zugangsdaten für Datenbank in Java-Programm speichern? Java Basics - Anfänger-Themen 5
S Schnittstelle für Datenbank bzw. Dateiformat Java Basics - Anfänger-Themen 2
C ComboBoxModel mit Daten der Datenbank verändern Java Basics - Anfänger-Themen 2
T Datenbank automatisch erzeugen beim ersten Start Java Basics - Anfänger-Themen 6
I Datenbank - nach erster Verbindung keine Verbindung mehr Java Basics - Anfänger-Themen 3
F Datenbank in eine Textdatei speichern Java Basics - Anfänger-Themen 13

Ähnliche Java Themen

Neue Themen


Oben