sqlite数据库如何判断表、字段是否存在

www.111cn.net 更新:2015-01-02 编辑:edit02_lz 来源:转载
下面我们来分享一个轻型的数据库sqlite如何判断表、字段是否存在的sql语句,希望对大家有所用。

1.判断表名是否存在:

select * from sqlite_master

sqlite_master 的表结构如下:

type   |name    |tbl_name    |rootpage   |sql

示范查询结果;

=============
type>>table
name>>android_metadata
tbl_name>>android_metadata
rootpage>>3
sql>>CREATE TABLE android_metadata (locale TEXT)
=============
type>>table
name>>TalkVO
tbl_name>>TalkVO
rootpage>>4
sql>>CREATE TABLE TalkVO (content text,videoPath text,img text,name text,issend BLOB,isPlaying integer,uid integer,_id integer PRIMARY KEY)

2.判断字段是否存在

PRAGMA table_info([TalkVO])

必须 大写,结构如下:

cid |  name | type | notnull | dflt_value |  pk

示范查询结果;

PRAGMA table_info([TalkVO])
=============
cid>>0
name>>content
type>>text
notnull>>0
dflt_value>>null
pk>>0
=============
cid>>1
1name>>videoPath
type>>text
notnull>>0
dflt_value>>null
pk>>0
=============
cid>>2
name>>img
type>>text
notnull>>0
dflt_value>>null
pk>>0
=============
cid>>3
name>>name
type>>text
notnull>>0
dflt_value>>null
pk>>0
=============
cid>>4
name>>issend
type>>BLOB
notnull>>0
dflt_value>>null
pk>>0
=============
cid>>5
name>>isPlaying
type>>integer
notnull>>0
dflt_value>>null
pk>>0
=============
cid>>6
name>>uid
type>>integer
notnull>>0
dflt_value>>null
pk>>0
=============
cid>>7
name>>_id
type>>integer
notnull>>0
dflt_value>>null
pk>>1