Типи Даних
SQLite надає кілька типів даних, або класів зберігання, для визначення виду даних, які можуть зберігатися в таблиці. Хоча SQLite є динамічно типізованою і не застосовує суворі типи даних, вона розпізнає п’ять основних типів афінності.
Створення таблиці з різними типами даних
Ось приклад створення таблиці, яка використовує різні типи даних 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
). Також використовується підхід, який допомагає коректно інтерпретувати та зберігати дані, забезпечуючи стабільну та ефективну роботу.
1234567891011121314151617181920212223242526272829import 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()
Цей приклад демонструє, як SQLite дозволяє вставляти різні типи даних у той самий стовпець, навіть якщо стовпець оголошено як INTEGER
. Наприклад, у стовпець age
(оголошений як INTEGER
) вставляються такі дані:
- Ціле число (
25
); - Текстове значення (
'Thirty'
); - Дробове число (
30.5
).
SQLite не обмежує типи даних, які можна вставити у стовпець, завдяки системі динамічної типізації. Такий підхід дозволяє зберігати різні типи даних в одному стовпці без помилок.
1. Який тип даних у SQLite використовується для позначення відсутності значення?
2. Що станеться, якщо спробувати вставити текстове значення у стовпець типу INTEGER у SQLite?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 4.76
Типи Даних
Свайпніть щоб показати меню
SQLite надає кілька типів даних, або класів зберігання, для визначення виду даних, які можуть зберігатися в таблиці. Хоча SQLite є динамічно типізованою і не застосовує суворі типи даних, вона розпізнає п’ять основних типів афінності.
Створення таблиці з різними типами даних
Ось приклад створення таблиці, яка використовує різні типи даних 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
). Також використовується підхід, який допомагає коректно інтерпретувати та зберігати дані, забезпечуючи стабільну та ефективну роботу.
1234567891011121314151617181920212223242526272829import 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()
Цей приклад демонструє, як SQLite дозволяє вставляти різні типи даних у той самий стовпець, навіть якщо стовпець оголошено як INTEGER
. Наприклад, у стовпець age
(оголошений як INTEGER
) вставляються такі дані:
- Ціле число (
25
); - Текстове значення (
'Thirty'
); - Дробове число (
30.5
).
SQLite не обмежує типи даних, які можна вставити у стовпець, завдяки системі динамічної типізації. Такий підхід дозволяє зберігати різні типи даних в одному стовпці без помилок.
1. Який тип даних у SQLite використовується для позначення відсутності значення?
2. Що станеться, якщо спробувати вставити текстове значення у стовпець типу INTEGER у SQLite?
Дякуємо за ваш відгук!