MySQL в Google Colab: Бесшовная интеграция
Путешествуете по бескрайним морям баз данных? Якорь на MySQL – это всегда хороший выбор. И знаете что? В паре с Google Colab он обеспечивает плавность хода. Давайте погрузимся!
1.Подготовка среды
Прежде чем отправиться в плавание, необходимо подготовить наш корабль (Google Colab). Начнем с установки необходимых пакетов:
!pip install mysql-connector-python
Эта команда устанавливает пакет mysql-connector-python, драйвер для соединения Python с базами данных MySQL.
2. Настройка MySQL в Google Colab
Хотя в Google Colab не предустановлен MySQL, мы можем настроить его с помощью нескольких команд:
!apt-get -y install mysql-server
При этом устанавливается сервер MySQL в нашей среде Colab.
3. Запуск сервера MySQL
Установив MySQL, запустим сервер:
!service mysql start
Должно появиться сообщение о том, что MySQL запущен.
4. Защита установки MySQL (необязательно)
Запуск безопасной установки MySQL обычно является хорошей практикой, но он предполагает интерактивные подсказки. В Colab мы будем выполнять необходимые команды напрямую:
!mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY 'root';FLUSH PRIVILEGES;"
Здесь мы задаем пароль root как ‘root’. Убедитесь, что в реальных ситуациях вы используете более надежные пароли!
5. Подключиться к MySQL
Давайте создадим соединение с нашим сервером MySQL с помощью Python:
import mysql.connector
# Create a connection to the MySQL server
conn = mysql.connector.connect(user='root', password='root', host='localhost')
# Create a cursor to interact with the MySQL server
cursor = conn.cursor()
6. Создание и проектирование базы данных
В рамках данного руководства создадим базу данных с именем library и спроектируем в ней таблицу – книги:
# Create a new database named 'library'
cursor.execute("CREATE DATABASE IF NOT EXISTS library")
# Switch to the 'library' database
cursor.execute("USE library")
# Create the 'books' table
cursor.execute('''
CREATE TABLE IF NOT EXISTS books (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
author VARCHAR(255) NOT NULL,
year_published INT
)
''')
# Always remember to close the cursor and connection when done
cursor.close()
conn.close()
7. Наполнение базы данных
Теперь наша база готова, давайте разместим на нем книги:
import mysql.connector
# Connect to the MySQL server and the 'library' database
conn = mysql.connector.connect(user='root', password='root', host='localhost', database='library')
cursor = conn.cursor()
books_data = [
("To Kill a Mockingbird", "Harper Lee", 1960),
("1984", "George Orwell", 1949),
("The Great Gatsby", "F. Scott Fitzgerald", 1925)
]
# Insert data using the cursor
cursor.executemany('''
INSERT INTO books (title, author, year_published) VALUES (%s, %s, %s)
''', books_data)
# Commit the changes
conn.commit()
# Close the cursor and connection
cursor.close()
conn.close()
8. Fetchall в SQL
А теперь давайте достанем наши сокровища:
Fetch All Books:
import mysql.connector
# Connect to the MySQL server and the 'library' database
conn = mysql.connector.connect(user='root', password='root', host='localhost', database='library')
cursor = conn.cursor()
# Execute the SELECT query
cursor.execute("SELECT * FROM books")
# Fetch all the results
records = cursor.fetchall()
# Print the records
for record in records:
print(record)
# Close the cursor and connection
cursor.close()
conn.close()
Охота за классикой (книги, изданные до 1950 года):
import mysql.connector
# Connect to the MySQL server and the 'library' database
conn = mysql.connector.connect(user='root', password='root', host='localhost', database='library')
cursor = conn.cursor()
cursor.execute("SELECT * FROM books WHERE year_published < 1950")
classics = cursor.fetchall()
9. Закрытие соединения
После плавания всегда помните о безопасности:
cursor.close()
conn.close()
Заключение
Синхронизация MySQL с Google Colab может показаться сложным путешествием, но с правильной картой (этим руководством!) это просто легкая прогулка. Независимо от того, начинающий ли вы моряк или опытный капитан, эта система предоставляет вам возможность исследовать базы данных. Отправляйтесь в плавание, исследуйте, и пусть ваши поиски данных всегда будут плодотворными!