SQL Tabellen kopieren

SQL Tabellen kopieren

am 28.11.2006 17:16:11 von Michael Schrading

Ich habe zwei Datenbanken. Beide sind identisch. Ich möchte die =
Datensätze einer Tabelle, von einer Datenbank in die andere kopieren,=20

Wie bekomme ich das hin? Gibt es da eine einfache sql -Syntax?


Michael

Re: SQL Tabellen kopieren

am 28.11.2006 17:51:10 von Andreas Kretschmer

Andreas
--
q: why do so many people take an instant dislike to mysql?
a: it saves time (oicu in #postgresql)
Explaining the concept of referential integrity to a mysql user is like
explaining condoms to a catholic (Shadda in #postgresql)

Re: SQL Tabellen kopieren

am 28.11.2006 17:56:45 von Michael Schrading

HI Andeas.

Ne, die Tabellen sind gleich aber nicht dessen Inhalte. Ist doch =
logisch, sonst kann ich mir das doch sparen...

Mi


"Andreas Kretschmer" schrieb im Newsbeitrag =
news:u06u34-0ib.ln1@news.a-kretschmer.de...
> begin Michael Schrading wrote:
>> Ich habe zwei Datenbanken. Beide sind identisch. Ich möchte die =
Datensätze einer Tabelle, von einer Datenbank in die andere kopieren,=20
>=20
> Wenn die identisch sind, dann sind doch die Daten schon gleich, oder?
>=20
>=20
>> Wie bekomme ich das hin? Gibt es da eine einfache sql -Syntax?
>=20
> Auf einem System !=3D MySQL geht dies:
>=20
> insert into foo select col1, col2 from bar;
>=20
>=20
>=20
> end
> Andreas
> --=20
> q: why do so many people take an instant dislike to mysql?=20
> a: it saves time (oicu in =
#postgresql)
> Explaining the concept of referential integrity to a mysql user is =
like
> explaining condoms to a catholic (Shadda in #postgresql)

Re: SQL Tabellen kopieren

am 28.11.2006 20:02:19 von Sven Paulus

Michael Schrading wrote:
> Ich habe zwei Datenbanken. Beide sind identisch. Ich möchte die Datens=
ätze einer Tabelle, von einer Datenbank in die andere kopieren,=20
> Wie bekomme ich das hin? Gibt es da eine einfache sql -Syntax?

Wenn es nur um eine Tabelle geht, dann so:

INSERT INTO db2.table SELECT * FROM db1.table

Re: SQL Tabellen kopieren

am 28.11.2006 20:06:57 von Michael Schrading

JO, danke Sven.=20

Das hört sich interessant an. Könntest Du mir bitte db2 und db1 =
etwas näher erklären. Sind das die Refernzen auf die Datenbanken?

Viele Grüße
Mi

"Sven Paulus" schrieb im Newsbeitrag =
news:1000101011011001000011110001111-10010010110101111101000 01101000@akk4=
..akk.org...
Michael Schrading wrote:
> Ich habe zwei Datenbanken. Beide sind identisch. Ich möchte die =
Datensätze einer Tabelle, von einer Datenbank in die andere kopieren,=20
> Wie bekomme ich das hin? Gibt es da eine einfache sql -Syntax?

Wenn es nur um eine Tabelle geht, dann so:

INSERT INTO db2.table SELECT * FROM db1.table

Re: SQL Tabellen kopieren

am 29.11.2006 10:10:08 von Michael Schrading

Guten Morgen Sven.

Ich habe noch ein anderes Problem Die beieden Datenbanken liegen auf =
unterschiedlichen Servern ;-( Und wie packe ich das in eine query rein?

Michael


"Sven Paulus" schrieb im Newsbeitrag =
news:1000101011011001000011110001111-10010010110101111101000 01101000@akk4=
..akk.org...
Michael Schrading wrote:
> Ich habe zwei Datenbanken. Beide sind identisch. Ich möchte die =
Datensätze einer Tabelle, von einer Datenbank in die andere kopieren,=20
> Wie bekomme ich das hin? Gibt es da eine einfache sql -Syntax?

Wenn es nur um eine Tabelle geht, dann so:

INSERT INTO db2.table SELECT * FROM db1.table

Re: SQL Tabellen kopieren

am 29.11.2006 10:46:05 von Daniel Fischer

Andreas Kretschmer!

> Auf einem System != MySQL geht dies:
>
> insert into foo select col1, col2 from bar;

Das geht auch auf einem System == MySQL. Wieso auch nicht?


Gruß
Daniel

Re: SQL Tabellen kopieren

am 29.11.2006 10:53:32 von Michael Schrading

"Daniel Fischer" schrieb im Newsbeitrag =
news:pan.2006.11.29.09.46.05.47962@df.erinye.com...
> Andreas Kretschmer!
>=20
>> Auf einem System !=3D MySQL geht dies:
>>=20
>> insert into foo select col1, col2 from bar;
>=20
> Das geht auch auf einem System == MySQL. Wieso auch nicht?

Und wie ist das bei zwei verschiedenen Servern?

gruß Michael

Re: SQL Tabellen kopieren

am 29.11.2006 11:03:14 von Andreas Kretschmer

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de

Re: SQL Tabellen kopieren

am 29.11.2006 11:07:16 von Sven Paulus

Michael Schrading wrote:
> Das hört sich interessant an. Könntest Du mir bitte db2 und db1
> etwas näher erklären. Sind das die Refernzen auf die Datenbanken?

Noe, einfach die Namen der Datenbank, so wie Du sie zuvor mit

CREATE DATABASE db1

etc. angelegt hast.

Re: SQL Tabellen kopieren

am 29.11.2006 11:09:43 von Sven Paulus

Michael Schrading wrote:
> Ich habe noch ein anderes Problem Die beieden Datenbanken liegen
> auf unterschiedlichen Servern ;-( Und wie packe ich das in eine
> query rein?

Dann geht's nur mit mysqldump:

mysqldump alte_db tabelle | ssh andererserver "mysql neue_db"

Re: SQL Tabellen kopieren

am 29.11.2006 11:54:32 von Daniel Fischer

Michael Schrading!

> Und wie ist das bei zwei verschiedenen Servern?

Bei einer Kopie von einem Server zum anderen Server würde ich mysqldump
verwenden, wie Sven Paulus schreibt. Das geht am schnellsten und
einfachsten.

Wenn beide Server MySQL sind, kannst du auch die federated storage engine
benutzen, um direkt von einem Server auf eine Tabelle des anderen Servers
zuzugreifen.

http://dev.mysql.com/doc/refman/5.0/en/federated-storage-eng ine.html


Gruß
Daniel

Re: SQL Tabellen kopieren

am 29.11.2006 11:57:10 von Daniel Fischer

Andreas Kretschmer!

>>> Auf einem System != MySQL geht dies:
>[...]
> Ich habe nicht gesagt, daß es nicht auf MySQL geht.

Dann bindet bei dir offenbar das Leerzeichen stärker als != und bei mir
bindet das != stärker. Kleines Missverständnis. :-)


Gruß
Daniel

Re: SQL Tabellen kopieren

am 29.11.2006 12:04:20 von Claus Reibenstein

Daniel Fischer schrieb:

> Andreas Kretschmer!
>
>> Auf einem System != MySQL geht dies:
>>
>> insert into foo select col1, col2 from bar;
>
> Das geht auch auf einem System == MySQL. Wieso auch nicht?

Weil Andreas es sich nicht vorstellen kann ...

Gruß. Claus
--
,~°O O
O ,´ / |/|\
/ |¯`. Das neue Hochzeits-Branchenbuch im Internet ,´ / | |\
/__| `~...............................................~´ /___|/ /

Re: SQL Tabellen kopieren

am 29.11.2006 12:07:55 von Claus Reibenstein

Michael Schrading schrieb:

> "Daniel Fischer" schrieb im Newsbeitrag news:pan.2006.11.29.09.46.05.47962@df.erinye.com...

Abgesehen davon, dass diese Zeile viel zu lang ist: Inwiefern tragen -
Deiner Meinung nach - Mailadresse des Absenders und Nachrichten-ID zum
Verständnis des Zitats bei?

>> Andreas Kretschmer!
>>
>>> Auf einem System != MySQL geht dies:
>>>
>>> insert into foo select col1, col2 from bar;
>>
>> Das geht auch auf einem System == MySQL. Wieso auch nicht?
>
> Und wie ist das bei zwei verschiedenen Servern?

Nenne mir _ein_ System, welches das mit dieser einfachen Anweisung bei
zwei verschiedenen Servern hinbekommt.

Gruß. Claus
--
,~°O O
O ,´ / |/|\
/ |¯`. Das neue Hochzeits-Branchenbuch im Internet ,´ / | |\
/__| `~...............................................~´ /___|/ /

Re: SQL Tabellen kopieren

am 29.11.2006 12:21:23 von Andreas Kretschmer

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de

Re: SQL Tabellen kopieren

am 29.11.2006 12:22:26 von Andreas Kretschmer

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net
Deutsche PostgreSQL User Group: http://pgug.de

Re: SQL Tabellen kopieren

am 29.11.2006 19:13:47 von Daniel Fischer

Claus Reibenstein!

> Nenne mir _ein_ System, welches das mit dieser einfachen Anweisung bei
> zwei verschiedenen Servern hinbekommt.

MySQL.

Allerdings muss man, damit diese einfache Anweisung funktioniert, zuerst
auf dem Zielserver eine Tabelle mit identischer Struktur anlegen, als
Engine Federated angeben und den richtigen Connect-String einstellen.
Danach sind Zugriffe wie auf eine lokale Tabelle möglich, solange niemand
auf die Idee kommt, ALTER TABLE zu benutzen. :-)


Gruß
Daniel

Re: SQL Tabellen kopieren

am 29.11.2006 19:28:50 von Andreas Kretschmer

Andreas
--
q: why do so many people take an instant dislike to mysql?
a: it saves time (oicu in #postgresql)
Explaining the concept of referential integrity to a mysql user is like
explaining condoms to a catholic (Shadda in #postgresql)