Member 14891535 Ответов: 1

Запуск SQL, не могу попасть в


Я хочу хранить полученные данные в базе данных по моему выбору на моем ноутбуке с помощью Python?

Есть ли какие-либо настройки и связи?


Я так и сделал:

pip install mysql.connector


следующий: Python MySQL - CodersLegacy[^]

После того как я попробовал:
import mysql.connector
 
check = mysql.connector.connect(
    host= 'localhost',
    user = 'root',
    password = '12345678')
 
print(check)



Это дает мне ошибку:

---------------------------------------------------------------------------
InterfaceError                            Traceback (most recent call last)
<ipython-input-4-e72118a94c51> in <module>()
      3 check = mysql.connector.connect(
      4     host= 'localhost',
----> 5     user = 'root')
      6 
      7 

C:\Users\id\AppData\Local\Continuum\anaconda2\lib\site-packages\mysql\connector\__init__.pyc in connect(*args, **kwargs)
    177         return CMySQLConnection(*args, **kwargs)
    178     else:
--> 179         return MySQLConnection(*args, **kwargs)
    180 Connect = connect  # pylint: disable=C0103
    181 

C:\Users\id\AppData\Local\Continuum\anaconda2\lib\site-packages\mysql\connector\connection.pyc in __init__(self, *args, **kwargs)
     93 
     94         if len(kwargs) > 0:
---> 95             self.connect(**kwargs)
     96 
     97     def _do_handshake(self):

C:\Users\id\AppData\Local\Continuum\anaconda2\lib\site-packages\mysql\connector\abstracts.pyc in connect(self, **kwargs)
    714 
    715         self.disconnect()
--> 716         self._open_connection()
    717         self._post_connection()
    718 

C:\Users\id\AppData\Local\Continuum\


Что я уже пробовал:

import mysql.connector
 
check = mysql.connector.connect(
    host= 'localhost',
    user = 'root',
    password = '12345678')
 
print(check)

Richard MacCutchan

Правильно ли настроена база данных MySQL?

Member 14891535

Я только что нашел это. https://docs.oracle.com/javacomponents/advanced-management-console-2/install-guide/mysql-database-installation-and-configuration-advanced-management-console.htm#JSAMI-GUID-00D8401C-C5EF-4F7C-B211-8B268BA0DB91

До этого, могу ли я узнать, могу ли я настроить базу данных MySQL в своем личном ноутбуке?

Richard MacCutchan

Да, вы должны установить MySQL, прежде чем сможете его использовать.

CodingKnight

Да, извини за это. Я забыл упомянуть об этом в вашем предыдущем вопросе. Сначала вам нужно настроить MySQL. Существует несколько способов получения базы данных, но я думаю, что прямая установка mysql является самым простым способом.

1 Ответов

Рейтинг:
2

Richard MacCutchan

Гораздо более простым способом сделать это было бы использовать sqlite3 который полностью встроен в Python: интерфейс sqlite3 — DB-API 2.0 для баз данных SQLite — документация по Python 3.7.8[^].


Member 14891535

Спасибо. Я посмотрел на предоставленную документацию, я предполагаю, что это не связано с MySQL


импорт sqlite3
Конн = и sqlite3.подключения (например.дБ')

с = соед.курсор()

# Создание таблицы
c.execute("'создать таблицу запасов
(текст даты, транс-текст, текст Символа, реальное кол-во, реальная цена)"')

# Вставить строку данных
гр.выполнить("вставить в значения запасов ('2006-01-05','купи','действительно',100,35.14)")

# Сохранить (зафиксировать) изменения
соед.совершать()

# Мы также можем закрыть соединение, если мы закончили с ним.
# Просто убедитесь, что все изменения были зафиксированы, иначе они будут потеряны.
соед.рядом()

У него есть ошибка:






---------------------------------------------------------------------------
ProgrammingError обратная трассировка (самый недавний призыв последнего)
&ЛТ;оболочкой IPython-входное напряжение-12-350b4286edc5> В &ЛТ;модуль&ГТ;()
----> 1 c = conn.курсор()
2
3 # создать таблицу
4 c.execute("'создать таблицу запасов
5 (текст даты, транс-текст, текст Символа, реальное кол-во, реальная цена)"')

ProgrammingError: не может работать с закрытой базой данных.

Richard MacCutchan

Я понятия не имею, что вы делаете, но я просто скопировал этот точный код в свою систему, и он работал нормально.

Member 14891535

Могу ли я узнать, используете ли вы ipython notebook для запуска своего кода?

Это тот самый код, который я вставил выше?

Richard MacCutchan

Да, это именно тот код, который вы разместили. В сообщении об ошибке ясно говорится, что база данных не открыта, поэтому либо открытие каким-то образом не удалось, либо есть conn.close (), который не отображается.

Member 14891535

Спасибо. У вас есть какие-нибудь идеи, как проверить, работает ли мое соединение? Я предполагаю, что это не связано с MySQL

Richard MacCutchan

1. Запустите этот код еще раз и убедитесь, что вы ввели его точно так, как показано на рисунке. Я не использую ipython, но ввод этих строк в IDLE (Python IDE) работает правильно.

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