SQLLite

在程序运行过程中,要想操作(增删改查,CRUD)数据库中的数据,必须使用SQL语句

select、insert、update、delete、from、create、where、desc、order、by、group、table、alter、view、index

SQL语句的种类

数据定义语句(DDL:Data Definition Language)

包括create和drop等操作

在数据库中创建新表或删除表(create table或 drop table)

数据操作语句(DML:Data Manipulation Language)

包括insert、update、delete等操作

上面的3种操作分别用于添加、修改、删除表中的数据

数据查询语句(DQL:Data Query Language)

可以用于查询获得表中的数据

关键字select是DQL(也是所有SQL)用得最多的操作

其他DQL常用的关键字有where,order by,group by和having

创表

格式

create table 表名 (字段名1 字段类型1, 字段名2 字段类型2, …) ;

create table if not exists 表名 (字段名1 字段类型1, 字段名2 字段类型2, …) ;

示例

create table t_student (id integer, name text, age inetger, score real) ;

字段类型

SQLite将数据划分为以下几种存储类型:

integer : 整型值

real : 浮点值

text : 文本字符串

blob : 二进制数据(比如文件)

实际上SQLite是无类型的

就算声明为integer类型,还是能存储字符串文本(主键除外)

建表时声明啥类型或者不声明类型都可以,也就意味着创表语句可以这么写:

create table t_student(name, age);

为了保持良好的编程规范、方便程序员之间的交流,编写建表语句的时候最好加上每个字段的具体类型

删表

格式

drop table 表名 ;

drop table if exists 表名 ;

示例

drop table t_student ;

插入数据(insert)

格式

insert into 表名 (字段1, 字段2, …) values (字段1的值, 字段2的值, …) ;

示例

insert into t_student (name, age) values (‘mj’, 10) ;

注意

数据库中的字符串内容应该用单引号 ’ 括住

更新数据(update)

格式

update 表名 set 字段1 = 字段1的值, 字段2 = 字段2的值, … ;

示例

update t_student set name = ‘jack’, age = 20 ;

注意

上面的示例会将t_student表中所有记录的name都改为jack,age都改为20

删除数据(delete)

格式

delete from 表名 ;

示例

delete from t_student ;

注意

上面的示例会将t_student表中所有记录都删掉

条件语句

如果只想更新或者删除某些固定的记录,那就必须在DML语句后加上一些条件

条件语句的常见格式

where 字段 = 某个值 ;   // 不能用两个 =

where 字段 is 某个值 ;   // is 相当于 =

where 字段 != 某个值 ;

where 字段 is not 某个值 ;   // is not 相当于 !=

where 字段 > 某个值 ;

where 字段1 = 某个值 and 字段2 > 某个值 ;  // and相当于C语言中的 &&

where 字段1 = 某个值 or 字段2 = 某个值 ;  //  or 相当于C语言中的 ||

条件语句练习

示例

将t_student表中年龄大于10 并且 姓名不等于jack的记录,年龄都改为 5

update t_student set age = 5 where age > 10 and name != ‘jack’ ;

删除t_student表中年龄小于等于10 或者 年龄大于30的记录

delete from t_student where age <= 10 or age > 30 ;

猜猜下面语句的作用

update t_student set score = age where name = ‘jack’ ;

将t_student表中名字等于jack的记录,score字段的值 都改为 age字段的值

DQL语句

格式

select 字段1, 字段2, … from 表名 ;

select * from 表名;   //  查询所有的字段

示例

select name, age from t_student ;

select * from t_student ;

select * from t_student where age > 10 ;  //  条件查询

起别名

格式(字段和表都可以起别名)

select 字段1 别名 , 字段2 别名 , … from 表名 别名 ;

select 字段1 别名, 字段2 as 别名, … from 表名 as 别名 ;

select 别名.字段1, 别名.字段2, … from 表名 别名 ;

示例

select name myname, age myage from t_student ;

给name起个叫做myname的别名,给age起个叫做myage的别名

select s.name, s.age from t_student s ;

给t_student表起个别名叫做s,利用s来引用表中的字段

计算记录的数量

格式

select count (字段) from 表名 ;

select count ( * ) from 表名 ;

示例

select count (age) from t_student ;

select count ( * ) from t_student where score >= 60;

排序

查询出来的结果可以用order by进行排序

select * from t_student order by 字段 ;

select * from t_student order by age ;

默认是按照升序排序(由小到大),也可以变为降序(由大到小)

select * from t_student order by age desc ;  //降序

