SQLite数据库是Android常用的数据库。
对于初学者的我,简单的记录下我们常用的一些内容,后续会补充,如有错误还请各位大神指点,其他初学者可参考但请不要过于依赖。
一、在实际开发中,我们经常会遇到一些常用的SQLite语法。
建一个表。如建一个自增长的名字为person的表,元素有name,长度不超过20个字符。
语法结构:create table 表名 (列名1 数据类型,列名2 数据类型,列名3 数据类型,..............)
create tableperson(_id integer primary key autocrement,name varchar(20))
有时我们会遇到如下语句。
create tableperson( _id integer primary key autocrement,name char(20))
其中varchar和char的区别是:
1、char(20)规定,如果字符长度不大于20个字符,则其他用空字符填充后存储。varchar(20)规定,如果字符长度不大于20个字符,则按实际字符长度存储。那么varchar比char占用的存储单元少,在大量的数据存储的时候,可考虑使用varchar。
2、使用char的处理速度比较快。实际开发中,综合考虑使用那种。
2.查询某个表中元素,如查询person表中,name中的所有项。
语法结构:1.select 列名 from 表名,2. select * from 表名
selcetname from person
3.插入某个元素,如在person表中的name插入小明。
语法结构:1.insert into 表名(列名1,列名2,.........)values(值1,值2,...........),2. insert into 表名 values(值1,值2,...........)
insert intoperson(name) values('小明')
4.更新数据库中的某些内容,如在person表中的name列中id=10的名字为小明。
语法结构:update 表名 set 列名 = 新值 where 列名 = 某值
updateperson set name ='小明' where id=10
5.删除数据库中的某些内容,如删除person表中的name列中id=10的行。
语法结构:delete frome 表名 where 列名 = 值
delete fromperson where id=10
6.常用中还有where语句,经常做为某语句的判断的子语句。如下面语句
delete fromperson where id=10
就是用where表示要删除的是列id为10的。
二、在实际开发中,关于SQLite的使用。
1.创建一个自己的数据库Helper,用于创建一个数据库和更新数据库。
//创建一个数据库名字为mydb.db的数据库的核心代码
public class MySQLiteOpenHelper extends SQLiteOpenHelper{
public MySQLiteOpenHelper(Context context, String name, CursorFactory factory,
int version) {
super(context, name, factory, version);
}
//数据库创建时,此方法会调用
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table person(_id integer primary key autoincrement,
name char (10),salary char(20), phone integer(20))");
}
//数据库升级时,此方法会调用
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
System.out.println("数据库升级了");
}
}