sqlite基础

一.sqlite简述

1.sqlite是一款轻型的关系型数据库,嵌入式开发、本地型数据记录、小型网站都可适用;其优势不言而喻。

2.本文主要针对新手,快速掌握基本的sql语句,半天学会sqlite增删查改。

3.sql语句不分大小写,以个人习惯为准,本人习惯小写,类型则用大写,以方便阅读区分。

4.以下sql语句用到的表,名称均为:TABLE。

二.sqlite数据类型

1.基本类型

类型

描述

NULL

值是一个 NULL 值。

INTEGER

值是一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中。

REAL

值是一个浮点值,存储为 8 字节的 IEEE 浮点数字。

TEXT

值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储。

BLOB

值是一个 blob 数据,完全根据它的输入存储。

2.亲和类型

sqlite支持列的亲和类型概念。任何列仍然可以存储任何类型的数据,当数据插入时,该字段的数据将会优先采用亲和类型作为该值的存储方式。

数据类型

亲和类型

INT

INTEGER

TINYINT

SMALLINT

MEDIUMINT

BIGINT

UNSIGNED BIG INT

INT2

INT8

   INTEGER

CHARACTER(20)

VARCHAR(255)

VARYING CHARACTER(255)

NCHAR(55)

NATIVE CHARACTER(70)

NVARCHAR(100)

TEXT

CLOB

   TEXT

BLOB

no datatype specified

   NONE

REAL

DOUBLE

DOUBLE PRECISION

FLOAT

   REAL

NUMERIC

DECIMAL(10,5)

BOOLEAN

DATE

DATETIME

  NUMERIC

三.创建一个表

语句:create table 表名称(字段及字段类型);

1.创建一个表,表中包括ID(关键字)、姓名、性别、年龄、日期

create table TABLE(ID INTEGER PRIMAARY KEY,name VARCHAR,sex VARCHAR,age VARCHAR,date DATATIME);

2.创建一个表,不存在时才创建

create table TABLE if not exists(ID INTEGER PRIMAARY KEY,name VARCHAR,sex VARCHAR,age VARCHAR,date DATATIME);

四.插入记录

语句:insert into 表名称(字段...) values(字段值...);

            insert into TABLE_NAME(column1,column2,column3,...columnN)values(value1,value2,value3,....valueN);

1.插入一条记录(如果插入所有字段(列),不需指定列名称,但要保持顺序一致)

insert into TABLE values(1,'Acuity','男',18,'20170920');

2.指定列插入

inser into TABLE(ID,name,sex,age,date) values(2,'Acuity','男',18,'20170920');

inser into TABLE(name,sex,age,date) values('Acuity','男',18,'20170920');

五.删除记录

语句:delete from 表名称 where 条件;可以使用and、or等组合多个条件;

1.删除名字为‘Acuity’的记录

delete from TABLE where name = 'Acuity';

2.删除名称为‘Acuity’并且ID为'1'的记录

delete from TABLE where name = 'Acuity' and ID = 1;

3.删除所有记录

delete from TABLE;

六.更新记录

语句:update 表名称 set  设置字段(列)值 where 条件;可以使用and、or等组合多个条件;

1.将名字为'Acuity'的年龄更新为20

update TABLE set age = 20 where name = 'Acuity';

2.将所有记录中的年龄字段设置为20

update TABLE set age = 20;//此时不用加条件限制;

七.查询记录

语句:select  字段  from 表名称 where 条件;可以使用and、or等组合多个条件;

1.查询整个表

select * from TABLE;  //通配符“*”表示表中所有数据(行、列)。

2.查询某一字段(列)

查看表TABLE中的ID字段和NAME字段

select  ID,NAME form TABLE; 

3.匹配某一条件查询(如行)

1)select 字段 from 表名 where 字段

查询ID为1234的所有数据

select * from TABLE where ID = 1234;

2)select 字段 from 表名 where 字段 between 字段值0 and 字段值1

查询ID为1至10之间的所有数据

select * from TABLE where ID between 1 and 10;

3)匹配前后字符(串):select 字段 from 表名 where 字段 like 条件

通配符‘%’1:查询名字为‘A’开头的记录

select * from TABLE where name like  'A%';

通配符‘%’2:查询名字为‘y’结尾的记录

select * from TABLE where name like ‘%y’;

通配符‘%’3:查询名字中存在'cui'字母的的记录

select * from TABLE where name like ‘%cui%’;

通配符‘%’4:查询名字中不存在'cui’字母的记录

select * from TABLE where name not like ‘%cui%’;


参考

[1]  http://www.runoob.com/sqlite/sqlite-data-types.html

posted @ 2017-09-11 15:13  Acuity  阅读(104)  评论(0编辑  收藏  举报