select * from t_student order by age asc ;   // 升序(默认)

也可以用多个字段进行排序

select * from t_student order by age asc, height desc ;

先按照年龄排序(升序),年龄相等就按照身高排序(降序)

limit

使用limit可以精确地控制查询结果的数量,比如每次只查询10条数据

格式

select * from 表名 limit 数值1, 数值2 ;

示例

select * from t_student limit 4, 8 ;

可以理解为:跳过最前面4条语句,然后取8条记录

时间: 2024-08-08 22:00:19

SQLLite的相关文章

SqlLite 简明教程

SQL DML 和 DDL        可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL).         注:"--"双减号为行注释        SQL (结构化查询语言)是用于执行查询的语法.但是 SQL 语言也包含用于更新.插入和删除记录的语法.        查询和更新指令构成了 SQL 的 DML 部分:        SELECT - 从数据库表中获取数据        UPDATE - 更新数据库表中的数据        DELET

在Cocos2d-x中使用SQLlite数据库

SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了.它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl.C#.PHP.Java等,还有ODBC接口' 在Cocos2d-X中使用SQLlite数据库 首先下载SQLlite数据库,SQLlite数据库的下载地址:http://download.

Android遍历SqlLite cursor对象:

//1. Cursor c =...; for(c.moveToFirst(); ! c.isAfterLast(); c.moveToNext()){ //c… } //2. Cursor cursor=...l for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) { cursor.getString(cursor.getColumnIndex("Name")); cursor.getInt(c

SQLLite 简介

[1] SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了.它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl.C#.PHP.Java等,还有ODBC接口,同样比起Mysql.PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快.SQLite第一个Alpha版本

07_Android操作sqllite数据库(包括2中方式操作数据的方式),单元测试,BaseAdapter的使用,自定义view的综合使用案例

?? 1 目标从sqllite中读取数据并显示如下: MainActivity对应的界面 MainActivity2对应的界面 2  配置Android的清单文件 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.itheima2

sqllite小型数据库的使用

1.适用场景:免安装型数据库:数据量不大,本地化管理:不依赖其他第三方类库:2.具体使用方法:添加sqllite类库引用 数据库连接定义,数据库以文件形式存储在sqllitedb/solution.db路径下 <add key="SQLiteConnectionString" value="Data Source=sqllitedb/solution.db;Pooling=true;FailIfMissing=false"/> 复制代码 连接对象实例化

Android之SqlLite数据库使用

每个应用程序都要使用数据,Android应用程序也不例外,Android使用开源的.与操作系统无关的SQL数据库—SQLite.SQLite第一个Alpha版本诞生于2000年5月,它是一款轻量级数据库,它的设计目标是嵌入式的,占用资源非常的低,只需要几百K的内存就够了.SQLite已经被多种软件和产品使用,Mozilla FireFox就是使用SQLite来存储配置数据的,Android和iPhone都是使用SQLite来存储数据的. SQLite数据库是D.Richard Hipp用C语言编

SQLlite常用语句

SQlite(structrue query language,结构化查询语言)是一款轻量级的数据库,主要用于移动设备.弱类型数据库(虽然不写字段无错,但为了更好移植到企业级数据库建议写上)它是关系型的数据库.(存储的是对象的属性值),最新的数据库:对象型的数据库(数据库中可以存储对象) 下载官网:http://sqlite.org/download.html SQllite优点: 1)很小(数据库压缩包,200多k) 2)功能比较强大(拥有企业级数据库的功能) 3)自包含(在一些软件产品中集成

支持HTML5 SqlLite的AndroidApp

简介: 想要建立一个支持HTML5的Android App; 这个HTML5的程序需要使用本地存储,特别是sqllite; 用eclipse创建了一个app,这个app默认在res/layout建了两个描述界面的xml文件,一个调用另一个,下面的代码基于这种情况; package com.example.helloweb; import android.app.Activity; import android.app.ActionBar; import android.app.Fragment;

Maticsoft.DBUtility SQLlite的使用方式

在64位机器上使用Maticsoft.DBUtility数据库操作项目时,由于System.Data.SQLlite.DLL中的非托管代码无法编译成AnyCPU(非托管代码必须指定目标平台),在编译成X64的时候警告SQLlite的目标版本与项目目标版本不同,会在成运行时失败 特在此总结: 项目中若用不到SQLlite的操作可直接删掉SQLlite的辅助类文件 用到SQLlite并且出现警告或异常可采用以下两种方式解决 ★:在VS中将项目的目标平台更改为:x86 这样就可以在64和32位的系统上