こんにちはbudouです!
今回は業務使用も多いと思われるGoogleドライブを使ったデータベースの共有方法を紹介したいと思います。
[ここにGドライブの中に~~.dbファイルがあるキャプション。これがGドライブの中のデータベースと吹き出しを付ける]
はじめに
・スクレイピングしているデータを日々継ぎ足ししながら保存しておきたい
・ER図を描きたいけど、社内のセキュリティの関係で簡単にDBをインストールすることが出来ない
こんな時にはデータベース管理が便利です。
データのチーム共有の方法は以下の方法が一般的かと思います。
- csv(などテキストファイル)にして共有
もともと持っているシステムにテーブルを作って共有
などあるかと思いますが、今回はGドライブ上にSQLiteでデータベースを作って共有 する方法を紹介しようと思います。
<目次>
Google Colaboratoryを開く
今回はやってみると手軽に出来たのでローカルPythonではなく、Google Colaboratoryを使ってのDB構築を試みます。 ※ローカルPythonからDドライブへのアクセスももちろん出来ますが、目的に対してはGoogle Colaboratoryを使った方が早いと思いました
開き方は↓
①Gドライブを開く
②その他からGoogle Colaboratoryを選択
Google ColaboratoryでGドライブをマウントする
Gドライブをマウントします。
マウントの方法は、
①ドライブをマウントを選択
②GOOGLE ドライブに接続を選択
または、下記のコードを貼り付けて実行しても出来ます。
from google.colab import drive drive.mount('/content/drive')
↓その際、認証のためのURLが発行されるので、それに従い認証を行います。
SQLiteを使ってデータベースを作ろう!
これで準備は出来ましたので、DBをGドライブに作っていきましょう。
必要ライブラリのインポート
import sqlite3 from contextlib import closing import pandas as pd
テーブル作成
「氏名」と「年齢」の絡むでテーブルを作ってみます。
create_table = '''create table sample_table (氏名 text, 年齢 integer);''' dbname = "/content/drive/MyDrive/Colab Notebooks/sample_table.db" with closing(sqlite3.connect(dbname)) as conn: c = conn.cursor() c.execute(create_table)
※ハイフン(-)は許されていないようです。 ハイフンを入れると ↓ [OperationalError: near "-": syntax error] のようなエラーが出て失敗します。
SQLiteを使ってデータを入れよう!
データ挿入の基本構文はこちらです。
with closing(sqlite3.connect(dbname)) as conn: conn.execute("insert into sample_table values(?, ?)", ['高橋花子',20]) conn.commit()
SQLiteを使ってデータを抽出しよう!
pandasのDataFrameを使うことが多いのでpd.read_sqlで読みにいきます。
with sqlite3.connect(dbname) as conn: df = pd.read_sql('select * from sample_table', con=conn)
おわりに
今回は業務使用も多いと思われるGドライブにDBを簡単に立てる方法のご紹介でした。 私も手軽にDB使いたいときに利用させてもらってます。
以上、よろしくお願いします。