(1)sqlite基础
一、安装sqlite
下载页面:http://www.sqlite.org/download.html
1.下载 sqlite-tools-win32-*.zip 和 sqlite-dll-win32-*.zip 压缩文件
2.创建文件夹 C:\sqlite,并在此文件夹下解压上面两个压缩文件,将得到 sqlite3.def、sqlite3.dll 和 sqlite3.exe 文件
3.添加 C:\sqlite 到 PATH 环境变量
4.在命令行输入sqlite3
二、常用命令
1. 帮助指令
sqlite>.help
2.使用 .show 命令,来查看 SQLite 命令提示符的默认设置
sqlite>.show
echo: off
explain: off
headers: off
mode: column
nullvalue: ""
output: stdout
separator: "|"
width:
sqlite>
3.退出shell
sqlite>.quit
三、语法
1.大小写敏感性
大多数不区分大小写
2.注释
-- 或者 /* */
四、常用数据类型
1.NULL
2.INTEGER
值是一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中
3.REAL
值是一个浮点值,存储为 8 字节的 IEEE 浮点数字
4.TEXT
值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储
5.BLOB
值是一个 blob 数据,完全根据它的输入存储
五、创建数据库
1.创建数据库/进入数据库
在命令行下直接输入(注意不是进到sqlite3的shell里),如果存在则是进入数据库
sqlite3.exe testDb.db
2.查看当前数据库名
sqlite>.databases
3.备份数据库
sqlite3.exe pda.db .dump> testDb.sql
4.恢复数据库
sqlite3.exe pda.db < testDb.sql
5.附加数据库
6.分离数据库
六、创建表
1.
sqlite> CREATE TABLE COMPANY(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
2.查看当前表名
sqlite>.tables
3.删除表
sqlite>DROP TABLE COMPANY;
4.插入数据
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (1, 'Paul', 32, 'California', 20000.00 ); INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (2, 'Allen', 25, 'Texas', 15000.00 ); INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );
5.查看数据
sqlite>.header on --显示的时候会在顶部显示列的名称 sqlite>.mode column --显示的列会对齐 sqlite> SELECT * FROM COMPANY;
设置字段显示宽度
sqlite>.width 10, 20, 10 --第一字段10,第二字段20....
七、运算符、表达式
算术运算符、比较运算符、逻辑运算符 --暂略
八、当前时间
sqlite> SELECT CURRENT_TIMESTAMP;
CURRENT_TIMESTAMP = 2013-03-17 10:43:35
九、更新
sqlite> UPDATE COMPANY SET ADDRESS = 'Texas' WHERE ID = 3;
十、删除
sqlite> DELETE FROM COMPANY WHERE ID = 1;
清空表
sqlite> DELETE FROM COMPANY;
十一、通配符
星号(*)代表零个、一个或多个数字或字符。问号(?)代表一个单一的数字或字符。这些符号可以被组合使用
SELECT FROM table_name WHERE column GLOB '*XXXX*'
SELECT FROM table_name WHERE column GLOB '????'
十二、返回行数数量
限制返回行数的数量
sqlite> SELECT * FROM COMPANY LIMIT 2;
十三、排序
asc 正序 desc 倒序
sqlite> SELECT * FROM COMPANY ORDER BY NAME DESC, SALARY ASC;
十四、分组
sqlite> SELECT NAME, SUM(SALARY) FROM COMPANY GROUP BY NAME ORDER BY NAME DESC;
十五、筛选
出现过两次以上名字的所有数据
sqlite > SELECT * FROM COMPANY GROUP BY name HAVING count(name) > 2;
十六、排重
sqlite> SELECT DISTINCT name FROM COMPANY;
(1)sqlite基础的更多相关文章
- SQLite基础教程目录
SQLite基础教程目录 SQLite主页 SQLite概述 SQLite -安装 SQLite -命令 SQLite -语法 SQLite -数据类型 SQLite -创建数据库 SQLite -附 ...
- Sqlite基础及其与SQLServer语法差异
1 TOP 这是一个大家经常问到的问题,例如在SQLSERVER中可以使用如下语句来取得记录集中的前十条记录: SELECT TOP 10 * FROM [index] ORDER BY indexi ...
- SQLite基础回顾
SQLite基础回顾 SQLite iOS中的数据存储方式 Plist(NSArray\NSDictionary) Preference(偏好设置\NSUserDefaults) NSCoding(N ...
- sqlite基础
常用命令 sqlite3提供的特殊命令, 以.开头: .help: 帮助 .databases: 列出数据库 .tables: 列出表名 .open dbname: 打开数据库 .save dbnam ...
- Android学习之SQLite基础
1.新建MySQLiteHelper类继承自SQLiteOpenHelper public class MySQLiteHelper extends SQLiteOpenHelper { privat ...
- Sqlite基础简介
1.什么是SQLite ? -> SQLite简介 SQLite 是一个进程内的库,是一种轻量级的.自给自足的.无服务器的.无需配置的,事务性的SQL数据库引擎.和他其他的数据库一样,SQLit ...
- SQLite基础学习
SQLite是一款轻量级数据库,集成于android中,以下从分享一下自己学习的. 在查阅资料时有一些好的说明就直接用了: 主要的curd语句 以下SQL语句获取5条记录,跳过前面3条记录 selec ...
- SQLite基础-1.SQL简介
目录 一.SQLite简介 二.SQLite命令 三.SQLite安装 在 Windows 上安装 SQLite 四.SQLite 点命令 一.SQLite简介 最近在使用Python+Flask框架 ...
- SQLite基础-7.子句(一)
目录 SQLite子句(一) 1. WHERE子句 2. LIKE子句 3. GLOB 子句 4. Oreder By 子句 SQLite子句(一) 1. WHERE子句 WHERE 子句后面跟着条件 ...
随机推荐
- 【php】命名空间的影响
命名空间对代码的影响 类(包含抽象类和traits) 接口 常量 函数
- 【php】【趣味代码】对象引用的比较
<?php $a = new stdClass(); $a->name = 'flint'; $b = $a ; $b->sex = 'man'; saveObject($b); f ...
- 【mac】【转发】Mac系统升级后,按大小写键没反应了,切换大小写的灯不亮了
Mac系统升级后发现caps lock 锁定大小写的键,失灵了,居然可以用来切换输入法了,经过一排查后, 使用以下几种方法处理: 方式一:长按 caps lock 键,来切换大小写 方式二:caps ...
- memcache 协议 && Golang实现
https://github.com/quguolin/memcache 一:Error ERROR\r\n 客户端发送了一个不存在的命令 CLIENT_ERROR\r\n 客户端发送了一个不符合协议 ...
- HDU - 5884 Sort (二分答案+贪心)
有n个数字,你需要把这n个数字合成一个数字,每次只能把k个数字合并成一个,花费为这k个数字的和. 给一个最大花费,问不超过这个最大花费的情况下,k的最小值. Sample Input 1 5 25 1 ...
- HDU 5510 Bazinga KMP
题意: 给\(n(1 \leq n \leq 500)\)个字符串,求一个最大的\(i\),使得存在一个\(S_{j}\)不是\(S_i\)的子串. 分析: 维护两个指针\(l,r\) 那么有两种情况 ...
- 深入Python底层,谈谈内存管理机制
说到内存管理,就先说一下垃圾回收吧.垃圾回收是Python,Java等语言管理内存的一种方式,说的直白些,就是清除无用的垃圾对象.C语言及C++中,需要通过malloc来进行内存的申请,通过free而 ...
- Go语言学习03
Go语言-数组类型 一个数组(Array)就是一个可以容纳若干类型相同的元素的容器.这个容器的大小(即数组的长度)是固定的,且是体现在数组的类型字面量之中的.比如,我们声明了一个数组类型: type ...
- Freemarker的循环通过assign指令引入计数变量
这里是一个jeecms框架的前台的一个内容列表集,因为不是每个内容子项符合要求,而且需要统计符合要求的子项个数,仿照java的for循环,需要在循环前声明一个计数变量,这就需要使用Freemaker的 ...
- loj2032 「SDOI2016」游戏
做了 [JSOI2008]Blue Mary开公司 以后发现这 tm 不就是个傻逼树剖+李超线段树吗,做了以后发现我才是傻逼--树剖竟然写错了--这题是我目前写过最长的代码了qwq #include ...