Sqlite獲取表結構
pragma table_info 'tablename'
求助,SQLite創建表的語句詳解
這種最基本的操作誰便找個教程都有吧。
先好好看教程學習吧,推薦一個教程,下麵鏈接
[www.runoob.com]
sqlite查看所有表名及字段名,及判斷是否存
1.???查詢與判斷表
查詢sqlite中所有表,可用如下sql語句。原理是,sqlite中有一個內建表sqlite_master,這個表中存儲這所有自建表的表名稱等信息。
select name fromsqlite_master where type='table' order by name;
我們可以通過如下語句查看這個內建表的所有記錄
select * fromsqlite_master;
由此可以進一步引申:判斷指定的表是否存在,可以用如下語句:
selectcount(*)? from sqlite_master wheretype='table' and name = 'yourtablename';
其中yourtablename表示你要判斷的表名,如果查詢結果大於0,表示該表存在於數據庫中,否則不存在。
2.???查詢與判斷列
通過以下語句可查詢出某個表的所有字段信息
PRAGMA ?table_info([tablename])
比如:我想查看表catalog的所有列信息,可以用下述代碼,結果如圖所示:
PRAGMA table_info(catalog)
3.???Sqlite中新增、刪除、重命名列
3.1???新增一列
方法:使用sql命令
命令:ALTER? TABLE?? table-name?ADD COLUMN? column-namecolumn-type
例如:在student表中添加一列名為name,類型為varchar:
alter table student add column name varchar;
alter table catalog add column xxx1 char(20) default '';
3.2???刪除一列
方法:由於drop命令在sqlite中不可用於刪除列,
alter table student drop column name // 該行在SQlite中不能用,SQlite不支持drop
可采用如下思路,類似於swap()函數的過程。
比如我有表A,A中有x、y、z三列。我要將表A中的x列刪掉。那麼,
第1步,新建一個表B,B中含有y、z兩個字段,且類型與A中的y、z類型相同。
第2步,將A中的所有y、z兩列的值拷貝到B中。
上麵兩步使用一句命令即可完成
create table B asselect y,z from A
注意,如果A中y的類型為char,則上麵create命令會在B中創建類型為TEXT的y列。即char類型會被改變。
第3步,將A表刪除
drop table ifexists A
第4步,將B重命名為A
alter table Brename to A
3.3???重命名一列
方法:與刪除一列相同,在sqlite中alter同樣無法重命名一列。如果想重命名,那麼思路與刪除一列相同。
4.???Sqlite中新增、刪除、重命名表
Sql語句在3.2中已有。整理如下。
4.1???新增表
create table A(id char(20),channeltext,name text,primary key (id))
create table B as select y,z from A
4.2???刪除表
drop table if exists A
4.3???重命名表
alter table B rename to A
sqlite 創建表的sql 語句
執行查詢語句:
SELECT COUNT(*) as TabCount FROM sqlite_master where type='table' and name='T1'
如果TabCount大於零,說明T1表存在;
但是sqlite不支持
IF NOT EXISTS(select * ...)
CREATE TABLE(....) ...
之類的SP語法;
隻能在程序中判斷創建了。
Sqlite可以預編譯創建表語句嗎
執行查詢語句:
SELECT COUNT(*) as TabCount FROM sqlite_master where type='table' and name='T1'
如果TabCount大於零,說明T1表存在;
但是sqlite不支持
IF NOT EXISTS(select * ...)
CREATE TABLE(....) ...
之類的SP語法;
隻能在程序中判斷創建了。
sqlite developer,執行查詢的按鈕在哪??插入語句怎麼執行啊??沒找到
輸入完sql語句,點這個執行
sqlite,如何創建表
create table user(address varchar(10), name varchar(10), tel_number integer)
android中Sqlite 怎麼獲得查詢語句所返回數據的行數?
語句所返回數
sqlite3數據庫建表如何建立一個日期型的數據?
日期函數
datetime() : 產生日期和時間
date(): 產生日期
time():產生時間
strftime():對以上3個函數產生的日期和時間進行格式化
用法實例:
1、SELECT date('2011-9-9','+1 day','+1 year'); 結果是 2010-09-10
2、SELECT datetime('now'); 當前日期和時間
3、SELECT datetime('now', 'start of month'); 本月的第一天零點,也可以設置年和日的第一天
4、SELECT datetime('now','+1 hour','-12 minute'); 當前時間加48分鍾
strftime()函數可以將YYYY-MM-DD HH:MM:SS格式的日期字符串轉換為其它形式的字符串
%d:天數,01-31
%f :小數形式的秒,SS.SSS
%H:小時
%j :某一天是該年的第幾天,001-366
%m:月份,00-12
%M:分鍾,00-59
%s:從1970到現在的秒數
%S:秒,00-59
%w:星期,0-6,0是星期天
%W:某天是該年的第幾周,01-53
%Y:年,YYYY
%% 百分號
應用舉例:
SELECT strftime('%Y.%m.%d %H:%M:%S','now','localtime');
C++ sqlite語句查詢表格是否存在
這句話應該怎麼寫,才表示把表名“systemdictionary”賦值給string型變量tablename。
string?tablename??=?"systemdictionary";
按你的寫法,是表示把string型變量systemdictionary表示的值賦值給string型變量tablename。兩句話意義完全不同的。請細心。
轉載請注明出處句子大全網 » Sqlite獲取表結構