1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[備忘録] MySQLってColabでも動くの?やってみた

Last updated at Posted at 2025-06-18

はじめに

image.png

今回は、Google Colab上でMySQLをインストールして、Pythonから操作してみるという実験的な取り組みをしてみました。はじめてMySQLを操作してみました。思ったより簡単に動かせたので、備忘録として手順をまとめます。

「とりあえず動かしてみたい」「SQLの練習をしたい」という方にも参考になるはずです。

環境

  • Google Colab
  • MySQL

インストール手順

1. MySQLサーバーのインストール

# パッケージリストの更新
!apt update

# MySQLサーバーのインストール
!apt install mysql-server -y

image.png

2. MySQLサービスの開始

# MySQLサービスを開始
!service mysql start

# サービスの状態確認
!service mysql status

image.png

3. rootユーザーのパスワード設定

# rootユーザーでMySQLにログイン(初回はパスワードなし)
!mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';"

4. MySQLクライアントのインストール(Python用)

# PyMySQLのインストール
!pip install pymysql

image.png

基本的な使用方法

image.png

データベースの作成とテーブル操作

import pymysql

# データベース接続
connection = pymysql.connect(
    host='localhost',
    user='root',
    password='password',
    charset='utf8mb4'
)

try:
    with connection.cursor() as cursor:
        # データベースの作成
        cursor.execute("CREATE DATABASE IF NOT EXISTS test_db")
        cursor.execute("USE test_db")
        
        # テーブルの作成
        cursor.execute("""
            CREATE TABLE IF NOT EXISTS users (
                id INT AUTO_INCREMENT PRIMARY KEY,
                name VARCHAR(100) NOT NULL,
                email VARCHAR(100) UNIQUE NOT NULL
            )
        """)
        
        # データの挿入
        cursor.execute("INSERT INTO users (name, email) VALUES (%s, %s)", 
                      ("田中太郎", "tanaka@example.com"))
        cursor.execute("INSERT INTO users (name, email) VALUES (%s, %s)", 
                      ("佐藤花子", "sato@example.com"))
        
        # 変更をコミット
        connection.commit()
        
        # データの取得
        cursor.execute("SELECT * FROM users")
        results = cursor.fetchall()
        
        print("登録されたユーザー:")
        for row in results:
            print(f"ID: {row[0]}, 名前: {row[1]}, メール: {row[2]}")

finally:
    connection.close()

image.png

SQLクエリの直接実行

# コマンドラインからMySQLにアクセス
!mysql -u root -p'password' -e "SHOW DATABASES;"

image.png

注意事項

  • Google Colabのランタイムがリセットされると、インストールしたMySQLも消えます
  • 本格的な開発では、永続化されたデータベースサービスの使用を推奨します
  • パスワードはより安全なものに変更してください

まとめ

Google ColabでMySQLを使用することで、手軽にデータベースの学習や簡単な開発を行うことができます。SQLの練習や小規模なデータ分析には十分な環境です。

より本格的な開発を行う場合は、Google Cloud SQLやAmazon RDSなどのマネージドデータベースサービスの利用を検討してください。

参考情報

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?