SQLITE3数据库 一个表支持多少个字段

SQLITE3数据库 一个表支持多少个字段,第1张

$ sqlite3

SQLite version 377 2011-06-23 19:49:22

Enter "help" for instructions

Enter SQL statements terminated with a ";"

sqlite> create table users

> (

> u_id int,

> u_user varchar(32),

> u_gid varchar(32)

> );

sqlite>

sqlite> create table groups

> (

> g_id int,

> g_name varchar(32),

> g_pow varchar(32)

> );

sqlite>

sqlite> create table power

> (

> p_id int,

> p_name varchar(32)

> );

sqlite>

sqlite> insert into users values (1, 'admin', '1,2');

sqlite>

sqlite> insert into groups values (1, '超级', '1,3');

sqlite> insert into groups values (2, '低级', '2');

sqlite>

sqlite> insert into power values (1, '吃');

sqlite> insert into power values (2, '喝');

sqlite> insert into power values (3, '玩');

sqlite>

sqlite> head on

sqlite>

sqlite> select

> from users, groups, power

> where 1=1

> and like(

> '%,'||g_id||',%',

> ','||u_gid||','

> )

> and like(

> '%,'||p_id||',%',

> ','||g_pow||','

> )

> ;

u_id|u_user|u_gid|g_id|g_name|g_pow|p_id|p_name

1|admin|1,2|1|超级|1,3|1|吃

1|admin|1,2|1|超级|1,3|3|玩

1|admin|1,2|2|低级|2|2|喝

sqlite>

Android中提供4种数据存储的方法:(1)SharedPreferences,用键值对的方式来存储数据,是一种轻量级的存储机制,可以存储一些属性等。(2)Files:文件输入输出流的方式存储数据,FileInputStream和FileOutputStream。在Android中,文件是一个应用程序私有的,一个应用程序无法读写其他应用程序的文件。写入SD卡除外。(3)SQLite(4)网络(这个不算吧~~~--!)。

SQLite:

(1)创建和打开数据库可以使用方法openOrCreateDatabase,它会自动去检测是否存在数据库,如果存在则打开,如果不存在则创建一个数据库;成功返回一个SQliteDatabase对象。(2)创建一张表通过SQL语句实现,调用sqliteDatabase对象的execSQL方法,执行创建表的SQL语句。

(3)向数据表中添加一条记录可以直接通过SQL语句实现,也可以使用ContentValue对象,ContentValue对象是一个Map,Key是字段名,Value是值。Cvput(key,value);然后调用sqliteDatabase对象的

insert(tableName,null,cv)方法插入数据。

(4)删除数据可以直接执行SQL,也可以执行sqliteDatabase的delete方法。

(5)同理修改数据也是执行SQL或调用update方法,需要传入ContenValue的对象表示修改的内容。

(6)关闭数据库sqliteDatabaseclose();

(7)删除指定表调用SQL语句即可。

(8)查询:在Android中查询数据是通过Cursor类来实现的,当我们使用SQLiteDatabasequery()方法时,会得到一个Cursor对象,Cursor对象指向的是每条数据。例如curmoveToFirst();curmoveToNext();等。在实际开发中,为了能够更好地管理和维护数据库,我们会封装一个继承自SQLiteOpenHelper类的数据库 *** 作类。SQLiteOpenHelper的构造方法中分别需要传入Context、数据库名称、CursorFactory(一般默认null)、数据库版本号。在SQLiteOpenHelper中首先执行的是onCreate方法(当数据库第一次被创建时)。在构造函数中并没有真正创建数据库,而是调用getWriteableDatabase或者getReadableDatabase方法时才真正去创建数据库,并且返回一个SQLiteDatabase对象。

可以查询sqlite_master表。该表是用来保存当前数据库中创建的所有表,索引,触发器。该表含有5个字段,分别是type,name,tbl_name,rootpage,sql意义分别如下:

type:类型,可以为table,index,trigger

name:名称,为对应表,索引,触发器名称

tbl_name:未索引,触发器对应表名

rootpage:为对应表,索引在数据库中存储的根页号

sql:创建的sql语句

至此,我们可以使用如下语句进行查询:

select  from sqlite_master where name='你的表名';

如果有,就会返回数据,否则不返回。

另外也可以用下面方法

pragma table_info('你的表名');

用来查询你的表结构,如果有,就会返回你的表结构,如果没有该表,则不返回值。

还可以使用如下方法:

select  from 你的表名 where 1=0;

如果有该表,你执行的sql语句不会报错,如果没有,则你执行的sql语句会报错,这样也能判断。

应用场景:kobas30的注释库中,有很多关系对应表。如果你单独把它提取出来,用来做自己的注释也是不错的。

假设你需要ntadb中的表格信息如何做?

第一步:查看这个文件中有哪些表格。

第二步:在txt文本中编辑好脚本信息,最后复制粘贴到shell中运行即可。

类似的内容也可以这样改。

以上就是关于SQLITE3数据库 一个表支持多少个字段全部的内容,包括:SQLITE3数据库 一个表支持多少个字段、如何在android自带的sqlite3中创建一个数据库文件,请大虾门详细指导、怎么判断sqlite3中某个表是否已经存在等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10199086.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存