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);
}