Sqlite获取表结构
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获取表结构:等您坐沙发呢!