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

3 начина за генериране на скрипт CREATE TABLE от съществуваща таблица в SQLite

Тази статия съдържа три начина за генериране на 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;


  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 начина да добавите знак за процент към число в SQLite

  2. Базата данни за стаи на Android няма да експортира всички данни

  3. Как да актуализирате/изтриете с елементи от две различни таблици SQLite

  4. Как да кеширате анализиран JSON за офлайн употреба

  5. Как да актуализирате и изтриете списъка Преглед на данни в SQLite база данни с слушател на щракване?