Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ データ型 | SQLiteについてさらに詳しく
Pythonでのデータベース操作

bookデータ型

メニューを表示するにはスワイプしてください

SQLite は、テーブルに格納できるデータの種類を定義するために、いくつかのデータ型、またはストレージクラスを提供しています。SQLite は動的型付けであり、厳密なデータ型を強制しませんが、5つの主要なアフィニティ型を認識します。

異なるデータ型を持つテーブルの作成

以下は、さまざまな SQLite データ型を使用したテーブル作成の例です:

CREATE TABLE example (
    id INTEGER PRIMARY KEY,      -- Integer (auto-increment if PRIMARY KEY)
    name TEXT NOT NULL,          -- Text field (mandatory)
    price REAL,                  -- Floating-point number
    data BLOB,                   -- Binary data
    created_at TEXT DEFAULT NULL -- Text field with NULL as default
);

SQLite では、テーブル作成時に宣言された型に関係なく、任意の型のデータを任意のカラムに格納できます(ただし、INTEGER PRIMARY KEY カラムは例外です)。また、データを正しく解釈し保存するためのアプローチを採用しており、すべてが円滑かつ効率的に動作するようになっています。

1234567891011121314151617181920212223242526272829
import sqlite3 conn = sqlite3.connect('data.db') cursor = conn.cursor() # Creating the table cursor.execute(''' CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY, name TEXT, age INTEGER ) ''') # Inserting different types of data into the `age` column cursor.execute("INSERT INTO users (name, age) VALUES ('Alice', 25)") # standard value cursor.execute("INSERT INTO users (name, age) VALUES ('Bob', 'Thirty')") # text value in `INTEGER` column cursor.execute("INSERT INTO users (name, age) VALUES ('Charlie', 30.5)") # float value in `INTEGER` column # Retrieving all records from the table cursor.execute("SELECT * FROM users") rows = cursor.fetchall() # Printing the results for row in rows: print(row) # Closing the database connection conn.close()
copy

この例は、SQLiteが同じカラムに対して異なる型のデータを挿入できることを示しています。たとえカラムがINTEGERとして宣言されていても、ageカラム(INTEGERとして宣言)には次のようなデータが挿入されています:

  • 整数(25
  • テキスト値('Thirty'
  • 浮動小数点値(30.5

SQLiteは動的型付けシステムを採用しているため、カラムに挿入できるデータ型に制限がありません。この仕組みにより、1つのカラムにさまざまなデータ型をエラーなく保存できます。

1. SQLiteで値が存在しないことを表すデータ型はどれですか?

2. SQLite で INTEGER カラムにテキスト値を挿入しようとするとどうなりますか?

question mark

SQLiteで値が存在しないことを表すデータ型はどれですか?

正しい答えを選んでください

question mark

SQLite で INTEGER カラムにテキスト値を挿入しようとするとどうなりますか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 3.  2

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 3.  2
some-alt