Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > pysqlite - Checking the existance of a table

Reply
Thread Tools

pysqlite - Checking the existance of a table

 
 
rh0dium
Guest
Posts: n/a
 
      06-17-2005
Hi all,

I am starting to play with pysqlite, and would like to know if there is
a function to determine if a table exists or not.


Thanks

 
Reply With Quote
 
 
 
 
Matthias Kluwe
Guest
Posts: n/a
 
      06-17-2005
Simply use the internal table SQLite_Master:

select name from SQLite_Master

will return all existing tables.

Regards,
Matthias

 
Reply With Quote
 
 
 
 
Cousin Stanley
Guest
Posts: n/a
 
      06-18-2005
| I am starting to play with pysqlite,
| and would like to know if there is a function
| to determine if a table exists or not.

rh0dium ....

One way to get at a list of table names
in an SQLite data base is to query
the sqlite_master table ....


import sys
import sqlite

this_db = sys.argv[ 1 ]

list_sql = [ "select tbl_name" ,
"from sqlite_master" ]

str_sql = '\n'.join( list_sql )

dbc = sqlite.connect( db = "%s" % this_db )

curs = dbc.cursor()

curs.execute( str_sql )

list_tables = curs.fetchall()

print '\n Table Names in SQLite DB .... %s \n' % ( this_db )

for table_name in list_tables :

print " %s " % ( table_name )

print

dbc.close()


--
Stanley C. Kitching
Human Being
Phoenix, Arizona

----== Posted via Newsfeeds.Com - Unlimited-Uncensored-Secure Usenet News==----
http://www.newsfeeds.com The #1 Newsgroup Service in the World! 120,000+ Newsgroups
----= East and West-Coast Server Farms - Total Privacy via Encryption =----
 
Reply With Quote
 
=?ISO-8859-1?Q?Gerhard_H=E4ring?=
Guest
Posts: n/a
 
      06-18-2005
rh0dium wrote:
> Hi all,
>
> I am starting to play with pysqlite, and would like to know if there is
> a function to determine if a table exists or not.


You can try to access the table in a try-catch block, something like:

cur.execute("select * from tablename where 1=2")

and check if it fails.

Or you can query the sqlite_master table (don't know any specification
off-hand, but it contains the schema information).

Instead of doing a select on sqlite_master, you can use "pragma
table_info", which returns information for each column in the table,
and, apparently, an empty list if the table does not exist:

>>> cur.execute("pragma table_info(foo)")
>>> print cur.fetchall()

[(0, u'bar', u'integer', 0, None, 0)]

>>> cur.execute("pragma table_info(foo_does_not_exist)")
>>> print cur.fetchall()

[]

HTH,

-- Gerhard
 
Reply With Quote
 
Peter Hansen
Guest
Posts: n/a
 
      06-18-2005
Gerhard Häring wrote:
> Or you can query the sqlite_master table (don't know any specification
> off-hand, but it contains the schema information).


Item #9 in the FAQ (http://www.sqlite.org/faq.html#q9) shows it as:

CREATE TABLE sqlite_master (
type TEXT,
name TEXT,
tbl_name TEXT,
rootpage INTEGER,
sql TEXT
);


-Peter
 
Reply With Quote
 
Dave Cook
Guest
Posts: n/a
 
      06-19-2005
On 2005-06-17, rh0dium <(E-Mail Removed)> wrote:

> I am starting to play with pysqlite, and would like to know if there is
> a function to determine if a table exists or not.


sqlite_master has already been mentioned, so I'll point out some useful
pragmas (under "Pragmas to query the database schema"):

http://sqlite.org/pragma.html

Dave Cook
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Checking the existance of a dataTable in a dataSet Andy B ASP .Net 1 05-27-2008 07:06 AM
Checking for existance of feature / tools / solutions -- Somethinglike Java webstart Banibrata Dutta Python 0 04-28-2008 01:25 PM
Re: [pysqlite] [ANN] pysqlite and APSW projects moved Gerhard Häring Python 3 03-13-2008 10:03 PM
checking for window existance Lambuz HTML 2 03-03-2006 01:39 AM
[pysqlite] How do I use pysqlite in a multi-threading env.? F. GEIGER Python 2 05-21-2005 07:42 AM



Advertisments