Как мне подключиться к базе данных MySQL на Python?

Как мне подключиться к базе данных MySQL с помощью программы на Python?

31 ответ

Подключение к MYSQL через Python в 3 этапа

1 - Настройка

Вы должны установить драйвер MySQL, прежде чем делать что-либо. В отличие от PHP, только драйвер SQLite по умолчанию устанавливается вместе с Python. Наиболее используемый пакет для этого - MySQLdb, но его трудно установить с помощью easy_install.

Для пользователя Windows вы можете получить исполняемый файл MySQLdb.

Для Linux это случайный пакет (python-mysqldb). (Ты можешь использовать sudo apt-get install python-mysqldb (для дистрибутивов на основе Debian), yum install MySQL-python (для оборотов в минуту), или dnf install python-mysql (для современного дистрибутива Fedora) в командной строке для загрузки.)

Для Mac вы можете установить MySQLdb, используя Macport.

2 - Использование

После установки перезагрузите компьютер. Это не обязательно, но это не даст мне ответить на 3 или 4 вопроса в этом посте, если что-то пойдет не так. Поэтому, пожалуйста, перезагрузитесь.

Тогда это похоже на использование любого другого пакета:

#!/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()

Конечно, есть тысячи возможностей и вариантов; это очень простой пример. Вам придется посмотреть на документацию. Хорошая отправная точка.

3 - Более продвинутое использование

Как только вы узнаете, как это работает, вы можете захотеть использовать ORM, чтобы избежать написания SQL вручную и манипулировать вашими таблицами, как они были объектами Python. Самым известным ORM в сообществе Python является SQLAlchemy.

Я настоятельно советую вам использовать его: ваша жизнь будет намного проще.

Недавно я обнаружил еще одну драгоценность в мире Python: peewee. Это очень легкий ORM, его очень легко и быстро настроить, а затем использовать. Это делает мой день для небольших проектов или автономных приложений, где использование больших инструментов, таких как SQLAlchemy или Django, излишне:

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

Этот пример работает из коробки. Ничего, кроме того, чтобы иметь peewee (pip install peewee) необходимо.

Вот один из способов сделать это:

#!/usr/bin/python
import MySQLdb

# Connect
db = MySQLdb.connect(host="localhost",
                     user="appuser",
                     passwd="",
                     db="onco")

cursor = db.cursor()

# Execute SQL select statement
cursor.execute("SELECT * FROM location")

# Commit your changes if writing
# In this case, we are only reading data
# db.commit()

# Get the number of rows in the resultset
numrows = cursor.rowcount

# Get and display one row at a time
for x in range(0, numrows):
    row = cursor.fetchone()
    print row[0], "-->", row[1]

# Close the connection
db.close()

Ссылка здесь

Если вам не нужен MySQLdb, но вы бы приняли любую библиотеку, я бы очень, очень рекомендовал MySQL Connector/Python от MySQL: http://dev.mysql.com/downloads/connector/python/.

Это один пакет (около 110 тыс.), Чистый Python, поэтому он не зависит от системы и очень прост в установке. Вы просто скачиваете, дважды кликаете, подтверждаете лицензионное соглашение и идете. Нет необходимости в Xcode, MacPorts, компиляции, перезапуске…

Затем вы подключаетесь как:

import mysql.connector    
cnx = mysql.connector.connect(user='scott', password='tiger',
                              host='127.0.0.1',
                              database='employees')

try:
   cursor = cnx.cursor()
   cursor.execute("""
      select 3 from your_table
   """)
   result = cursor.fetchall()
   print result
finally:
    cnx.close()

Oracle (MySQL) теперь поддерживает чистый соединитель Python. Это означает, что не нужно устанавливать двоичные файлы: это просто библиотека Python. Это называется "Connector / Python".

http://dev.mysql.com/downloads/connector/python/

Прекратите использование MySQLDb, если вы хотите избежать установки заголовков mysql просто для доступа к mysql из python.

Используйте pymysql. Он делает все то, что делает MySQLDb, но он был реализован исключительно на Python без внешних зависимостей. Это делает процесс установки во всех операционных системах единообразным и простым. pymysql капля замены для MySQLDb и IMHO нет никаких причин когда-либо использовать MySQLDb для чего-либо... КОГДА-ЛИБО! - PTSD from installing MySQLDb on Mac OSX and *Nix systems, но это только я.

