sql >> Databáze >  >> RDS >> Mysql

Jak se připojím k databázi MySQL v Pythonu?

Připojení k MYSQL pomocí Pythonu 2 ve třech krocích

1 – Nastavení

Než cokoliv uděláte, musíte nainstalovat ovladač MySQL. Na rozdíl od PHP je v Pythonu standardně nainstalován pouze ovladač SQLite. Nejpoužívanějším balíčkem k tomu je MySQLdb ale je těžké to nainstalovat pomocí easy_install. Upozorňujeme, že MySQLdb podporuje pouze Python 2.

Pro uživatele Windows můžete získat exe MySQLdb .

Pro Linux se jedná o neformální balíček (python-mysqldb). (Můžete použít sudo apt-get install python-mysqldb (pro distribuce založené na debianu), yum install MySQL-python (pro rpm) nebo dnf install python-mysql (pro moderní distro fedora) v příkazovém řádku ke stažení.)

Pro Mac můžete nainstalujte MySQLdb pomocí Macport .

2 – Použití

Po instalaci restartujte. Toto není povinné, ale zabrání mi to v tomto příspěvku odpovědět na 3 nebo 4 další otázky, pokud se něco pokazí. Takže prosím restartujte.

Pak je to jako používat jakýkoli jiný balíček:

#!/usr/bin/python
import MySQLdb

db = MySQLdb.connect(host="localhost",    # your host, usually localhost
                     user="john",         # your username
                     passwd="megajonhy",  # your password
                     db="jonhydb")        # name of the data base

# you must create a Cursor object. It will let
#  you execute all the queries you need
cur = db.cursor()

# Use all the SQL you like
cur.execute("SELECT * FROM YOUR_TABLE_NAME")

# print all the first cell of all the rows
for row in cur.fetchall():
    print row[0]

db.close()

Samozřejmě existuje tisíc možností a možností; toto je velmi základní příklad. Budete se muset podívat do dokumentace. Dobrý výchozí bod .

3 – Pokročilejší použití

Až budete vědět, jak to funguje, možná budete chtít použít ORM abyste se vyhnuli ručnímu psaní SQL a manipulovali s tabulkami tak, jako by to byly objekty Pythonu. Nejznámější ORM v komunitě Pythonu je SQLAlchemy .

Důrazně vám doporučuji jej používat:váš život bude mnohem jednodušší.

Nedávno jsem objevil další klenot ve světě Pythonu:peewee . Je to velmi lite ORM, opravdu snadné a rychlé nastavení a následné použití. Zpříjemňuje mi to malé projekty nebo samostatné aplikace, kde je používání velkých nástrojů, jako je SQLAlchemy nebo Django, přehnané:

import peewee
from peewee import *

db = MySQLDatabase('jonhydb', user='john', passwd='megajonhy')

class Book(peewee.Model):
    author = peewee.CharField()
    title = peewee.TextField()

    class Meta:
        database = db

Book.create_table()
book = Book(author="me", title='Peewee is cool')
book.save()
for book in Book.filter(author="me"):
    print book.title

Tento příklad funguje hned po vybalení. Nic jiného než mít peewee (pip install peewee ) je vyžadováno.



  1. Vložit celý DataTable do databáze najednou místo řádek po řádku?

  2. Oracle Concurrent Manager

  3. Rozdíl mezi časovými razítky v milisekundách v Oracle

  4. dbms_metadata.get_ddl nefunguje