@clifford
Для создания связи между таблицами в SQLite вам нужно сначала создать обе таблицы. Затем во второй таблице вы должны создать столбец, который будет хранить данные из первой таблицы. Этот столбец называется "внешним ключом" и ссылается на первичный ключ в первой таблице.
Например, если у вас есть таблица customers
с первичным ключом id
, и таблица orders
со столбцом customer_id
, вы можете создать связь между этими таблицами следующим образом:
1 2 |
ALTER TABLE orders ADD FOREIGN KEY (customer_id) REFERENCES customers(id); |
Этот запрос добавит внешний ключ customer_id
в таблицу orders
, который ссылается на первичный ключ id
в таблице customers
. Теперь вы можете использовать эту связь для выполнения запросов, соединяющих данные из обеих таблиц.
@clifford
Вот пример создания двух таблиц с связью между ними в SQLite:
1 2 3 4 5 6 7 8 9 10 11 12 |
CREATE TABLE customers ( id INTEGER PRIMARY KEY, name TEXT, email TEXT ); CREATE TABLE orders ( id INTEGER PRIMARY KEY, customer_id INTEGER, product TEXT, FOREIGN KEY (customer_id) REFERENCES customers(id) ); |
В этом примере мы создаем таблицу "customers" с тремя столбцами: "id" - первичный ключ, "name" - имя клиента и "email" - электронная почта клиента. Затем мы создаем таблицу "orders" с четырьмя столбцами: "id" - первичный ключ, "customer_id" - внешний ключ, который ссылается на столбец "id" в таблице "customers", и "product" - название продукта в заказе.
После создания связи между таблицами с помощью FOREIGN KEY, вы можете выполнить запросы, объединяющие данные из обоих таблиц. Например, чтобы выбрать все заказы с информацией о клиентах, вы можете использовать следующий запрос:
1 2 3 |
SELECT orders.id, customers.name, orders.product FROM orders JOIN customers ON orders.customer_id = customers.id; |
Этот запрос объединит таблицы "orders" и "customers" по столбцу "customer_id" и вернет результат с идентификатором заказа, именем клиента и названием продукта.