生成AIで架空のポケモンを作るためのデータベースを作っています。とりあえずデータベースができたので、不要なデータを抜いていこう。
入力:
作成したデータベースから、10文字以下の行を削除したいです。必要なコードを教えてください。
出力:
データベースから10文字以下の行を削除するには、以下のようなSQLクエリを使用します。Pythonコードに組み込んで実行する方法を示します。
SQLクエリ
まず、SQLiteで10文字以下の行を削除するSQLクエリは次のようになります:
DELETE FROM pokemon WHERE LENGTH(description) <= 10;
Pythonコード
次に、このクエリをPythonコードに組み込んで実行する方法を示します。
import sqlite3
# データベースに接続
conn = sqlite3.connect('pokemon_data.db')
c = conn.cursor()
# 10文字以下の行を削除する
c.execute('DELETE FROM pokemon WHERE LENGTH(description) <= 10')
# データベースをコミットしてクローズ
conn.commit()
conn.close()
このコードを実行することで、description
カラムの文字数が10文字以下の行がデータベースから削除されます。
実行して「〇〇のすがた」みたいな行を削除できたけど、非可逆な変化させる前にバックアップ取っておくべきだったな。そしてSQLが完全に謎の呪文になっている。寄り道して理解しに行こう。ネットの海をさまよっていたら、AI SHIFT社の社内研修資料を公開しているページに行き着いたので、これを使うか。
研修資料に問題演習とかはなさそうなので、ChatGPTに問題を作ってもらおう
入力:SQLのCreate文の理解度を確認するための問題を作ってください
出力:
以下に、SQLのCREATE文の理解度を確認するための問題をいくつか作成しました。これらの問題を解くことで、CREATE文の基本的な構文やオプションについての理解度を確認できます。
問題 1: 基本的なテーブルの作成
以下の要件を満たすSQLのCREATE文を作成してください。
- テーブル名は
students
。 id
カラムは整数型で、プライマリキーであり、自動インクリメントされる。name
カラムは文字列型で、NULL値を許可しない。age
カラムは整数型で、NULL値を許可する。
多分超基本的な問題なんだろうけど、自動インクリメント、NULL値の許可といった知らない概念に出会ったり、問題を解く過程で固定長-可変長と知らない概念に出会ったり、初見のころは学べることがいっぱいだ。
次回に続く