学习SQLite之路(一)
工作快一年了,接触的东西不是很多,学到的东西也不多。无意中看到公司的代码有一点关于sqlite3的(不是我这一层负责的代码),于是乎就学学试试。
参考: http://www.runoob.com/sqlite/sqlite-tutorial.html
20160612 更新
1,什么是SQLite?
SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库。
2.SQLite的优势
不需要一个单独的服务器进程或操作的系统(无服务器的)。
SQLite 不需要配置,这意味着不需要安装或管理。
一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件。
SQLite 是非常小的,是轻量级的,完全配置时小于 400KiB,省略可选功能配置时小于250KiB。
SQLite 是自给自足的,这意味着不需要任何外部的依赖。
SQLite 事务是完全兼容 ACID 的,允许从多个进程或线程安全访问。
SQLite 支持 SQL92(SQL2)标准的大多数查询语言的功能。
SQLite 使用 ANSI-C 编写的,并提供了简单和易于使用的 API。
SQLite 可在 UNIX(Linux, Mac OS-X, Android, iOS)和 Windows(Win32, WinCE, WinRT)中运行
3.SQLite命令: 跟其他数据库语言一样
(1)DDL(数据定义语言): create drop alter
(2)DML(数据操纵语言): delete update insert
(3)DQL(数据查询语言): select
4.SQLite的安装
在windows里不需要安装,在http://www.sqlite.org/download.html 这里下载 sqlite-tools-win32-x86-3130000.zip 这个东西。
我以我的为例:
在F盘创建一个文件夹sqlite3,将下载的文件解压,会有三个文件(sqlite3.exe sqldiff.exe sqlite3_analyzer.exe),直接放在sqlite3目录下就可以了。
运行: 运行cmd.exe 然后切换到F盘的sqlite3文件夹。就可以直接运行了。
20160614 更新
1.SQLite命令:我们在命令提示符下键入一个简单的 sqlite3 命令,在 SQLite 命令提示符下,您可以使用各种 SQLite 命令。
就像这样:
2.需获取可用的点命令的清单,可以在任何时候输入 ".help",再回车就可以。
3.查看 SQLite 命令提示符的默认设置: .show
还可以进行设置:就像下面这样(具体可以参考: http://blog.csdn.net/wirelessqa/article/details/21030147 )
4.先说一个命令:
.read ***(一个数据文件)
比如说我在sqlite3目录下新建一个文档: create_company.txt
里面的内容是:
drop table company; -- 删除表
create table company( -- 创建表 这个表示单行注释
ID int primary key not NULL, /* 这个是多行注释 */
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
然后:.read create_company.txt /* 就相当于直接运行了create_company.txt里面的语句 */
5. SQLite语法:SQLite 是遵循一套独特的称为语法的规则和准则
(具体后面用到时再分析)
6. SQLite数据类型:数据类型是一个用来指定任何对象的数据类型的属性
可以在创建表的同时使用这些数据类型。SQLite 使用一个更普遍的动态类型系统。在 SQLite 中,值的数据类型与值本身是相关的,而不是与它的容器相关。
(1)SQLite存储类:主要有以下几种,冒号后面是解释
NULL: 一个NULL值
INTEGER: 一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中
REAL:浮点数,存储为8字节的IEEE浮点数字
TEXT:文本字符串,使用数据库编码(UTF-8、UTF-16BE等)存储
GLOB:blob数据,完全根据它的输入存储(这个我也不是很理解)
(2)布尔数据类型: 没有专门的布尔数据,只有0和1
7. 创建数据库:
(1)基本语法如下: sqlite>sqlite3 testDB.db
(2).dump 命令:导出完整的数据库在一个文本文件中
如:sqlite> testDB,db .dump > testDB,sql /* 将转换整个 testDB.db 数据库的内容到 SQLite 的语句中,并将其转储到 ASCII 文本文件 testDB.sql 中 */
恢复: sqlite> testDB,db < testDB,sql /* 从生成的 testDB.sql 恢复 */
学习SQLite之路(一)的更多相关文章
- 学习SQLite之路(五) C/C++ SQLite开发实例
介绍一种乌班图中使用sqlite的用法,非常简单,下面的例子是在乌班图12.04中实现的: 1,先安装两个东西: sudo apt-get install sqlite sqlite3 sudo ap ...
- 学习SQLite之路(四)
20160621 更新 参考: http://www.runoob.com/sqlite/sqlite-tutorial.html 1. SQLite alter命令:不通过执行一个完整的转储和数 ...
- 学习SQLite之路(三)
20160616更新 参考: http://www.runoob.com/sqlite/sqlite-tutorial.html 1. SQLite PRAGMA:可以用在 SQLite 环境内控制 ...
- 学习SQLite之路(二)
下面就是真正关于数据库的一些知识了: 20160614更新 参考: http://www.runoob.com/sqlite/sqlite-tutorial.html 1. SQLite创建表: 基本 ...
- [转载]AxureRP学习成长之路
[编者按]本文作者@朱军华Ronzhu , 本文借用官网的描述定义,介绍了在学习AxureRP过程当中所要经历的各个阶段,也结合了作者自身学习AxureRP使用的经验,讲一下在各个阶段中的一些学习方法 ...
- 一个小时内学习SQLite数据库
一个小时内学习SQLite数据库 2012-05-11 10:24 红薯 OSCHINA 字号:T | T SQLite 是一个开源的嵌入式关系数据库,实现自包容.零配置.支持事务的SQL数据库引擎. ...
- 学习WCF之路,长期更新
我学习WCF之路:创建一个简单的WCF程序 为了使读者对基于WCF的编程模型有一个直观的映像,我将带领读者一步一步地创建一个完整的WCF应用.本应用功能虽然简单,但它涵盖了一个完整WCF应用的基本 ...
- 学习 Webpack5 之路(优化篇)
一.前言 从 0 到 1 学习的朋友可参考前置学习文章: 学习 Webpack5 之路(基础篇) 学习 Webpack5 之路(实践篇) 前置文章 学习 Webpack5 之路(基础篇) 对 webp ...
- 小白学习Python之路---开发环境的搭建
本节内容 1.Python的介绍 2.发展史 3.安装Python 4.搭建开发环境 5.Hello World程序 一.Python的介绍 Python的创始人为荷兰人吉多·范罗苏姆(Guido v ...
随机推荐
- 身份证校验(java)
判断是第几代身份证(第一代15位, 第二代18位) if (cardId.length() == 15 || cardId.length() == 18) { if (!this.cardCodeVe ...
- js实现页面跳转的几种方式
第一种: <script language="javascript" type="text/javascript"> wi ...
- iNeedle产品介绍
一.产品简介 1.产品背景 1.您曾经遇到过下面的问题和烦恼吗?2.当网站上线以后,如何实时的了解网站的运行状况?3.当网站访问速度慢,是升级服务器?还是升级带宽?还是优化网站代码?4.当网站新上线一 ...
- 002.ICMP--拼接ICMP包,实现简单Ping程序(原始套接字)
一.大致流程: 将ICMP头和时间数据设置好后,通过创建好的原始套接字socket发出去.目的主机计算效验和后会将数据原样返回,用当前时间和返回的数据结算时间差,计算出rtt. 二.数据结构: ICM ...
- ELF Format 笔记(一)—— 概述
ilocker:关注 Android 安全(新手) QQ: 2597294287 ELF Object files 参与程序的链接和执行,从这两个角度分别有两种视图: ELF header 位于文件的 ...
- emacs 新手笔记(三) —— 为 emacs 做一点简单的定制
ilocker:关注 Android 安全(新入行,0基础) QQ: 2597294287 在 emacs 启动时,会加载 ~/.emacs 文件.在该文件中编辑一些 lisp 代码,是一种最为简单的 ...
- 准备使用 Office 365 中国版--安装
温故而知新,先附上一个链接:Office 365常见问题 Office 365中Office套件的安装介质和传统Office套件的安装介质是有些区别的,虽然功能都一样.因此,如果购买了带Office套 ...
- [HOOLOO] zizaco/entrust 5.2.x-dev Class name must be a valid object or a string
在使用laravel 5.1权限管理,使用 安装 zizaco/entrust 5.2.x-dev的时候执行 php artisan entrust:migration的时候报以下错误: [Symf ...
- 【一周读书】All life is problem solving
书籍:<开放的智力> 采铜是我在知乎关注最早的大V之一,那时我脑里有一大堆疑惑和问题,是他的答案帮助我理清了思绪.我从他身上学习到对书籍的爱好,对思维方法的关注,对智慧的向往.读这本小集子 ...
- Centos7 更新pip和scipy
更新pip: pip install --upgrade pip 更新scipy包: pip install -upgrade scipy