কিভাবে ATTACH দিয়ে খোলা ছিল একটি SQLite ডাটাবেস ফাইল টেবিল তালিকা?




database sqlite3 (12)

".Chechema" কমান্ডো আপনাকে সারণী তৈরি করতে ব্যবহৃত বিবৃতিটি দেখিয়ে, উপলব্ধ টেবিল এবং তাদের সারি তালিকাবদ্ধ করবে:

sqlite> create table_a (id int, a int, b int);
sqlite> .schema table_a
CREATE TABLE table_a (id int, a int, b int);

এসকিউএলগুলিকে সারণি এবং SQLA ডাটাবেস ফাইলের মধ্যে সেই সারণীর মধ্যে ATTACH করতে ব্যবহার করা যেতে পারে - একবার আমি এটি SQLite 3 কমান্ড লাইন সরঞ্জামে ATTACH কমান্ডের সাথে সংযুক্ত করেছি ??


.da সব ডাটাবেস দেখতে - এক ' প্রধান ' বলা

এই ডাটাবেসের টেবিল দ্বারা দেখা যেতে পারে

1 দ্বারা sqlite_master আদেশ থেকে স্বতন্ত্র tbl_name নির্বাচন করুন;

সংযুক্ত ডেটাবেসে আপনার ATACH এন্টারপ্রাইজ যেমন এএ (বিবি, সিসি ...) এ বেছে নেওয়া উপসর্গগুলির প্রয়োজন:

Aa.sqlite_master দ্বারা স্বতন্ত্র tbl_name নির্বাচন করুন 1;

এখানে আপনি মতামত পাবেন যে নোট করুন। 'অর্ডার' করার আগে এগুলি যুক্ত করুন কোথায় টাইপ = 'টেবিল '


SQLite কমান্ড লাইনে এটির জন্য একটি কমান্ড পাওয়া যায়:

.tables ?PATTERN?      List names of tables matching a LIKE pattern

নিম্নলিখিত এসকিউএল রূপান্তর যা:

SELECT name FROM sqlite_master
WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%'
UNION ALL
SELECT name FROM sqlite_temp_master
WHERE type IN ('table','view')
ORDER BY 1

আমি এটি পেতে এই প্রশ্নের ব্যবহার করি:

SELECT name FROM sqlite_master WHERE type='table'

এবং আইওএস ব্যবহার করতে:

NSString *aStrQuery=[NSString stringWithFormat:@"SELECT name FROM sqlite_master WHERE type='table'"];

একটি SQLite ডাটাবেস মধ্যে টেবিল দেখতে কয়েক ধাপ আছে:

  1. আপনার ডাটাবেসের মধ্যে তালিকা তালিকা:

    .tables
  2. টেবিল কেমন দেখায় তা তালিকাভুক্ত করুন:

    .schema tablename
  3. সম্পূর্ণ টেবিল মুদ্রণ করুন:

    SELECT * FROM tablename;
  4. উপলব্ধ SQLite প্রম্পট আদেশ সব তালিকা:

    .help

এটি করার সবচেয়ে সহজ উপায় হল .dump সরাসরি খুলতে এবং SQLite 3 শেল সরঞ্জামটি .dump পরে এটি সংযুক্ত করার পরিবর্তে .dump কমান্ড ব্যবহার করুন।

তাই ... ( $sqlite3 পরিবর্তে আপনার OS কমান্ড লাইন প্রম্পট $) $sqlite3 :

sqlite3> ATTACH database.sqlite as "attached"

আপনার OS কমান্ড লাইন থেকে সরাসরি ডাটাবেস খুলুন:

$sqlite3 database.sqlite
sqlite3> .dump

ব্যবহার করুন:

import sqlite3

TABLE_LIST_QUERY = "SELECT * FROM sqlite_master where type='table'"

মনে হচ্ছে আপনি sqlite_master টেবিলে যেতে চাইছেন , এটির মতো:

SELECT * FROM dbname.sqlite_master WHERE type='table';

এবং তারপর নিজে নির্বাচিত প্রতিটি টেবিলের মাধ্যমে বা সারির দিকে তাকানোর মতো।

.DUMP এবং .SCHEMA কমান্ডগুলি .SCHEMA দেখতে উপস্থিত হয় না।


সব টেবিল প্রদর্শন, ব্যবহার করুন

SELECT name FROM sqlite_master WHERE type = "table"

সমস্ত সারি দেখানোর জন্য, আমি অনুমান করি আপনি সমস্ত সারণির মাধ্যমে পুনরাবৃত্তি করতে পারেন এবং প্রতিটিতে শুধুমাত্র একটি নির্বাচন * করতে পারেন। কিন্তু সম্ভবত একটি DUMP আপনি পরে কি হয়?


documentation অনুযায়ী, MySQLs এর সমান টেবিলগুলির সমতুল্য SHOW TABLES; হল:

".Tables" কমান্ডটি নিম্নলিখিত ক্যোয়ারীটি কার্যকর করার পরে তালিকা মোডের অনুরূপ:

SELECT name FROM sqlite_master
  WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%'
UNION ALL
SELECT name FROM sqlite_temp_master
  WHERE type IN ('table','view')
ORDER BY 1;

যাইহোক, যদি আপনি একটি টেবিল বিদ্যমান কিনা পরীক্ষা করছেন (অথবা তার বিস্তারিত জানার জন্য), দেখুন @LuizGeron উত্তর।



union all একটি union all মাধ্যমে, এক তালিকায় সব টেবিল একত্রিত।

select name
from sqlite_master 
where type='table'

union all 

select name 
from sqlite_temp_master 
where type='table'





metadata