SQLite
 sql >> база данни >  >> RDS >> SQLite

Създайте таблица в SQLite

За да създадете таблица в SQLite, използвайте CREATE TABLE изявление.

Този израз приема името на таблицата, имената на колоните и техните дефиниции, както и някои други опции.

Пример

Ето един основен пример.

CREATE TABLE Products(
  ProductId INTEGER PRIMARY KEY AUTOINCREMENT, 
  ProductName TEXT NOT NULL,
  Price NUMERIC
);

Така че в този случай Products е името на таблицата и съдържа три колони; ProductId , ProductName и Price .

В този пример добавих типа данни на всяка колона, както и някои ограничения, но всички те са по избор.

Посочете схемата

Името на таблицата може (по избор) да бъде с префикс от името на схемата. Когато правите това, името на схемата трябва да бъде или main , temp или името на прикачена база данни.

Така че бих могъл да направя това вместо това:

CREATE TABLE Store.Products(
  ProductId, 
  ProductName,
  Price
);

В този случай Store е името на прикачената база данни, в която искам да създам таблицата.

Името на колоната може да бъде последвано от типа данни и всякакви ограничения.

Типът на данни е по избор

Да, правилно сте прочели – типът данни всъщност не е задължителен.

SQLite използва динамично въвеждане и така типът данни на стойност се свързва със самата стойност, а не с нейния контейнер (колона). Това е в контраст с повечето други SQL системи за бази данни, където трябва да посочите типа данни, когато създавате колоната.

Така че бих могъл да направя това вместо това:

CREATE TABLE Products(
  ProductId, 
  ProductName,
  Price
);

Ограничения и други опции

Имате възможност да зададете всякакви ограничения или други опции, които искате да бъдат приложени към всяка колона. Те включват следното:

  • DEFAULT клауза. Това определя стойност по подразбиране или израз за всяка колона в таблицата.
  • COLLATE клауза, за да посочите името на последователност за сортиране, която да се използва като последователност за съпоставяне по подразбиране за колоната. Стойността по подразбиране е BINARY.
  • PRIMARY KEY клауза. Можете по избор да посочите колоната да е първичен ключ. В SQLite се поддържат както единични колони, така и съставни (множество колони) първични ключове.
  • SQLite също поддържа ограничения UNIQUE, NOT NULL, CHECK и FOREIGN KEY.
  • Ограничение за генерирана колона (наричано още изчислена колона). Това са колони, чиито стойности са функция на други колони в същия ред.
  • Дали таблицата е WITHOUT ROWID маса. Това е техника за оптимизиране на производителността, която пропуска колоната „rowid“, която е специална колона, която SQLite използва по подразбиране. За повече информация относно тази техника вижте документацията на SQLite.

Временни таблици

Можете да посочите, че дадена таблица е временна таблица, като използвате или TEMP или TEMPORARY ключова дума.

Ако използвате една от тези ключови думи, те трябва да бъдат вмъкнати между CREATE и TABLE .

Ето един пример:

CREATE TEMP TABLE Products(
  ProductId, 
  ProductName,
  Price
);

Можете също да добавите temp схема, ако желаете.

Вижте Как да създадете временна таблица за повече примери за създаване на временни таблици в SQLite.

Създайте таблица от друга таблица

Можете също да използвате CREATE TABLE ... AS SELECT оператор за създаване на нова таблица на базата на друга таблица. Когато направите това, новата таблица се попълва с данните от SELECT оператор (който избира данни от друга таблица или таблици).

Ето един основен пример:

CREATE TABLE Store.Products2 AS 
SELECT * FROM Store.Products;

Този пример създава нова таблица, наречена Products2 и го попълва с всички данни от Products маса.

Имената на всички колони са същите като в оригиналната таблица.

Важно е да се отбележи, че таблиците, създадени по този начин, нямат ПЪРВИЧЕН КЛЮЧ и никакви ограничения от какъвто и да е вид. Също така стойността по подразбиране на всяка колона е NULL . Също така последователността за съпоставяне по подразбиране за всяка колона на новата таблица е ДВОИЧНА.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Базата данни не можа да се отвори в режим на четене/запис

  2. Как да вмъкнете изображение в библиотеката за постоянство на стаята?

  3. Как да активирате/деактивирате ограниченията на CHECK в SQLite

  4. 2 примерни бази данни за SQLite

  5. SQLite IN