Android Studio 之 SQLite的学习与使用(1)
SQLite的学习
1.特点
程序驱动,嵌入式,不需要专门的数据库引擎+
SQLite其实是无数据类型的。指定类型后但不做检查。
有五种类型:Integer varchar(10) float double char(10) text
2.Sql通用常用指令
2.1创建表的语句
create table 表名(字段名称 数据类型 约束,字段名称 数据类型 约束......)
create table person(_id Integer primary key,namevarchar(10),age Integer not null)
2.2删除表的语句
Drop table 表名
2.3插入数据
Insert into 表名[字段,字段] values(值1,值2......)
//中括号此处表示可有可无
Insert into person(_id,age) values(1,20)
Insert into person values(2,”zs”,30) //如果没有在person后加字段,则values里的值按顺序给各字段插入
2.4修改数据
Update 表名set 字段=新值where 修改的条件
Update person set name=”ls” where _id=1 //意思是把_id等于1的人的名字修改成ls
如果是要修改多个值,就Update person set name=”ls”,age=20 where _id=1
2.5删除数据
Delete from 表名 where 删除的条件
Delete from person where _id=2 //person后不加字段限制则全部删除
2.6查询语句
Select 字段名 from 表名 where 查询条件 group by 分组的字段 having 筛选的条件order by 排序字段
Select * from person; //将person中的所有数据展示 *是通配符
Select * from person where _id=1;//查询person表中_id等于1的人的情况
Select * from person where _id<>1;//查询person表中_id不等于1的人的情况
Select * from person where _id<>1 and age>18;//多个条件。查询person表中_id不等于1且age大于18的人的情况
...
Select * from person where _id<>1 order by age;//查询person表中_id不等于1的人的情况,并且按年龄排序
3.Sqlite数据库创建
3.1用SQLiteOpenHelper这样一个已经定义好的类来创建。这个类里定义了创建方法:onCreate(),数据库升级方法:onUpgrade(),打开数据库方法:onOpen()。
3.2一个新的项目。先写一个BUTTON,在点击之后触发一个创建数据库的事件。在对应的包下新建一个utils工具类,可以起名为MySqliteHelper,在这里面实现创建数据库/升级数据库/打开数据库等功能,因此它需要extends SQLiteOpenHelper。然后ALT+回车,重写OPEN和UPGRADE,再写相应的构造函数。
注意到,这里的构造函数需要传入四个参数,之后的时候每次都传四个不太方便,所以再定义一个新的常量工具类:
,然后再写一个新的构造函数
点击,观察log
先创建一个数据库对象,然后打开。
数据库中大部分都是用表的形式管理。通常,创建数据库的时候,我们都会创建一个数据库表。比如,此时在数据库的onCREATE中写一个:
String sql="create table person(_id Integer primary key,name
varchar(10),age Integer)";
Create table表示创建一个表 然后person是表名,括号里是字段。同理,为了提高耦合性,可以在常量工具类中定义表名/ID/NAME等信息。
在CONSTANT里定义好了之后,这句命令改写为:
String sql="create table "+Constant.TABLE_NAME+"("+Constant._ID+" Integer primary key,"+Constant.NAME+" varchar(10),"+Constant.AGE+" Integer)";
在双引号括起来的字符串中可以再加“+...+”,中间写变量名。
定义好sql表后,在下面写一个执行语句。
然后这张数据库表就创建完成了。