Монтаж

pip install pymysql

Вот и все... вы готовы играть.

Пример использования из репозитория pymysql Github

import pymysql.cursors
import pymysql

# Connect to the database
connection = pymysql.connect(host='localhost',
                             user='user',
                             password='passwd',
                             db='db',
                             charset='utf8mb4',
                             cursorclass=pymysql.cursors.DictCursor)

try:
    with connection.cursor() as cursor:
        # Create a new record
        sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)"
        cursor.execute(sql, ('webmaster@python.org', 'very-secret'))

    # connection is not autocommit by default. So you must commit to save
    # your changes.
    connection.commit()

    with connection.cursor() as cursor:
        # Read a single record
        sql = "SELECT `id`, `password` FROM `users` WHERE `email`=%s"
        cursor.execute(sql, ('webmaster@python.org',))
        result = cursor.fetchone()
        print(result)
finally:
    connection.close()

ТАКЖЕ - Заменить MySQLdb в существующем коде быстро и прозрачно

Если у вас есть код, использующий MySQLdb, вы можете легко заменить его на pymysql, используя этот простой процесс:

# import MySQLdb << Remove this line and replace with:
import pymysql
pymysql.install_as_MySQLdb()

Все последующие ссылки на MySQLdb будут использовать pymysql прозрачно.

Попробуйте использовать MySQLdb

Здесь есть страница с инструкциями: http://www.kitebird.com/articles/pydbapi.html


Со страницы:

# server_version.py - retrieve and display database server version

import MySQLdb

conn = MySQLdb.connect (host = "localhost",
                        user = "testuser",
                        passwd = "testpass",
                        db = "test")
cursor = conn.cursor ()
cursor.execute ("SELECT VERSION()")
row = cursor.fetchone ()
print "server version:", row[0]
cursor.close ()
conn.close ()

Выполните эту команду в своем терминале, чтобы установить соединитель mysql:

pip install mysql-connector-python

И запустите это в своем редакторе Python, чтобы подключиться к MySQL:

import mysql.connector

mydb = mysql.connector.connect(
      host="localhost",
      user="yusername",
      passwd="password",
      database="database_name"
)

Примеры для выполнения команд MySQL (в вашем редакторе Python):

mycursor = mydb.cursor()
mycursor.execute("CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))")    
mycursor.execute("SHOW TABLES")

mycursor.execute("INSERT INTO customers (name, address) VALUES ('John', 'Highway 21')")    
mydb.commit() # Use this command after insert or update

Дополнительные команды: https://www.w3schools.com/python/python_mysql_getstarted.asp

Как драйвер БД, есть также наша SQL. Некоторые из причин, перечисленных в этой ссылке, объясняют, почему oursql лучше:

  • oursql имеет реальную параметризацию, отправляя SQL и данные в MySQL совершенно отдельно.
  • oursql позволяет передавать текстовые или двоичные данные в базу данных и выводить их из базы данных, вместо того чтобы требовать буферизации всего в клиенте.
  • oursql может как вставлять строки лениво, так и лениво извлекать строки.
  • Oursql по умолчанию поддерживает Unicode.
  • oursql поддерживает Python с 2.4 по 2.7 без предупреждений об устаревании в версии 2.6+ (см. PEP 218) и без ошибок в версии 2.7 (см. PEP 328).
  • oursql изначально работает на python 3.x.

Так как же подключиться к mysql с oursql?

Очень похоже на mysqldb:

import oursql

db_connection = oursql.connect(host='127.0.0.1',user='foo',passwd='foobar',db='db_name')
cur=db_connection.cursor()
cur.execute("SELECT * FROM `tbl_name`")
for row in cur.fetchall():
    print row[0]

Учебник в документации довольно приличный.

И, конечно, для ORM SQLAlchemy является хорошим выбором, как уже упоминалось в других ответах.

SQLAlchemy


SQLAlchemy - это набор инструментов Python SQL и Object Relational Mapper, который предоставляет разработчикам приложений полную мощь и гибкость SQL. SQLAlchemy предоставляет полный набор хорошо известных шаблонов персистентности корпоративного уровня, предназначенных для эффективного и высокопроизводительного доступа к базе данных, адаптированных к простому языку домена Pythonic.

