Тази статия съдържа три начина за генериране на SQL скрипт от съществуваща таблица в SQLite.
И трите метода генерират CREATE TABLE скрипт, но последният метод също генерира INSERT оператори за вмъкване на данните.
Командата .schema
Ако искате само да скриптирате структурата на таблицата (т.е. без нейните данни), можете да използвате .schema команда.
За да направите това, просто използвайте .schema последвано от името на таблицата, която искате да скриптирате.
Ето един пример:
.schema Genre Резултат:
CREATE TABLE [Genre] ( [GenreId] INTEGER NOT NULL, [Name] NVARCHAR(120), CONSTRAINT [PK_Genre] PRIMARY KEY ([GenreId]) );
В този случай написах Genre таблица.
Можете също да използвате съвпадение на шаблон с .schema команда.
Например следната команда връща същия резултат като предишната:
.schema Gen%
Можете също да използвате .schema команда за скриптиране на цялата база данни. За да направите това, просто използвайте командата без аргумент. Като това:
.schema
По подразбиране .schema показва схемата за всички прикачени бази данни. Ако искате да видите схемата само за една база данни, можете да добавите аргумент, за да посочите базата/ите, от които се интересувате.
Например:
.schema main.* Таблицата sqlite_master
Алтернатива на .schema е за директно запитване на sqlite_master маса. Тази таблица съдържа колона, наречена sql , който съдържа SQL, използван за създаване на таблицата.
Ето един пример:
SELECT sql FROM sqlite_master WHERE tbl_name = 'Genre'; Резултат:
CREATE TABLE [Genre] ( [GenreId] INTEGER NOT NULL, [Name] NVARCHAR(120), CONSTRAINT [PK_Genre] PRIMARY KEY ([GenreId]) )
Включете данни от таблица
Ако искате всички данни, използвайте .dump команда. Тази команда скриптира CREATE TABLE оператор, както и INSERT оператори за вмъкване на всички данни в таблицата.
Ето един пример:
.dump Genre Резултат:
PRAGMA foreign_keys=OFF; BEGIN TRANSACTION; CREATE TABLE [Genre] ( [GenreId] INTEGER NOT NULL, [Name] NVARCHAR(120), CONSTRAINT [PK_Genre] PRIMARY KEY ([GenreId]) ); INSERT INTO Genre VALUES(1,'Rock'); INSERT INTO Genre VALUES(2,'Jazz'); INSERT INTO Genre VALUES(3,'Metal'); INSERT INTO Genre VALUES(4,'Alternative & Punk'); INSERT INTO Genre VALUES(5,'Rock And Roll'); INSERT INTO Genre VALUES(6,'Blues'); INSERT INTO Genre VALUES(7,'Latin'); INSERT INTO Genre VALUES(8,'Reggae'); INSERT INTO Genre VALUES(9,'Pop'); INSERT INTO Genre VALUES(10,'Soundtrack'); INSERT INTO Genre VALUES(11,'Bossa Nova'); INSERT INTO Genre VALUES(12,'Easy Listening'); INSERT INTO Genre VALUES(13,'Heavy Metal'); INSERT INTO Genre VALUES(14,'R&B/Soul'); INSERT INTO Genre VALUES(15,'Electronica/Dance'); INSERT INTO Genre VALUES(16,'World'); INSERT INTO Genre VALUES(17,'Hip Hop/Rap'); INSERT INTO Genre VALUES(18,'Science Fiction'); INSERT INTO Genre VALUES(19,'TV Shows'); INSERT INTO Genre VALUES(20,'Sci Fi & Fantasy'); INSERT INTO Genre VALUES(21,'Drama'); INSERT INTO Genre VALUES(22,'Comedy'); INSERT INTO Genre VALUES(23,'Alternative'); INSERT INTO Genre VALUES(24,'Classical'); INSERT INTO Genre VALUES(25,'Opera'); COMMIT;