Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Synchronizuj 2 tabele różnych baz danych - MySQL

Możesz użyć poleceń „SELECT ... INTO OUTFILE” i „LOAD DATA INFILE INTO TABLE”.

Edycja:opracowanie...

Biorąc pod uwagę struktury tabeli:

CREATE TABLE my_local_table (
    id int NOT NULL auto_increment PRIMARY KEY,
    data varchar(20),
    created_on datetime);

CREATE TABLE server_table (
    id int NOT NULL auto_increment PRIMARY KEY,
    data varchar(20),
    created_on datetime,
    local_id int);

I trochę fałszywych danych:

INSERT INTO my_local_table (data, created_on) VALUES ('test', now()), ('test2', now());

Możesz użyć następujących poleceń:

SELECT id, data, created_on 
    FROM my_local_table
    WHERE created_on >= '2011-08-18'
    INTO OUTFILE '/tmp/t.txt';

-- (and on the server)
LOAD DATA LOCAL INFILE '/tmp/t.txt'
    INTO TABLE server_table
    (local_id, data, created_on);

Aby zautomatyzować te dwa, możesz użyć skryptu bash / pliku wsadowego wywołującego mysql, łącząc się najpierw z lokalnym serwerem za pomocą pierwszej instrukcji, a następnie ze zdalnym serwerem wykonującym drugą.

mysql -e 'SELECT....';
mysql -h remote_server -e 'LOAD DATA...';


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wyodrębnić n-te słowo i policzyć wystąpienia słów w ciągu MySQL?

  2. Wybierz liczbę / duplikaty

  3. Błąd (kod błędu:1175) podczas wykonywania polecenia aktualizacji na stole przy użyciu MySQL Workbench 5.2

  4. MySQL:Jak wybrać rekordy na ten tydzień?

  5. Zrzucanie tabel MySQL do JSON za pomocą Golang