इस आलेख में SQLite में किसी मौजूदा तालिका से SQL स्क्रिप्ट जनरेट करने के तीन तरीके हैं।
सभी तीन विधियां CREATE TABLE
उत्पन्न करती हैं स्क्रिप्ट, लेकिन अंतिम विधि INSERT
. भी उत्पन्न करती है डेटा डालने के लिए बयान।
.स्कीमा कमांड
यदि आप केवल तालिका संरचना को स्क्रिप्ट करना चाहते हैं (अर्थात इसके डेटा के बिना), तो आप .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_मास्टर टेबल
.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;