Монтаж

pip install sqlalchemy

RAW запрос

from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker, scoped_session

engine = create_engine("mysql://<user_name>:<password>@<host_name>/<db_name>")
session_obj = sessionmaker(bind=engine)
session = scoped_session(session_obj)

# insert into database
session.execute("insert into person values(2, 'random_name')")
session.flush()
session.commit()

ORM способ

from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker, scoped_session

Base = declarative_base()
engine = create_engine("mysql://<user_name>:<password>@<host_name>/<db_name>")
session_obj = sessionmaker(bind=engine)
session = scoped_session(session_obj)

# Bind the engine to the metadata of the Base class so that the
# declaratives can be accessed through a DBSession instance
Base.metadata.bind = engine

class Person(Base):
    __tablename__ = 'person'
    # Here we define columns for the table person
    # Notice that each column is also a normal Python instance attribute.
    id = Column(Integer, primary_key=True)
    name = Column(String(250), nullable=False)

# insert into database
person_obj = Person(id=12, name="name")
session.add(person_obj)
session.flush()
session.commit()

Лучший способ подключиться к MySQL из python - это использовать MySQL Connector/Python, потому что это официальный драйвер Oracle для MySQL для работы с Python и он работает как с Python 3, так и с Python 2.

выполните шаги, указанные ниже, чтобы подключить MySQL

  1. установить разъем с помощью пипса

    pip install mysql-connector-python

или вы можете скачать установщик с https://dev.mysql.com/downloads/connector/python/

  1. использование connect() метод подключения Python MySQL для подключения к MySQL.pass требуемый аргумент connect() метод. т.е. хост, имя пользователя, пароль и имя базы данных.

  2. Создайте cursor объект из объекта подключения, возвращаемый connect()метод для выполнения SQL-запросов.

  3. закройте соединение после завершения вашей работы.

Пример:

import mysql.connector
 from mysql.connector import Error
 try:
     conn = mysql.connector.connect(host='hostname',
                         database='db',
                         user='root',
                         password='passcode')
     if conn.is_connected():
       cursor = conn.cursor()
       cursor.execute("select database();")
       record = cursor.fetchall()
       print ("Your connected to - ", record)
 except Error as e :
    print ("Print your error msg", e)
 finally:
    #closing database connection.
    if(conn.is_connected()):
       cursor.close()
       conn.close()

Ссылка - https://pynative.com/python-mysql-database-connection/

Важный API MySQL Connector Python

  • Для операций DML - Используйте cursor.execute() а также cursor.executemany() выполнить запрос. и после этого использования connection.commit() сохранить ваши изменения в БД

  • Чтобы получить данные - используйте cursor.execute() выполнить запрос и cursor.fetchall(), cursor.fetchone(), cursor.fetchmany(SIZE) получить данные

Несмотря на все приведенные выше ответы, в случае, если вы не хотите подключаться к конкретной базе данных заранее, например, если вы хотите создать базу данных еще (!), Вы можете использовать connection.select_db(database), как показано в следующем.

import pymysql.cursors
connection = pymysql.connect(host='localhost',
                         user='mahdi',
                         password='mahdi',
                         charset='utf8mb4',
                         cursorclass=pymysql.cursors.DictCursor)
cursor = connection.cursor()
cursor.execute("CREATE DATABASE IF NOT EXISTS "+database)
connection.select_db(database)
sql_create = "CREATE TABLE IF NOT EXISTS "+tablename+(timestamp DATETIME NOT NULL PRIMARY KEY)"
cursor.execute(sql_create)
connection.commit()
cursor.close()

Даже если некоторые из вас могут отметить это как дубликат и расстроиться, что я копирую чей-то ответ, я ДЕЙСТВИТЕЛЬНО хотел бы выделить один из аспектов ответа г-на Напика. Из-за того, что я пропустил это, я вызвал простои сайта по всей стране (9 минут). Если бы только кто-то поделился этой информацией, я бы это предотвратил!

Вот его код:

import mysql.connector    
cnx = mysql.connector.connect(user='scott', password='tiger',
                              host='127.0.0.1',
                              database='employees')
try:
   cursor = cnx.cursor()
   cursor.execute("""select 3 from your_table""")
   result = cursor.fetchall()
   print(result)
