Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsSpDbTb 212 of 288 menu
◀ ▶

Создание таблицы в Rust

Таблицу описывают одним запросом: имя таблицы и список столбцов с типами. Пока таблицы нет, вставка в нее завершится сбоем, поэтому схему готовят заранее.

Создадим таблицу user с ключом и текстовым именем:

use rusqlite::Connection; fn setup() -> Result<(), rusqlite::Error> { let conn = Connection::open("app.db")?; conn.execute( "CREATE TABLE IF NOT EXISTS user ( id INTEGER PRIMARY KEY, name TEXT NOT NULL )", [], )?; Ok(()) } fn main() { match setup() { Ok(()) => println!("table"), Err(e) => println!("{}", e), } }

На экране table. Повторный запуск не ломает файл: условие IF NOT EXISTS пропускает создание, если таблица уже есть.

Тот же запрос можно отправить после открытия соединения внутри одной функции без отдельного имени шага:

use rusqlite::Connection; fn main() { match Connection::open("app.db") { Ok(conn) => { match conn.execute( "CREATE TABLE IF NOT EXISTS user ( id INTEGER PRIMARY KEY, name TEXT NOT NULL )", [], ) { Ok(_) => println!("done"), Err(e) => println!("{}", e), } } Err(e) => println!("{}", e), } }

Дана таблица:

CREATE TABLE note ( id INTEGER PRIMARY KEY, body TEXT NOT NULL );

Откройте app.db и создайте эту таблицу с проверкой существования. При успехе выведите note.

Скажите, зачем в запросе создания указывают PRIMARY KEY у столбца id.

Скажите, что произойдет при повторном создании той же таблицы с условием IF NOT EXISTS.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить