SQLite
 sql >> Baza danych >  >> RDS >> SQLite

3 sposoby na wygenerowanie skryptu CREATE TABLE z istniejącej tabeli w SQLite

Ten artykuł zawiera trzy sposoby generowania skryptu SQL z istniejącej tabeli w SQLite.

Wszystkie trzy metody generują CREATE TABLE skrypt, ale ostatnia metoda generuje również INSERT oświadczenia dotyczące wstawiania danych.

Polecenie .schema

Jeśli chcesz tylko skryptować strukturę tabeli (tj. bez jej danych), możesz użyć .schema Komenda.

Aby to zrobić, po prostu użyj .schema a następnie nazwa tabeli, którą chcesz napisać.

Oto przykład:

.schema Genre

Wynik:

CREATE TABLE [Genre]
(
    [GenreId] INTEGER  NOT NULL,
    [Name] NVARCHAR(120),
    CONSTRAINT [PK_Genre] PRIMARY KEY  ([GenreId])
);

W tym przypadku napisałem skrypt Genre tabela.

Możesz także użyć dopasowania wzorca z .schema Komenda.

Na przykład poniższe polecenie zwraca ten sam wynik, co poprzednie:

.schema Gen%

Możesz także użyć .schema polecenie do skryptowania całej bazy danych. Aby to zrobić, po prostu użyj polecenia bez argumentu. Tak:

.schema

Domyślnie .schema pokazuje schemat dla wszystkich dołączonych baz danych. Jeśli chcesz zobaczyć schemat tylko dla jednej bazy danych, możesz dodać argument określający interesujące Cię bazy danych.

Na przykład:

.schema main.*

Tabela sqlite_master

Alternatywa dla .schema jest bezpośrednie wysłanie zapytania do sqlite_master stół. Ta tabela zawiera kolumnę o nazwie sql , który zawiera kod SQL użyty do utworzenia tabeli.

Oto przykład:

SELECT sql FROM sqlite_master WHERE tbl_name = 'Genre';

Wynik:

CREATE TABLE [Genre]
(
    [GenreId] INTEGER  NOT NULL,
    [Name] NVARCHAR(120),
    CONSTRAINT [PK_Genre] PRIMARY KEY  ([GenreId])
)

Dołącz dane tabeli

Jeśli chcesz wszystkie dane, użyj .dump Komenda. To polecenie skryptuje CREATE TABLE oświadczenie oraz INSERT instrukcje wstawiania wszystkich danych do tabeli.

Oto przykład:

.dump Genre

Wynik:

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. Android :Błąd kopiowania bazy danych (Sqliite) z folderu zasobów

  2. Jak dodać określoną liczbę pustych wierszy w sqlite?

  3. Wyświetl wszystkie tabele tymczasowe w SQLite

  4. listview wyświetla dane z bazy danych w Androidzie

  5. 2 sposoby na dodanie znaku procentu do liczby w SQLite