创建数据库与完成数据添删改查(一)
2015-10-18 17:16
323 查看
创建数据库与完成数据添删改查(一)
创建数据库
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
相关文章推荐
- mssql借助链接服务器进行数据快速迁移
- [转]memcached-session-manager配置
- JAVA客户端API调用memcached两种方式
- memcached远程 telnet 无法连接,解决方案
- Memcached 服务器端命令
- Oracle中函数、存储过程、触发器
- phpredis:php一个key-value扩展
- 题目9:MySQL---------Department Top Three Salaries
- mssql中按周进行表分区的方法
- Windows下Mysql5.6启动日志
- Oracle中的length()与lengthb()的区别 ?
- MySQL----information-schema数据库相关权限的说明。
- ACCESS+MYSQL手工注入
- redis cluster
- Oracle截取字符串和查找字符串
- Amazon Dynamo
- Mongodb的Samus驱动
- hiredis之坑爹的异步调用
- SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'XXX'
- MyBatis SqlSessionFactory的几种常见创建方式