梦星痕

--记录生活与工作中的点点滴滴
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

【笔记】SQLlite 一些小记

Posted on 2013-03-05 21:19  梦星痕  阅读(240)  评论(0)    收藏  举报

一、下载SQLLite :

  官方网站:www.sqlite.org 找到 download 页,然后下载windows下使用的。

  下载后,存放到系统盘 Windos 文件夹下面,就可以直接在使用行使用了,一般文件名为 sqlite3.exe 。

二、基础使用方法:

  1) 运行并创建数据库,假设数据库名为 myDatabase :

    sqlite3 database

  2)创建一个数据表,并有一个数值型的自动增加的索引主键,假设数据表名 user :

    create table user ( id integer primary key, userName, userPassword );

  3)向刚刚的表中添加一条数据,因为我们定义第一个值为主键,所以,添加数据时,第一项要填空。

    insert into user values (null, "张三", "abc");

  4)支持的数据类型(不填类型则默认为动态,会根据赋值的类型进行转变):

    NULL:空值。
    INTEGER:带符号的整型,具体取决有存入数字的范围大小。
    REAL:浮点数字,存储为8-byte IEEE浮点数。
    TEXT:字符串文本。
    BLOB:二进制对象。

三、基础句型说明:

  1)创建表格:

    格式:create table table_name(field1, field2, field3, ...);

    示例:create table film(title, length, year, starring);

  2)建立索引(加快搜索时的速度,索引不能直接访问):

    格式:create index index_name on table_name(field_to_be_indexed);

    示意:create index film_title_index on film(title);

  3)添加数据:

    格式:insert into table_name values(data1, data2, data3, ...); 

    示意(添加一条数据):insert into film values ('Contact', 153, 1997, 'Jodie Foster'); 

    示意(同时添加两条数据):insert into film values ('Contact', 153, 1997, 'Jodie Foster'), ('Jerry', 173, 1998, 'Jodie Foster');

    强调:如果某项没有值或不想设置值,直接设置为 null 便可

  4)数据表的查询(单个表的查询):

    格式:select columns from table_name where expression;

    示意及说明:

      查询某个表中所有的数据:select * from film;

      显示指定表中的前10条数据:select * from film limit 10;

      按指定的关键字排列并只显示前10条数据: select * from film order by year limit 10;

      按指定的关键字倒序排列:select * from film order by year desc;

      只查看表格中指定关键字的数据:select title, year from film;

      查询符合指定条件的所有数据:select * from film where starring='Jodie Foster';

      使用特殊字符 % 来进行模糊查询:select * from film where starring like 'Jodie%';

      【示意】一个复杂的查询(多个条件,并且只要求返回10条数据,而且只显示几个关键字段):

        select title, year from film where starring like 'Jodie%' and year >= 1985 order by year desc limit 10;

      统计数据表中一共有多少条数据:select count(*) from film;

      统计数据表中符合条件的数据的条目数:select count(*) from film where year >= 1985;

  5)更改或删除数据:

    更新数据格式:update table_name set new_value where expression;

    示意:update film set starring='Jodie Foster' where starring='Jodee Foster';

    删除指定条件的数据:delete from table_name where expressiion;

    示意:delete from film where year < 1970;

  6)多表格间联合查询(目前只支持内联和左联):

      格式(内联模式):select columns from table_name1, table_name2, ... where expression;

    格式(左联模式):select columns from table_name left outer join table_name2, table_name3, ... on expression;

    示意:select * from tableA, tableB where tablelB.typeID=tableA.id;