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

Uruchom plik .sql w Pythonie za pomocą MySQLdb

MySQLdb wydaje się, że pozwala na to po wyjęciu z pudełka, wystarczy wywołać cursor.nextset() aby przejść przez zwrócone zestawy wyników.

db = conn.cursor()
db.execute('SELECT 1; SELECT 2;')

more = True
while more:
    print db.fetchall()
    more = db.nextset()

Jeśli chcesz mieć absolutną pewność, że wsparcie dla tego jest włączone i/lub wyłączyć wsparcie, możesz użyć czegoś takiego:

MYSQL_OPTION_MULTI_STATEMENTS_ON = 0
MYSQL_OPTION_MULTI_STATEMENTS_OFF = 1

conn.set_server_option(MYSQL_OPTION_MULTI_STATEMENTS_ON)
# Multiple statement execution here...
conn.set_server_option(MYSQL_OPTION_MULTI_STATEMENTS_OFF)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. złożone zapytanie SQL, wiele do wielu

  2. Inżynieria wsteczna definicji klasy deklaratywnej SQLAlchemy z istniejącej bazy danych MySQL?

  3. MySQL 'user_id', w którym klauzula jest niejednoznacznym problemem

  4. Sprawdzanie nazwy użytkownika i hasła z MySQL

  5. Wydajność instrukcji MySQL Insert w Javie:przygotowane instrukcje w trybie wsadowym vs pojedyncze wstawianie z wieloma wartościami