Sqlite的使用

1.Sqlite的数据类型

null:这个值为空值;
Varchar(n):长度不固定且其最大长度为 n 的字串,n不能超过 4000;
Char(n):长度固定为n的字串,n不能超过 254;
Integer: 值被标识为整数,依据值的大小可以依次被存储为1,2,3,4,5,6,7,8;
Real: 所有值都是浮动的数值,被存储为8字节的IEEE浮动标记序号;
Text: 值为文本字符串,使用数据库编码存储(TUTF-8, UTF-16BE or UTF-16-LE);
Blob: 值是BLOB数据块,以输入的数据格式进行存储。如何输入就如何存储,不改  变格式;
Data :包含了 年份、月份、日期;
Time: 包含了 小时、分钟、秒;

2.Sqlite的常用方法

openOrCreateDatabase(String path,SQLiteDatabase.CursorFactory  factory)//打开或者创建数据库
参数1:数据库路径;参数2:null;

insert(String table,String nullColumnHack,ContentValues  values)//添加一条记录
参数1:表名称;参数2:null;参数3:添加的键值对;

delete(String table,String whereClause,String[]  whereArgs)//删除一条记录
参数1:表名称;参数2:删除的条件;参数3:删除的条件值的数组;

query(String table,String[] columns,String selection,String[]  selectionArgs,String groupBy,String having,String  orderBy,String limit)//查询一条记录
参数1:表名称;参数2:列名称数组;参数3:查询条件;参数4:查询条件值的数组;参数5:分组列;参数6:分组条件;参数7:排序列;参数8:分页查询限制
返回值cursor:相当于结果集ResultSet(是一个游标接口,以下是方法)    

getCount()//获得总的数据项数

isFist()//判断是否第一条记录

isLast()//判断是否最后一条记录

moveToFirst()//移动到第一条记录

moveToLast()//移动到最后一条记录

move(int offset)//移动到指定记录

moveToNext()//移动到下一条记录

moveToPrevious()//移动到上一条记录

getColumnIndexOrThrow(String columnName)//根据列名称获得列索引

getInt(int columnIndex)//获得指定列索引的int类型值

getString(int columnIndex)//获得指定列缩影的String类型值

update(String table,ContentValues values,String whereClause,String[]  whereArgs)//修改(更新)记录
参数1:表名称;参数2:添加的键值对;参数3:修改的条件;参数4:修改的条件值得数组;

execSQL(String sql)//执行一条sql语句
参数:sql语言;

close()//关闭数据库

3.Sqlite方法的用法(全是sql语言)
1).打开或创建数据库

db=SQLiteDatabase.openOrCreateDatabase("/data/data/com.lingdududu.db/databases/stu.db",null);  

2).创建表
属性:id(主键并且自动增加)、sname(学生姓名)、snumber(学号)

private void createTable(SQLiteDatabase db){   
//创建表SQL语句   
String stu_table="create table usertable(_id integer primary key autoincrement,sname text,snumber text)";   
//执行SQL语句   
db.execSQL(stu_table);   
}  

3).插入数据

private void insert(SQLiteDatabase db){   
//插入数据SQL语句   
String stu_sql="insert into stu_table(sname,snumber) values('xiaoming','01005')";   
//执行SQL语句   
db.execSQL(sql);   
}   

4).删除数据

private void delete(SQLiteDatabase db) {   
//删除SQL语句   
String sql = "delete from stu_table where _id = 6";   
//执行SQL语句   
db.execSQL(sql);   
}   

5).修改数据

private void update(SQLiteDatabase db){   
//修改SQL语句   
String sql = "update stu_table set snumber = 654321 where id = 1";   
//执行SQL   
db.execSQL(sql);   
}  

6).查询数据(关于select的方法地址:http://www.w3school.com.cn/sql/sql_select.asp)

private void select(SQLiteDatabase db){
    String sql = "SELECT sname,snumber FROM stu_tabale";
    db.execSQL(sql);
}

7).删除指定表

private void drop(SQLiteDatabase db){   
//删除表的SQL语句   
String sql ="DROP TABLE stu_table";   
//执行SQL   
db.execSQL(sql);   
}   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值