Sqlite3总结

  SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。

sqlite语句

#sqlite3 test.db      //当前目录下建立或打开test.db数据库文件
sqlite>.database //查看数据库文件信息命令(注意命令前带字符'.')
sqlite>.schema //查看所有表的创建语句
sqlite>.schema table_name //查看指定表的创建语句
sqlite>.dump table_name //以sql语句的形式列出表内容
sqlite>.separator : //设置显示信息以‘:’分隔
sqlite>.mode column //默认为list,设置为column,其他模式可通过.help查看mode相关内容
sqlite>.help //输出帮助信息
sqlite>.width //设置宽度为2
sqlite>.show //列出当前显示格式的配置:

存储数据类型

NULL      //  标识一个NULL值
INTERGER // 整数类型
REAL // 浮点数
TEXT //字符串
BLOB //二进制数

约束条件

PRIMARY KEY    //  主键
NOT NULL - 非空: // 约束列记录不能为空,否则报错
CHECK - 条件检查: //约束该列的值必须符合条件才可存入
DEFAULT - 默认值: //列数据中的值基本都是一样的,这样的字段列可设为默认值

  1.主键的值必须唯一,用于标识每一条记录,如学生的学号
  2.主键同时也是一个索引,通过主键查找记录速度较快
  3.主键如果是整数类型,该列的值可以自动增长

常用指令

    --> 建立数据表

create table table_name(field1 type1, field2 type1, ...);

table_name是要创建数据表名称,fieldx是数据表内字段名称,typex则是字段类型。

例,建立一个简单的学生信息表,它包含学号与姓名等学生信息: create table student_info(stu_no interger primary key, name text);

    --> 添加数据记录

insert into table_name(field1, field2, ...) values(val1, val2, ...);

valx为需要存入字段的值。
例,往学生信息表添加数据: Insert into student_info(stu_no, name) values(0001, alex);

    --> 修改数据记录

update table_name set field1=val1, field2=val2 where expression;

where是sql语句中用于条件判断的命令,expression为判断表达式
例,修改学生信息表学号为0001的数据记录: update student_info set stu_no=0001, name=hence where stu_no=0001;

    --> 删除数据记录

delete from table_name [where expression];

不加判断条件则清空表所有数据记录。
例,删除学生信息表学号为0001的数据记录: delete from student_info where stu_no=0001;

    --> 查询数据记录

select columns from table_name [where expression];

例如:

a.查询输出所有数据记录
select * from table_name; b.限制输出数据记录数量
select * from table_name limit val; c.升序输出数据记录
select * from table_name order by field asc; d.降序输出数据记录
select * from table_name order by field desc; e.条件查询
select * from table_name where expression;
select * from table_name where field in ('val1', 'val2', 'val3');
select * from table_name where field between val1 and val2; f.查询记录数目
select count (*) from table_name; g.区分列数据
select distinct field from table_name;
有一些字段的值可能会重复出现,distinct去掉重复项,将列中各字段值单个列出。

    --> 建立索引

create index index_name on table_name(field);

当说数据表存在大量记录,索引有助于加快查找数据表速度。

例,针对学生表stu_no字段,建立一个索引: create index student_index on student_table(stu_no);
建立完成后,sqlite3在对该字段查询时,会自动使用该索引。

    --> 删除数据表或索引

drop table table_name;
drop index index_name;

