创建数据库与完成数据添删改查(一)

本文详细介绍了在Android平台上使用SQLite数据库的方法,包括创建数据库、定义数据类型、执行查询、插入、更新和删除操作,并展示了如何通过Java代码实现这些功能。此外,文章还提供了数据库文件的创建和管理过程,以及如何使用ADB工具导出数据库文件。
摘要由CSDN通过智能技术生成

创建数据库与完成数据添删改查(一)

创建数据库

SQLite数据库

在Android平台上,集成了一个嵌入式关系型数据库-SQLite
数据类型:
null
integer
real(浮点数字)
text(字符串文本)
blob(二进制对象)

在SQLite3中也接受varchar(n) 、char(n)、decimal(p, s) 等类型
但运算或保存时会转成对应的五种数据类型


    SQLite最大的特点是你可以把各种类型的数据保存到任何字段中,而不用关心字段声明的数据类型是什么。
如:在Integer类型的字段中存放字符串
在布尔型字段中存放浮点数
在字符型字段中存放日期型
但有一种情况例外: integer primary key的字段只能存储64位整数,当向这种字段保存除整数以外的数据时,将会产生错误
在编写 create table 语句时,可以省略跟在字段名称后面的数据类型信息
如下面语句你可以省略name字段的类型信息:
<span style="white-space:pre">	</span>create table person(
		personid integer primary key autoincrement,
		name varchar(20)
	)

查询语句:
select * from 表名 where 条件子句 group by 分组字句 having...order by 排序子句

获取添加记录后自增长的id值:select last_insert_rowid()

分页sql与mysql类似,下面sql语句获取5条记录,跳过前面3条记录
<span style="white-space:pre">	</span>select * from account limit 5 offset 3
或者
<span style="white-space:pre">	</span>select * from account limit 3,5

插入语句:
insert into 表名(字段列表) values(值列表)
如:
<span style="white-space:pre">	</span>insert into person(name,age) values('dan',20)
更新语句:
update 表名 set 字段名=值 where 条件子句
如:
<span style="white-space:pre">	</span>update person set name="guang" where id=2

删除语句:
delete from 表名 where 条件子句
如:
<span style="white-space:pre">	</span>delete from person where id=10

创建数据库

<span style="white-space:pre">		</span>package com.example.dao;


		import android.content.Context;
		import android.database.sqlite.SQLiteDatabase;
		import android.database.sqlite.SQLiteOpenHelper;


		public class DBOpenHelper extends SQLiteOpenHelper {


			public DBOpenHelper(Context context) {
				//super(context, 数据库名称, 游标工厂, 数据库的版本号);
				//游标工厂为null代表使用游标默认的工厂
				super(context, "Person_1.db", null, 1);
				//这个SQLite.db文件会自动的存放在  <包>/databases/
			}


			/**
			 * 是在数据库每一次被创建的时候调用的
			 */
			@Override
			public void onCreate(SQLiteDatabase db) {
				db.execSQL("create table person(personid integer primary key autoincrement, name varchar(20), phone varchar(12) null)");
				
			}
			
			/**
			 *数据库的版本号发生变更时调用 
			 */
			@Override
			public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
				db.execSQL("alter table person add amount integer");
			}


		}




		在junit测试类里调用 :
		public void testCreateDB() throws Exception{
			DBOpenHelper dbOpenHelper = new DBOpenHelper(getContext());
			dbOpenHelper.getWritableDatabase();
		}


执行就产生一个db文件,就可以在File Explorer 视图中的data/data/<包名>/databases/ 目录下找到,也就可以pull file出来,后用SQLite Expert工具打开这个文件,也就可以看到数据结果


注意:当pull file不出来时,可以用sdk自带的工具adb导出这个文件,代码如下:
>adb pull /data/data/<包名>/databases/文件名.db 要导出的目录
如:
F:\androidadt\adt-bundle-windows-x86_64-20140702\sdk\platform-tools>adb pull /data/data/com.example.sqlite/databases/SQLite_1.db D:\Android_SQLite_db

当然重启eclipse也是可以的

这样就简单的创建了一个数据库,名为db文件的名Person,而且也创建了一个表为person




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值