数据库 --> sqlite3总结
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总结的更多相关文章
- iOS开发中的4种数据持久化方式【二、数据库 SQLite3、Core Data 的运用】
在上文,我们介绍了ios开发中的其中2种数据持久化方式:属性列表.归档解档.本节将继续介绍另外2种iOS持久化数据的方法:数据库 SQLite3.Core Data 的运 ...
- 数据库(SQLITE3函数总结): sqlite3_open, sqlite3_exec, slite3_close,sqlite3_prepare_v2,sqlite3_column_text,
Sqlite3 的确非常好用.小巧.速度快.近期研究它,有一些收获,这里把我对 sqlite3 的研究列出来,以备忘记. 导入SQLLite library并引入头文件. libsqlite3.dyl ...
- Linux下用到数据库sqlite3
最近在Linux下用到数据库sqlite3,于是开始了该方面的学习. 0. 引言 我们这篇文章主要讲述了如何在C/C++语言中调用 sqlite 的函数接口来实现对数据库的管理, 包括创建数据库.创建 ...
- beego的orm ,用的数据库sqlite3
测试 beego的orm ,用的数据库sqlite3 1 package main import ( "fmt" "github.com/astaxie/beego/or ...
- Android中如何使用命令行查看内嵌数据库SQLite3
转载博客:http://www.linuxidc.com/Linux/2011-06/37135.htm 在上图中,除了最后一个红色的方框,其它方框都是adb shell下的命令. [1]在Andro ...
- Python标准库14 数据库 (sqlite3)
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Python自带一个轻量级的关系型数据库SQLite.这一数据库使用SQL语言.S ...
- 使用数据库sqlite3 C语言实现登陆注册的功能
//此代码为注册功能 void create_regtable() { int rc; //rc为返回值,判断函数是否执行成功 rc=0函数执行成功,rc !=0函数执行失败 sqlite3 *db; ...
- Flask -- 使用数据库(Sqlite3)、用户注册、登录注销、修改密码
# 使用sqlite数据库 import sqlite3from contextlib import closing app.config.update( DATABASE = 'my.db', #相 ...
- 对图片进行索引,存入数据库sqlite3中,实现快速搜索打开
对图片进行索引,存入数据库中,实现快速搜索打开 这个任务分为两步: 第一步:建立索引 import os import shutil import sqlite3 # 扫描函数,需扫描路径目录处 ...
随机推荐
- linux 更改用户的默认shell
由于卸载了zsh.导致用户的bash没有更新 用户无法登录.后来通过grup更改.修改/etc/passwd中的用户的shell成功 将下面的红色的更改成bash即可. root:x:::root:/ ...
- Excel 2010高级应用-饼图(四)
Excel 2010高级应用-饼图(四) 基本操作如下: 1.新建空白文档,并命名饼图 2.单击"插入",找到饼图样例图 3.选择其中一种饼图图例,单击并在空白文档上生成饼图图框 ...
- Unhandled event loop exception GC overhead limit exceeded
1.错误描述 java.lang.OutOfMemoryError: GC overhead limit exceeded at java.util.zip.ZipFile.<init>( ...
- JSP常见的三个编译指令
JSP常见的三个编译指令 1.page指令 是针对当前页面的指令 2.include指令 用于指定包含另一个页面 3.taglib指令 用于定义和访问自定义标签
- RHEL64 缺少ISO 9660图像 安装程序试图挂载映像#1,在硬盘上无法找到该映像
用光盘安装Linux,很容易,按照提示一步一步就好.如果没有光驱,只好想办法用硬盘或者U盘安装了. 首先说说怎样用U盘启动Linux的安装程序:1.将ISO镜像文件拷贝到U盘中,并解压到U盘根目录.将 ...
- Docker 小记 — Compose & Swarm
前言 任何相对完整的应用服务都不可能是由单一的程序来完成支持,计划使用 Docker 来部署的服务更是如此.大型服务需要进行拆分,形成微服务集群方能增强其稳定性和可维护性.本篇随笔将对 Docker ...
- Readis For Windows安装及密码、IP限制
一.下载与安装Readis Github下载地址:https://github.com/MicrosoftArchive/redis/tags 下载.MSI后下一步安装即可 二.验证安装 1. 在&q ...
- [APIO2009]会议中心
[APIO2009]会议中心 题目大意: 原网址与样例戳我! 给定n个区间,询问以下问题: 1.最多能够选择多少个不相交的区间? 2.在第一问的基础上,输出字典序最小的方案. 数据范围:\(n \le ...
- 【BZOJ1415】【NOI2005】聪聪和可可(动态规划,数学期望)
[BZOJ1415][NOI2005]聪聪和可可(动态规划,数学期望) 题面 BZOJ 题解 先预处理出当可可在某个点,聪聪在某个点时 聪聪会往哪里走 然后记忆化搜索一下就好了 #include< ...
- Bzoj4237:稻草人
题面 传送门 Sol \(CDQ\)分治 先对\(x\)排序,对\(y\)在\(CDQ\)分治是从大到小排序 从大到小加入,右边用单调栈维护\(x\)递增,\(y\)递减的序列 左边就是找到\(x\) ...