MySQL - Daten aus 2 Datenbanken
peter
- datenbank
0 romy0 Sven Rautenberg
Hallo,
gibt es eine Möglichkeit, Tabellen aus 2 versch. MySQL-Datenbanken miteinander zu verknüpfen ?
gruß
ptr
Hi peter,
gibt es eine Möglichkeit, Tabellen aus 2 versch. MySQL-Datenbanken miteinander zu verknüpfen ?
m.E. nicht mit SQL,
die einfachste Lösung wäre doch, die Tabellen in der jeweiligen Abfrageskriptsprache zu verbinden.
ciao
romy
Moin!
gibt es eine Möglichkeit, Tabellen aus 2 versch. MySQL-Datenbanken miteinander zu verknüpfen ?
m.E. nicht mit SQL,
Doch, auch mit SQL. Genauso wie man beim JOIN Tabellen und Spalten kennzeichnet, nämlich mit "tabelle.spalte" (statt nur "spalte"), genauso kann man auch DB-übergreifend arbeiten ("datenbank.tabelle.spalte") - jedenfalls grundsätzlich. Ich empfehle, das Manual dazu zu konsultieren, sollten Probleme auftreten.
Hi Sven,
Doch, auch mit SQL. Genauso wie man beim JOIN Tabellen und Spalten kennzeichnet, nämlich mit "tabelle.spalte" (statt nur "spalte"), genauso kann man auch DB-übergreifend arbeiten ("datenbank.tabelle.spalte") - jedenfalls grundsätzlich. Ich empfehle, das Manual dazu zu konsultieren, sollten Probleme auftreten.
ich habe zu erst nur nach der MySQL - Doku gesucht und immer nnur tabelle.spalte gefunden und mir dann so gedacht, na wenn es nicht geschrieben steht, warum sollte es dann gehen. ABER: laut
http://www.google.de/search?hl=de&q=datenbank.tabelle.spalte&btnG=Google-Suche&meta= gibt es einen Schalter der die entsprechende Syntax in MySQL ein- und ausschalten kann.
Wahrscheinlich kann es jedes besseres Datenbanksystem, ich war nur so unsicher, weil bei sämtlichen Syntaxbeschreibungen davon nie die Rede ist und doch eigentlich als allgemeine Syntax dazu gehören müsste, oder!?
ciao
romy
Hi,
danke erstmal euch beiden für die Antworten.
Meine Syntax lautet momentan so:
@mysql_connect($host,$username,$passwort)
@mysql_select_db($db)
---> dann mit DB arbeiten
(da sind natürlich auch noch if-Abfragen drauf, die Meldung bringen, wenn keine Verb. zu Server oder DB)
Mit ***@mysql_select_db($db)*** wähle ich ja dann schon eine Datenbank aus, mit der ich dann arbeite.
Wenn ich jetzt aber mit 2 Datenbanken arbeiten will, muß ich dann:
1. ***@mysql_select_db($db)*** weglassen und die entsprechenden Datenbanken einfach nach dem Schema datenbank.tabelle.spalte ansprechen ?
oder
2. beide Datenbanken erstmal auswählen, um sie ansprechen zu können?
(
@mysql_connect($host,$username,$passwort)
@mysql_select_db($db1)
@mysql_select_db($db2)
---> dann mit DBs arbeiten
bzw.:
@mysql_connect($host1,$username1,$passwort1)
@mysql_select_db($db1)
@mysql_connect($host2,$username2,$passwort2)
@mysql_select_db($db2)
---> dann mit DBs arbeiten
)
gruß
ptr
Hi Sven
Doch, auch mit SQL. Genauso wie man beim JOIN Tabellen und Spalten kennzeichnet, nämlich mit "tabelle.spalte" (statt nur "spalte"), genauso kann man auch DB-übergreifend arbeiten ("datenbank.tabelle.spalte") - jedenfalls grundsätzlich.
Aber doch nicht bei MySQL, alles was bequem wäre, beherrscht MySQL nicht. Oracle kann das afair auch nicht, auch wenn es da einen anderen Grund hat.
Gruss Daniela
echo $begrüßung;
Doch, auch mit SQL. Genauso wie man beim JOIN Tabellen und Spalten kennzeichnet, nämlich mit "tabelle.spalte" (statt nur "spalte"), genauso kann man auch DB-übergreifend arbeiten ("datenbank.tabelle.spalte") - jedenfalls grundsätzlich.
Aber doch nicht bei MySQL, alles was bequem wäre, beherrscht MySQL nicht.
Diese Aussage konnte ich mit MySQL 4.1.8 nicht nachvollziehen.
SELECT test1.test.*, test2.test.* FROM test1.test, test2.test
wird wie erwartet ausgeführt.
echo "$verabschiedung $name";
Hi dedlfix
Diese Aussage konnte ich mit MySQL 4.1.8 nicht nachvollziehen.
Möglich, müsste dann aber mit 4 oder 4.1 hinzugekommen sein.
Gruss Daniela
Hi,
Oracle kann das afair auch nicht, auch wenn es da einen anderen Grund hat.
welchen anderen Grund denn?
Gruss,
Ludger
Hi Ludger
welchen anderen Grund denn?
Eine Datenbank ist bei Oracle nicht eine logische Gliederung der Daten sondern ein Datenbereich, der von einer Serverinstanz verwaltet wird. Daten über verschiedene Serverinstanzen in einer Query abzufragen, ist nicht gerade sinnvoll.
Gruss Daniela
Hi,
welchen anderen Grund denn?
Eine Datenbank ist bei Oracle nicht eine logische Gliederung der Daten sondern ein Datenbereich, der von einer Serverinstanz verwaltet wird. Daten über verschiedene Serverinstanzen in einer Query abzufragen, ist nicht gerade sinnvoll.
fuer jede DB gibts eine dedizierte Serverinstanz (einen Dienst, der die Daten verwaltet), korrekt? Interessant. Was macht man, wenn man auf einem Geraet eine grosse Datenbasis in sagen wir mal 10 Datenbasen (mit jeweils einem Rudel Tabellen) aufteilen will oder muss? - 10 Dienste starten?
Gruss,
Ludger
Hi Ludger
fuer jede DB gibts eine dedizierte Serverinstanz (einen Dienst, der die Daten verwaltet), korrekt?
Ja
Was macht man, wenn man auf einem Geraet eine grosse Datenbasis in sagen wir mal 10 Datenbasen (mit jeweils einem Rudel Tabellen) aufteilen will oder muss? - 10 Dienste starten?
Du hättest keine 10 Datenbanken, du hättest nur eine Datenbank. Es ist nicht besonders sinnig, auf einer Maschine mehrere Prozesse laufen zu lassen, nur um eine logische Unterteilung zu erzielen. Es gibt eine Gliederungsmöglichkeit die dem entspricht, was normalerweise Datenbanken wären. Ich meine, es waren Tablespaces, aber ohne Gewähr (nicht zu vergleichen, mit den Tablespaces die es bei DB/2 gibt).
Gruss Daniela
yo,
Aber doch nicht bei MySQL, alles was bequem wäre, beherrscht MySQL nicht.
um mal ein gegenbeispiel zu nenen, LIMIT
Ilja