SQLite基本语法

命令行操作SQLite

创建一张表

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

create table info(id int,name varchar(20));

增:

insert into 表名 values(要添加的值…);

当添加的字段的数据类型是int类型,直接写值

如果添加的字段类型是varchar类型和日期类型,使用单引号把值包起来

insert into info values(1,‘zhangsan‘,‘110‘);

insert into test (name) values(‘lisi‘);

插入记录的时候可以在表名的后面加上(列名 ) 可以向指定的列中插入数据

改:

update 表名 set 字段名1 = 值1 , 字段名2 = 值2 where 条件;

update info set phone=‘12345‘ where name=‘zhangsan‘;

删:

delete from 表名 where 条件 如果没有where条件 删除表中的所有数据

delete from info where id > 1;

delete from info; 删除表中的所有数据

查:

select 字段名 (*) as别名  from 表名 where 条件

select * from info; 查询所有字段的内容

select name,phone from info where id = 1;

去除表中重复记录(只会影响查询的结果 不会修改表中的记录)

select distinct * from 表名;

select distinct name from info; 只显示名字 去除重复的记录

部分查询 : desc 降序 limit 查询的个数,offset 坐标

select number,mode from info order by _id desc  limit ? offset?

读取通讯录联系人,两个表嵌套

select location from Data1 where id=(select outkey from Data2 where num=1)

db.execSQL("create table info (_id integer primary key autoincreament,name varchar[20] ,phone varchar [20] )"  )

db.execSQL("alter table info add age integer " ) 插入某列

5使用sql对数据库进行操作

创建数据库

create database 数据库名字;

显示所有数据库

show databases;

使用某个数据库

use 数据库的名字;

查看当前使用的数据库是哪一个

select database();

删除数据库

drop database 数据库名字;

6 使用sql对表进行操作

创建一张表

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

create table info(id int,name varchar(20));

查看表结构

desc 表名字;

desc info;

查看当前数据库有哪些表

show tables;

删除表

drop table 表名;

drop table info;

修改表结构 添加一列

alter table 表名 add 字段名字 字段类型;

alter table info add phone varchar(20);

sql支持的数据类型

字符串型

VARCHAR 可变长度的字符串  varchar(20) 13888888888; 在申请的空间范围内 用多少分配多少

CHAR  char(20);

大数据类型

BLOB

TEXT 比较大的文本

数值型

TINYINT   byte

SMALLINT short

INT    int

BIGINT long

FLOAT float

DOUBLE double

逻辑性

BIT  boolean

日期型

DATE 日期

TIME   时间

DATETIME 日期和时间

TIMESTAMP 时间戳

7使用sql对表中的记录进行操作 CRUD   ☆☆☆☆☆ ☆☆☆☆☆

1.插入记录

insert into 表名 values(要添加的值…);

当添加的字段的数据类型是int类型,直接写值

如果添加的字段类型是varchar类型和日期类型,使用单引号把值包起来

insert into info values(1,‘zhangsan‘,‘110‘);

insert into test (name) values(‘lisi‘);

插入记录的时候可以在表名的后面加上(列名 ) 可以向指定的列中插入数据

2.修改记录

update 表名 set 字段名1 = 值1 , 字段名2 = 值2 where 条件;

update info set phone=‘12345‘ where name=‘zhangsan‘;

3.删除记录

delete from 表名 where 条件 如果没有where条件 删除表中的所有数据

delete from info where id = 1;

delete from info; 删除表中的所有数据

4.查询记录

select 字段名 (*) as别名  from 表名 where 条件

select * from info; 查询所有字段的内容

select name,phone from info where id = 1;

5.去除表中重复记录(只会影响查询的结果 不会修改表中的记录)

select distinct * from 表名;

select distinct name from info; 只显示名字 去除重复的记录

6.MySQL的约束

a.非空约束  not  null

* 表示数据不能为空

b.唯一性约束  unique

* 表中的记录不能重复的

c.主键约束  primary key

* 表示非空,唯一性

d 自动增长 auto_increment

create table test(id int primary key auto_increment,name varchar(20));

8where条件的使用

.where子句使用

a. 运算符 <, >,  >=,  <=

b. in 在范围内

select * from student where Android in (70,90);   注意in不是指定起始和结束的范围 而是在()中的数据中做选择

如果想指定起始和结束的范围要使用and 条件

c. and  条件同时满足

select * from student where Android>=70 and Android<=90;

d. like 模糊查询

% 表示占位符(通配符) %替换若干文字

select * from student where name like ‘%zha%‘;

//查询表中名字里含有zha的记录

排序

order by 字段名 asc   升序

order by 字段名 desc 降序

默认升序的 如果想降序 需要加上desc

