datatable.select()用法 如何在python程序中查看sqlite3某數(shù)據(jù)庫中的表名?
如何在python程序中查看sqlite3某數(shù)據(jù)庫中的表名?sqlite3數(shù)據(jù)庫里表的信息存儲在了一個(gè)名為sqlite_master的表中因此可以通過這條語句來查看數(shù)據(jù)庫中所有表的名稱SELECT n
如何在python程序中查看sqlite3某數(shù)據(jù)庫中的表名?
sqlite3數(shù)據(jù)庫里表的信息存儲在了一個(gè)名為sqlite_master的表中
因此可以通過這條語句來查看數(shù)據(jù)庫中所有表的名稱
SELECT name FROM sqlite_master WHERE type="table"
下面是Python的用法
con = sqlite3.connect("database.db")cursor = con.cursor()cursor.execute("SELECT name FROM sqlite_master WHERE type="table"")print(cursor.fetchall())
sqlite檢查表是否有字段?
一般數(shù)據(jù)庫升級時(shí),需要檢測表中是否已存在相應(yīng)字段(列),因?yàn)榱忻貜?fù)會報(bào)錯。方法有很多,下面列舉2種常見的方式: 根據(jù) cursor.getColumnIndex(String columnName) 的返回值判斷,如果為-1表示表中無此字段 /*** 方法1:檢查某表列是否存在* @param db* @param tableName 表名* @param columnName 列名* @return*/private boolean checkColumnExist1(SQLiteDatabase db, String tableName , String columnName) { boolean result = false Cursor cursor = null try{ //查詢一行 cursor = db.rawQuery( "SELECT * FROM " tableName " LIMIT 0" , null ) result = cursor != null && cursor.getColumnIndex(columnName) != -1 }catch (Exception e){ Log.e(TAG,"checkColumnExists1..." e.getMessage()) }finally{ if(null != cursor && !cursor.isClosed()){ cursor.close() } } return result }