finally:
    cnx.close()

Здесь важен пункт " Попробуй и наконец". Это позволяет ВСЕГДА закрывать соединения, независимо от того, что происходит в части кода с курсором /sqlstatement. Большое количество активных соединений вызывает скачок DBLoadNoCPU и может привести к сбою сервера db.

Надеюсь, это предупреждение поможет сохранить серверы и, в конечном итоге, рабочие места!:D

MySQLdb - это простой способ. Вы можете выполнять SQL-запросы через соединение. Период.

Мой предпочтительный способ, который также является pythonic, состоит в том, чтобы использовать могущественную SQLAlchemy вместо этого. Это учебное пособие, связанное с запросами, и учебное пособие по возможностям ORM в SQLALchemy.

Для Python3.6 я нашел два драйвера: pymysql и mysqlclient. Я проверил производительность между ними и получил результат: mysqlclient работает быстрее.

ниже мой тестовый процесс (нужно установить python lib profilehooks для анализа прошедшего времени:

сырой sql: select * from FOO;

немедленно выполнить в терминале MySQL:46410 rows in set (0.10 sec)

Pymysql (2,4 с):

from profilehooks import profile
import pymysql.cursors
import pymysql
connection = pymysql.connect(host='localhost', user='root', db='foo')
c = connection.cursor()

@profile(immediate=True)
def read_by_pymysql():
    c.execute("select * from FOO;")
    res = c.fetchall()

read_by_pymysql()

вот профиль pymysql:


mysqlclient (0.4с)

from profilehooks import profile
import MySQLdb

connection = MySQLdb.connect(host='localhost', user='root', db='foo')
c = connection.cursor()

@profile(immediate=True)
def read_by_mysqlclient():
    c.execute("select * from FOO;")
    res = c.fetchall()

read_by_mysqlclient()

вот профиль mysqlclient:

Итак, похоже, что mysqlclient намного быстрее, чем pymysql

Просто модификация в ответе выше. Просто запустите эту команду, чтобы установить MySQL для Python

sudo yum install MySQL-python
sudo apt-get install MySQL-python

Помните! Это чувствительно к регистру.

mysqlclient является лучшим, поскольку другие обеспечивают поддержку только определенных версий Python

 pip install mysqlclient

пример кода

    import mysql.connector
    import _mysql
    db=_mysql.connect("127.0.0.1","root","umer","sys")
    #db=_mysql.connect(host,user,password,db)
    # Example of how to insert new values:
    db.query("""INSERT INTO table1 VALUES ('01', 'myname')""")
    db.store_result()
    db.query("SELECT * FROM new1.table1 ;") 
    #new1 is scheme table1 is table mysql 
    res= db.store_result()
    for i in range(res.num_rows()):
        print(result.fetch_row())

см. https://github.com/PyMySQL/mysqlclient-python

Также взгляните на Шторм. Это простой инструмент отображения SQL, который позволяет легко редактировать и создавать записи SQL без написания запросов.

Вот простой пример:

from storm.locals import *

# User will be the mapped object; you have to create the table before mapping it
class User(object):
        __storm_table__ = "user" # table name
        ID = Int(primary=True) #field ID
        name= Unicode() # field name

database = create_database("mysql://root:password@localhost:3306/databaseName")
store = Store(database)

user = User()
user.name = u"Mark"

print str(user.ID) # None

store.add(user)  
store.flush() # ID is AUTO_INCREMENT

print str(user.ID) # 1 (ID)

store.commit() # commit all changes to the database

Чтобы найти и использовать объект:

michael = store.find(User, User.name == u"Michael").one()
print str(user.ID) # 10

Найти с первичным ключом:

print store.get(User, 1).name #Mark

Для получения дополнительной информации см. Учебник.

PyMySQL 0.10.1 - Выпущено: 10 сентября 2020 г., также поддерживает python3.

python3 -m pip install PyMySQL

Простой код:

import pymysql

# Connect to the database
conn = pymysql.connect(host='127.0.0.1',user='root',passwd='root',db='fax')

# Create a Cursor object
cur = conn.cursor()

# Execute the query
cur.execute("SELECT * FROM fax.student")

# Read and print records
for row in cur.fetchall():
    print(row)

вывод:

(1, 'Petar', 'Petrovic', 1813, 'Njegusi')
(2, 'Donald', 'Tramp', 1946, 'New York')
(3, 'Bill', 'Gates', 1955, 'Seattle')

Это Mysql соединение с БД

from flask import Flask, render_template, request
from flask_mysqldb import MySQL

app = Flask(__name__)


app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_PASSWORD'] = 'root'
app.config['MYSQL_DB'] = 'MyDB'

mysql = MySQL(app)


@app.route('/', methods=['GET', 'POST']) 
def index():
    if request.method == "POST":
        details = request.form
        cur = mysql.connection.cursor()
        cur.execute ("_Your query_")
        mysql.connection.commit()
        cur.close()
        return 'success'
    return render_template('index.html')


if __name__ == '__main__':
    app.run()

Вы можете подключить свой код Python к MySQL таким образом.

import MySQLdb
db = MySQLdb.connect(host="localhost",
                 user="appuser",
                 passwd="",
                 db="onco")

cursor = db.cursor()

Сначала установите драйвер

pip install MySQL-python   

Тогда основной код выглядит так:

#!/usr/bin/python
import MySQLdb

try:
    db = MySQLdb.connect(host="localhost",      # db server, can be a remote one 
                     db="mydb"                  # database
                     user="mydb",               # username
                     passwd="mydb123",          # password for this username
                     )        

    # Create a Cursor object
    cur = db.cursor()

    # Create a query string. It can contain variables
    query_string = "SELECT * FROM MY_TABLE"

    # Execute the query
    cur.execute(query_string)

    # Get all the rows present the database
    for each_row in cur.fetchall():
        print each_row

    # Close the connection
    db.close()
except Exception, e:
    print 'Error ', e 

Первый шаг к получению библиотеки: откройте терминал и выполните pip install mysql-python-connector. После установки перейдите ко второму шагу.

Второй шаг для импорта библиотеки: откройте файл python и напишите следующий код:import mysql.connector

Третий шаг для подключения к серверу: напишите следующий код:

conn = mysql.connector.connect(host=you host name like localhost or 127.0.0.1, имя пользователя =your username like root, пароль = your password)

Третий шаг. Создание курсора. Создание курсора упрощает выполнение запросов. Чтобы заставить курсор использовать следующий код:cursor = conn.cursor()

Выполнение запросов: Для выполнения запросов вы можете делать следующее:cursor.execute(query)

Если запрос изменяет что-либо в таблице, вам необходимо добавить следующий код после выполнения запроса:conn.commit()

Получение значений из запроса: если вы хотите получить значения из запроса, вы можете сделать следующее:cursor.excecute('SELECT * FROM table_name') for i in cursor: print(i) #Or for i in cursor.fetchall(): print(i)

Метод fetchall() возвращает список с множеством кортежей, содержащих запрошенные вами значения, строка за строкой.

Закрытие соединения: чтобы закрыть соединение, вы должны использовать следующий код:conn.close()

Обработка исключения: для исключения Генделя вы можете сделать это следующим способом:try: #Logic pass except mysql.connector.errors.Error: #Logic passЧтобы использовать базу данных: например, вы являетесь системой создания учетных записей, в которой вы храните данные в базе данных с именем blabla, вы можете просто добавить параметр базы данных в метод connect(), например

mysql.connector.connect(database = имя базы данных)

не удаляйте другую информацию, такую ​​как хост, имя пользователя, пароль.

Python не поставляется со встроенной библиотекой для взаимодействия с MySQL, поэтому для установления соединения между базой данных MySQL и Python нам необходимо установить драйвер или модуль MySQL для нашей среды Python.

      pip install mysql-connector-python

mysql-connecter-python — это библиотека Python с открытым исходным кодом, которая может подключить ваш код Python к базе данных MySQL в несколько строк кода. И он очень совместим с последней версией Python.

После установки mysql-connector-python вы можете подключиться к базе данных MySQL, используя следующий фрагмент кода.

      import mysql.connector

Hostname = "localhost"
Username = "root"
Password ="admin"   #enter your MySQL password
 
#set connection
set_db_conn = mysql.connector.connect(host= Hostname, user=Username, password=Password)

if set_db_conn:
    print("The Connection between has been set and the Connection ID is:")
    #show connection id
    print(set_db_conn.connection_id)

Соедините Джанго с MySQL

В Django для подключения вашей модели или проекта к базе данных MySQL вам необходимо установить библиотеку mysqlclient.

      pip install mysqlclient

И чтобы настроить параметр Django, чтобы ваш проект мог подключаться к базе данных MySQL, вы можете использовать следующий параметр.

      DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'database_name',
            'USER': 'username',
            'PASSWORD': 'databasepassword@123',
            'HOST': 'localhost',   # Or an IP Address that your DB is hosted on
            'PORT': '3306',
            }