select * from student order by English;

9聚合函数,分组查询&limit关键字

1.count()函数

select count(*) from ...where....

2.sum()函数

select sum(要进行求和字段) from ...where....

3. avg()函数

select avg(要计算平均数的字段名称) from …

4. max()函数

select max(字段) from...

5. min()函数

select min(字段) from...

分组查询 group by

select name,sum(price) from orders group by name;

按照名字进行分组 查询每种商品的总价格

分组查询如果加上条件不能使用where 而要使用having

select name,sum(price) from orders group by name having sum(price)>5000;

limit

select * from orders limit 2; 从第一条开始显示 显示2条

select * from orders limit 2,3; 从第2+1条开始显示 显示3条记录;

通过limit关键字 可以实现数据的分页查询(只查询一部分数据)

时间: 2024-08-11 17:11:54

SQLite基本语法的相关文章

【SQLite】 语法

一 . 创建数据库 1. 只需创建数据库,只需创建文件,操作时将连接字符串指向该文件即可 2. 连接字符串 : data source = FilePath; 不能加密所以没有密码 二 . 创建表 1. 语法 : CREATE TABLE TableName(str TEXT,pic BLOB,int INTEGER) 2. 字段类型 : 可以忽略类型,你把所有类型设为 TEXT 都没问题,但为了方便使用和阅读,建议设置对应类型(图片,二进制 BLOB), 不然读取数据时转换可能会出问题 三 .

sqlite常用语法 增删 修改 例子

1 例子:有个学生类数据库studentDb.sqlite,使用sqlite进行增减修改操作 2 一般时候想要操作数据库,需要先建立连接.我先新建一个Db类作为数据连接类(Db*) 3 在做以前一定要先导入libsqlite3.dylib框架 拽进studentDb.sqlite文件 4 *********Db.h 5 #import 6 #import //导入数据库文件 7 @interface Db : NSObject 8 +(sqlite3*)openDb;//声明打开数据库方法声明

sqlite常用语法详细介绍

1.SQL语句的预编译:将语句转为数据流,执行语句前检查语句的语法,但不能知道语句是否能查出结果.此方法有返回值 预编译成功则返回SQLITE_OK----0否则返回SQLITE_ERROR----1int sqlite3_prepare_v2(  sqlite3 *db,                 //指向数据库的指针  const char *zSql,         //SQL语句  int nByte,                   //SQL语句的长度 (一般用-1,系统

sqlite基础语法

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

SQLite数据库的体系结构(翻译自sqlite.org)

$1 简介    本文档描述了SQLite库的体系结构,这些信息对那些想理解和修改SQLite的内部工作机制的人是有用的.    下图显示了SQLite的主要组成部件及其相互关系,下面的内容将描述每一个部件.(具体的图参见http://www.sqlite.org/arch2.gif) 本文档描述SQLite 3.0版本,2.8版或更早期的版本与此相似,只是细节上有所不同.$2 接口    虽然有些函数分布在其它的文件中,但是主要的SQLite库的公用接口函数是在main.c,legacy.c和

SQLite内核研究

先从全局的角度把握SQLite内核各个模块的设计和功能.SQLite采用了层次化.模块化的设计,而这些使得它的可扩展性和可移植性非常强.而且SQLite的架构与通用DBMS的结构差别不是很大,所以它对于理解通用DBMS具有重要意义.SQLite的内核总的来说分为三个部分,虚拟机(Virtual Machine).Back-end(后端)和compiler(编译器). 1.虚拟机(Virtual Machine)VDBE是SQLite的核心,它的上层模块和下层模块都是本质上都是为它服务的.它的实现

SQLite数据库的简单应用;

一.SQLite语句: 在活动中的实例: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //打开或创建test.db数据库 SQLiteDatabase db = openOrCreateDatabase("test.db", Context.MODE_PRIVATE, null); db.execSQL("DROP TABL

Neutron数据库同步错误 NotImplementedError: No support for ALTER of constraints in SQLite dialect

错误信息 [email protected]:~# su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf \ --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade juno" neutron INFO [alembic.migration] Context impl SQLiteImpl. INFO [alembic.mig

sqlite第三方类库:FMDB使用(转载)

本文转自一位台湾ios开发者的blog,由于blog地址被墙掉,转发过来,供大家参考原文地址:https://github.com/ccgus/fmdb更多的使用,大家可以看看source中的README.markdown 首先到这裡下载FMDB的source code,接著在解开的档案裡,把src资料夹下除了fmdb.m的档案加入到自己的iOS专案,最后在专案中加入libsqlite3.dylib这个函式库就可以了.啥?有人问為什麼不用加入fmdb.m?简单讲,这个档案是fmdb的使用说明.裡