数据库 --> sqlite3总结的更多相关文章

  1. iOS开发中的4种数据持久化方式【二、数据库 SQLite3、Core Data 的运用】

                   在上文,我们介绍了ios开发中的其中2种数据持久化方式:属性列表.归档解档.本节将继续介绍另外2种iOS持久化数据的方法:数据库 SQLite3.Core Data 的运 ...

  2. 数据库(SQLITE3函数总结): sqlite3_open, sqlite3_exec, slite3_close,sqlite3_prepare_v2,sqlite3_column_text,

    Sqlite3 的确非常好用.小巧.速度快.近期研究它,有一些收获,这里把我对 sqlite3 的研究列出来,以备忘记. 导入SQLLite library并引入头文件. libsqlite3.dyl ...

  3. Linux下用到数据库sqlite3

    最近在Linux下用到数据库sqlite3,于是开始了该方面的学习. 0. 引言 我们这篇文章主要讲述了如何在C/C++语言中调用 sqlite 的函数接口来实现对数据库的管理, 包括创建数据库.创建 ...

  4. beego的orm ,用的数据库sqlite3

    测试 beego的orm ,用的数据库sqlite3 1 package main import ( "fmt" "github.com/astaxie/beego/or ...

  5. Android中如何使用命令行查看内嵌数据库SQLite3

    转载博客:http://www.linuxidc.com/Linux/2011-06/37135.htm 在上图中,除了最后一个红色的方框,其它方框都是adb shell下的命令. [1]在Andro ...

  6. Python标准库14 数据库 (sqlite3)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Python自带一个轻量级的关系型数据库SQLite.这一数据库使用SQL语言.S ...

  7. 使用数据库sqlite3 C语言实现登陆注册的功能

    //此代码为注册功能 void create_regtable() { int rc; //rc为返回值,判断函数是否执行成功 rc=0函数执行成功,rc !=0函数执行失败 sqlite3 *db; ...

  8. Flask -- 使用数据库(Sqlite3)、用户注册、登录注销、修改密码

    # 使用sqlite数据库 import sqlite3from contextlib import closing app.config.update( DATABASE = 'my.db', #相 ...

  9. 对图片进行索引,存入数据库sqlite3中,实现快速搜索打开

    对图片进行索引,存入数据库中,实现快速搜索打开    这个任务分为两步: 第一步:建立索引 import os import shutil import sqlite3 # 扫描函数,需扫描路径目录处 ...

随机推荐

  1. HighCharts之2D堆柱状图

    HighCharts之2D堆柱状图 1.HighCharts之2D堆柱状图源码 Stacked.html: <!DOCTYPE html> <html> <head> ...

  2. Linux显示各栏位的标题信息列

    Linux显示各栏位的标题信息列 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ who -H 名称 线路 时间 备注 youhaidong :0 2015-0 ...

  3. JDBC连接池(三)DBCP连接池

    JDBC连接池(三)DBCP连接池 在前面的随笔中提到 了  1.JDBC自定义连接池  2. C3P0连接池 今天将介绍DBCP连接池 第一步要导入jar包   (注意:mysql和mysql 驱动 ...

  4. WPF基础篇之移动特效

    前一段时间,在做动画特效的时候,在网上看到了一个水平移动控件的例子.里面用到了RenderTransform特效.在网上查找资料发现了一篇基础的文章: 文章源地址:http://www.ithao12 ...

  5. Android破解学习之路(七)—— 乐秀视频编辑 内购破解 专业版 价值25元的破解

    按照之前的支付宝破解,搜索9000的十六进制,之后... 但是,这样测试的时候,没有破解成功,便是继续研究 搜索关键字支付失败,之后找到了指定的smali文件,观察了许久,发现里面有个switch跳转 ...

  6. (luogu P1383)高级打字机

    高级打字机 题目链接 https://www.luogu.org/problemnew/show/P1383 背景 无聊中.. 随便在luogu上rand到了一道题 从此走上不归路 主席树是我暑假的时 ...

  7. 【BZOJ3140】消毒(二分图匹配)

    [BZOJ3140]消毒(二分图匹配) 题面 Description 最近在生物实验室工作的小T遇到了大麻烦. 由于实验室最近升级的缘故,他的分格实验皿是一个长方体,其尺寸为abc,a.b.c 均为正 ...

  8. POJ - 2828

    题意 输入队伍长度n 接下来n行,a,b 表示b插在队伍的a处 求队伍最后的情况 题解 刚开始并不知道要用线段树,经大佬点悟,发现最后插入的位置就是对应的a.所以可以从后往前依次插入,每次的位置pos ...

  9. 搬瓦工搭建SS的教程

    前言 作者写在前面的话: 应同学的要求在此分享搬瓦工搭建SS的教程,此教程只作为学习之用,因某些原因本教程不适合长期使用,在大家学习之后请删除所做的操作,谢谢. 为方便以后查看,请及时收藏:GitHu ...

  10. 推荐一款有趣的APP-种子习惯

    在女朋友的影响下接触到了种子习惯的app,一开始不觉得它有多大魅力,只知道它有契约的功能,有很多人分享自己的习惯,记录生活中的点滴. 毕业回家的寒假,家里比较冷,每天起床都需要莫大的勇气,挣扎半天最终 ...