Я написал в своем блоге специальный учебник по Python, в котором рассказывается, как вы можете подключиться к базе данных MySQL и создавать таблицы с помощью Python. Чтобы узнать больше об этом, нажмите здесь .

Чтобы написать приложения базы данных на Python, нужно выполнить пять шагов:

Импортируйте интерфейс SQL с помощью следующей команды:

>>> import MySQLdb

Установите соединение с базой данных с помощью следующей команды:

conn = MySQLdb.connect (host = 'localhost', user = 'root', passwd = '')… где host - это имя вашего хост-компьютера, за которым следуют имя пользователя и пароль. В случае рута нет необходимости указывать пароль.

Создайте курсор для соединения с помощью следующей команды:

>>>cursor = conn.cursor()

Выполните любой SQL-запрос, используя этот курсор, как показано ниже - здесь выходные данные в терминах показывают количество строк, затронутых этим запросом:

cursor.execute ('Создать базу данных библиотеки') // Указывает, сколько строк затронуто

>>> cursor.execute('use Library')

>>>table='create table books(book_accno char(30) primary key, book_name
char(50),no_of_copies int(5),price int(5))'
>>> cursor.execute(table)

Наконец, получите набор результатов и выполните итерацию по этому набору результатов. На этом этапе пользователь может получить наборы результатов, как показано ниже:

>>> cursor.execute('select * from books')
>>> cursor.fetchall()

(("Py9098", "Программирование с Python", 100L, 50L), ("Py9099", "Программирование с Python", 100L, 50L))

Для питона 3.3

CyMySQL https://github.com/nakagami/CyMySQL

У меня на Windows 7 установлен pip, просто установите pip cymysql

(вам не нужен Cython) быстро и безболезненно

Очень хороший коннектор для MySQL и MariaDB - это mysql-connector-python. Он написан на Python, поэтому вы можете изменять его в любое время.

Вы можете установить его, выполнив следующие команды:

      pip3 uninstall mysql-connector
pip3 install mysql-connector-python

Затем вы можете использовать его со следующим кодом:

      import mysql.connector

database = mysql.connector.connect(
    host='localhost',
    user='db_username,
    password='passwd',
    database='db_name',
    autocommit=True
)
cursor = database.cursor()

cursor.execute('SELECT * FROM users')

Вы можете передать параметр autocommit и установить для него значение True. Таким образом, вам не нужно будет звонить database.commit()каждый раз, когда вы обновляете базу данных. Также вы можете предотвратить некоторые ошибки, о которых я упомянул в другом вопросе .

внешняя ссылка

  1. Соединитель Python MySQL
  2. SQL (язык структурированных запросов)

Сначала установите драйвер (Ubuntu)

  • sudo apt-get установить python-pip

  • sudo pip install -U pip

  • sudo apt-get установить python-dev libmysqlclient-dev

  • sudo apt-get установить MySQL-python

Коды подключения к базе данных MySQL

import MySQLdb
conn = MySQLdb.connect (host = "localhost",user = "root",passwd = "pass",db = "dbname")
cursor = conn.cursor ()
cursor.execute ("SELECT VERSION()")
row = cursor.fetchone ()
print "server version:", row[0]
cursor.close ()
conn.close ()

Другой вариант, если вы просто хотите отобразить некоторые данные из базы данных, - использовать ядро Jupyter , оно разработано для MariaDB, но должно легко работать и с MySQL.

      try:
    conn = mysql.connect(host='hostAddress', database='database',
                         user='user', password='password')
except Error as e:
    print("Error while connecting to MySQL", e)

вы можете использовать клиенты MySQL в Python, например PyMySQL.

Другие вопросы по тегам