はじめに
前回はテーブルの作成をおこないました。データベースシリーズの2回目はレコードの作成方法を扱うことにします。今回もPythonから離れてSQLで直接レコードを作成する方法を見ていきましょう。前回テーブルを作成したディレクトリでSQLite3を立ち上げましょう。
▶ データベースの作成、テーブルの作成については以下の投稿をご覧ください。
レコードの作成
書式
まず書式を確認しておきましょう。次のようになります。
INSERT INTOに続いてテーブル名を指定します。次にカラム名、値を指定します。カラム名を省略することもできますが、いくつか注意事項があります。これは、実際にレコードを作成しながら見ていくことにしましょう。
レコードの作成
テーブルを作成したディレクトリでSQLite3を起動してください。前回作ったテーブルの名k身を一応確認しておきましょう。
「ID」「Name」「Zoo」「Age」というカラムがあります。「ID」は主キー、「Name」はテキスト型で必須入力、「Zoo」はテキスト型でdefaultでは「Unknown」、Ageは整数型で必ず0より大きいという制約があります。
では、さっそくレコードを作成していきましょう。
カラム名を明示する場合
まずは書式に従って、レコードを作ってみましょう。らくださんのレコードを作ることにしましょう。
ID:1, Name:「らくだ」,Zoo:旭山動物円,Age:32としましょう。
何も返ってきません。エラーが起きていなければ、問題なく処理できています。心配な場合はSELECT文を使って実際にレコードが登録されているかを確認してみましょう。
▶ レコードの確認については次の投稿を参考にしてください。
次に一部のカラム名のみ指定する場合も見ておきましょう。「Zoo」というカラムにはdefaultの値「UnKnown」が設定されていたので、これ以外のカラムを指定してみましょう。
こちらもエラーが返ってきていないのでうまく登録できています。念のため確認しておきましょう。
ちゃんと登録できてますね。最後に登録した「いるか」さんは「Zoo」を指定しないためdefautの値である「UnKnown」がセットされています。
カラム名を省略する場合
カラム名を省略してレコード登録することもできます。ただし、この書き方の場合は、対象のテーブルの列の定義の順番にあわせて値を指定しなければならないので注意が必要です。
この点に注意すれば難しいことはありませんね。ただ、毎回カラム名を指定した方が間違いを避けることができるかと思います。
まとめ
今回は作成したテーブルにレコードを追加する方法を学びました。今回もPythonを離れてSQLite3での操作を学びました。でも、難しいことはありませんね。しっかり復習しておきましょう。
コメント