SQLite3学习笔记(1)
命令:
DDL-数据定义:
CREATE -- 创建一个新的表,一个表的视图,或者数据库中的其他对象
ALTER -- 修改数据库中的某个已有的数据对象,比如一个表
DROP -- 删除整个表,或者表的视图,或者数据库中的其他对象
DML - 数据操作:
INSERT -- 创建一条记录
UPDATE -- 修改记录
DELETE -- 删除记录
DQL - 数据查询:
SELECT -- 从一个或多个表中检索某些记录
可以使用 . help 命令来获取各种重要的SQLite 点命令的列表;
可以使用 .show 命令来获取SQLite命令提示符的默认设置;
sqlite> .show
echo: off
eqp: off
explain: auto
headers: off
mode: list
nullvalue: ""
output: stdout
colseparator: "|"
rowseparator: "\n"
stats: off
width:
filename: :memory:
.show
也可以使用属性的方法改变设置
sqlite>.header on
sqlite>.mode column
sqlite>.timer on
SQLite 存储类:
NULL | 值是一个 NULL 值 |
INTEGER | 值是一个带符号的整数根据值的大小,存储在 1、2、3、4、6 或 8 字节中。 |
REAL | 值是一个浮点值,存储为 8 字节的 IEEE 浮点数字。 |
TEXT | 值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储。 |
BLOB |
值是一个 blob 数据,完全根据它的输入存储。 |
使用命令 sqlite3 testDB.db 来创建一个新的数据库
E:\SQLite3>sqlite3 testDB.db
SQLite version 3.25.0 2018-09-15 04:01:47
Enter ".help" for usage hints.
一旦数据库被创建,就可以使用 .databases 命令来查看它是否在数据库列表中
sqlite> .databases
main: E:\SQLite3\testDB.db
可以使用 .quit 命令退出 sqlite提示符
sqlite> .quit E:\SQLite3>
可以在命令行中使用 SQLite.dump 点命令来导出完整的数据库在一个文本文件中
E:\SQLite3>sqlite3 testDB.db .dump > testDB.sql
上面的命令将转换整个 testDB.db 数据库的内容到 SQLite 的语句中,并将其转储到 testDB.sql 中。你可以通过简单的方式从生产的testDB.db 恢复
E:\SQLite3>sqlite3 testDB.db < testDB.sql
此时的数据库是空的,一旦数据库中有表和数据,可以进行尝试。
如果想要附加一个现有的数据库 testDB.db ,则 ATTACH DATABASE 语句将如下所示
sqlite> ATTACH DATABASE 'testDB.db' as 'TEST';
使用 .database 命令来显示附加的数据库
sqlite> .database
main:
TEST: E:\SQLite3\testDB.db
数据库名称 main 和temp 被保留用于主数据库和存储临时表及其它临时数据对象的数据库。这两个数据库名称可以用于每个数据库连接,且不应该被用于附加,否则将得到一个警告消息。
SQLite的 DETACH DTABASE 语句是用来把命名数据库从一个数据库连接分离和游离出来,连接是之前使用 ATTACH 语句附加的。如果同一个数据库文件已经被附加上多个别名,DETACH 命令将只断开给定名称的连接,而其余的仍然有效。您无法分离 main 或 temp 数据库。
如果数据库是在内存中或者是临时数据库,则该数据库将被摧毁,且内容将会丢失。
SQLite 的 DETACH DATABASE 的基本语句的基本语法如下:
DETACH DATABASE 'Alias-Name';
假设已经创建一个数据库并给他附加了‘TEST’ 和 ‘XING',使用.database 命令,我们可以看到如下:
main:
TEST: E:\SQLite3\testDB.db
XING: E:\SQLite3\testDB.db
现在尝试把'XING' 从 testDB.db 中分离出来,如下:
sqlite> DETACH DATABASE 'XING';
如果现在再次检查,会发现testDB.db 任与 main 保持连接
sqlite> .database
main:
TEST: E:\SQLite3\testDB.db
SQLite3学习笔记(1)的更多相关文章
- SQLite3学习笔记----创建数据库的两种方式
今天研究学习SQLite,刚开始创建数据库,就遇到了一个坑,是自己粗心了,特记录一下. 实验环境: OS:Ubuntu18.04 创建数据库名称:test.db 实验步骤: 1.检查是否已经安装了SQ ...
- SQLite3 学习笔记
1.数据存储方式 Plist(NSArray\NSDictionary) Preference(偏好设置\NSUserDefaults) NSCoding(NSKeyedArchiver\NSkeye ...
- python sqlite3学习笔记
1.sqlite3.connect()参数说明 self.connect = sqlite3.connect(db_name,timeout=3,isolation_level=None,check_ ...
- SQLite3学习笔记(3)
SQLite 表达式 表达式是一个或多个值.运算符和计算值的 SQL函数的组合. SQL表达式与公式类似,都写在查询语言中.您还可以使用特定的数据集来查询数据库. SELECT语句的基本语法如下: S ...
- SQLite3学习笔记(2)
SQLite 创建表 SQLite 的CREATE TABLE 语句用于在任何指定的数据库创建一个新表. 创建新表,涉及到命名表.定义列及每一行的数据类型. CREATE TABLE 的基本语法如 ...
- 树莓派学习笔记——交叉编译练习之SQLite3安装
0.前言 本博文可能并没有太多使用价值.不过为了练习而练习.在树莓派上使用SQLite有非常多的方法,安装的方法也有非常多. [1]假设使用Python,那么不必安装SQLite由于P ...
- Django 学习笔记之四 QuerySet常用方法
QuerySet是一个可遍历结构,它本质上是一个给定的模型的对象列表,是有序的. 1.建立模型: 2.数据文件(test.txt) 3.文件数据入库(默认的sqlite3) 入库之前执行 数据库同步命 ...
- Django 学习笔记之三 数据库输入数据
假设建立了django_blog项目,建立blog的app ,在models.py里面增加了Blog类,同步数据库,并且建立了对应的表.具体的参照Django 学习笔记之二的相关命令. 那么这篇主要介 ...
- Django学习笔记(三)—— 型号 model
疯狂暑期学习 Django学习笔记(三)-- 型号 model 參考:<The Django Book> 第5章 1.setting.py 配置 DATABASES = { 'defaul ...
随机推荐
- ffmpeg 使用 gdb 调试相关技巧
本文说明了,在ffmpeg二次开发或调用库的过程,如何借助于ffmpeg源码进行调试. 注:ffmpeg版本是4.0. 1. 编写代码 编写将pcm数据转换为mp2的代码 pcm_to_mp2.c # ...
- javascript语法 1.运算符 2. 流程控制 3. 函数 4. 四种变量 5. 数据类型的运用 6. js页面交互
1.运算符 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <tit ...
- STL标准模板库之set
目录 一.关联式容器 二.什么是set? 特点 优缺点和适用场景: 三.定义及初始化 四.基本操作 1)容量函数 2)修改函数 3)迭代器 4)其他函数 五.与序列容器的不同点 一.关联式容器 关联式 ...
- HOG算法总结
1.HOG特征提取所针对的图像的尺寸是固定的.输入的图像应首先resize到这个尺寸. 2.尺寸的划分3个等级:window,block,cell window即输入的需要提取特征的图片大小.然后将w ...
- 最新 竞技世界java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.竞技世界等10家互联网公司的校招Offer,因为某些自身原因最终选择了竞技世界.6.7月主要是做系统复习.项目复盘.Leet ...
- eNSP——配置Trunk接口
原理: 在以太网中,通过划分 VLAN 来隔离广播域和增强网络通信的安全性.以太网通常由多台交换机组成,为了使 VLAN 的数据帧跨越多台交换机传递,交换机之间互连的链路需要设置为干道链路( Trun ...
- 六扇门团队作业 ——《DorMi宿舍管理系统需求分析》
团队作业 --<需求分析> 一.格式描述 这个作业属于哪个课程 <课程的链接> 这个作业要求在哪里 <作业要求的链接> 团队名称 六扇门 这个作业的目标 通过对用户 ...
- POJ 3613 Cow Relays【k边最短路】
题目链接:http://poj.org/problem?id=3613 题目大意: 给出n头牛,t条有向边,起点以及终点,限制每头牛放在一个点上,(一个点上可以放多头牛),从起点开始进行接力跑到终点, ...
- HDU6739 Invoker 【dp】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6739 借鉴了这个网址的题解:https://blog.csdn.net/qq_41785863/art ...
- uva 1400 "Ray, Pass me the dishes!" (区间合并 最大子段和+输出左右边界)
题目链接:https://vjudge.net/problem/UVA-1400 题意:给一串序列,求最大子段,如果有多个,输出字典序最小的那个的左右端点 思路: 之前写过类似的,这个麻烦点需要输出左 ...