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表后,在下面写一个执行语句。


       然后这张数据库表就创建完成了。



©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 观其大纲 page 01 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 M...
    周少言阅读 3,173评论 0 33
  • MYSQL 基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 MySQL基本操...
    Kingtester阅读 7,857评论 5 116
  • 什么是SQLite?数据库存储数据的步骤 ●SQLite是一款轻型的嵌入式数据库,它占用资源非常的低,在嵌入式设备...
    飞行的猫阅读 2,523评论 1 7
  • 导语: 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库.请不要被「数据库」三个字所迷惑,数据...
    Han_105a阅读 673评论 0 0
  • Nginx为centos提供了Pre-Built的发布包,使得安装起来非常简单。 配置nginx软件包仓库 在Li...
    JohnShen阅读 529评论 0 5