SQLite数据库管理的相关命令
1.创建数据库
启动命令行,通过输入如下命令打开Shell模式的CLP:
sqlite3 test.db
虽然我们提供了数据库名称,但如果该数据库不存在,SQLite实际上就未创建该数据库,直到在数据库内部创建一些内容时,SQLite才创建该数据库。
2.创建数据表
sqlite> create table Member(id integer primary key, name text, age integer,addr text);
注:id为主键,该列默认具备自动增长的属性。
3.插入数据
sqlite> insert into Member values(0,'wwl',21,'上海');//id=0的列必须不存在,否则会出错
或者sqlite> insert into Member(name,age,addr) values('wwl',21,'上海');
3.查询数据
sqlite>.mode column
sqlite>.headers on
sqlite> select * from Member;
注:select语句前面的两个命令(.headers和.mode)用于改善显示格式,可以不要。
4.创建视图和索引
sqlite> create view schema as select * from Member;
sqlite> create index Member_Idx on Member(id)
5.导出数据
使用.dump命令可以将数据库对象导出成SQL格式。不带任何参数时,.dump将整个数据库导出为数据库定义语言(DDL)和数据库操作语言(DML)命令,适合重新创建数据库对象和其中的数据。如果提供了参数,Shell将参数解析作为表名或视图,导出任何匹配给定参数的表或视图,那些不匹配的将被忽略。
默认情况下.dump 命令的输出定向到屏幕。如:.dump
如果要将输出重定向到文件,请使用.dump[filename]命令,此命令将所有的输出重定向到指定的文件中。若要恢复到屏幕的输出,只需要执行.output stdout命令就OK了。
sqlite>.output file.sql
sqlite>.dump
sqlite>.output stdout
注:如果file.sql不存在,将在当前工作目录中创建该文件。如果文件存在,它将被覆盖。
6.导入数据
有两种方法可以导入数据,用哪种方法取决于要导入的文件格式。如果文件由SQL语句构成,可以使用.read命令导入文件中包含的命令。如果文件中包含由逗号或其他分隔符分割的值(comma-swparated values,CSV)组成,可使用.import[file][table]命令,此命令将解析指定的文件并尝试将数据插入到指定的表中。
.read命令用来导入.dump命令创建的文件。如果使用前面作为备份文件所导出的file.sql,需要先移除已经存在的数据库对象,然后用下面的方法重新导入:
sqlite>drop table Member;
sqlite>drop view schema;
sqlite>.read file.sql
7.备份数据库
有两种方式可以完成数据库的备份,具体使用哪一种取决于你希望的备份类型。SQL转储许是移植性最好的备份。
生成转储的标准方式是使用CLP.dump命令:sqlite3 test.db .dump >test.sql
在Shell中,可以将输出重定向到外部文件,执行命令,恢复到屏幕输出,如:
sqlite>.output file.sql
sqlite>.dump
sqlite>.output stdout
sqlite>.exit
同样,容易将SQL转储作为CLP的输入流实现数据库导入:
sqlite3 test.db <test.sql
备份二进制数据库知识比复制文件稍多做一点工作。备份之前需要清理数据库,这样可以释放一些已删除对象不再使用的空间。这数据库文件就会变小,因此二进制的副本也会较小:
sqlite3 test.db vacuum
cp test.db test.Backup
8.其它命令
sqlite>select last_insert_rowid(); //获得最后插入的自动增长量值
sqlite>.tabes //返回所有的表和视图
sqlite>.indices Member //查看一个表的索引
sqlite>.schema Member //得到一个表或视图的定义(DDL)语句,如果没有提供表名,则返回所有数据库对象(table,view,index,triger)的定义语句
----转载自: http://www.cnblogs.com/akwwl/archive/2012/12/10/2807206.html
SQLite数据库管理的相关命令的更多相关文章
- linux 搜索相关命令(2)
文件搜索相关命令 1:locate命令 需要 yum install mlocate locate 文件名 在后台数据库中按文件名搜索,搜索速度更快 /var/lib/mlocate #locate命 ...
- Android内部自带的SQLite数据库操作dos命令
1:什么叫做SQLite数据库 Android系统内核是Linux系统,Android系统很特殊,他自带了一个SQLite数据库,轻量型的一款嵌入式的数据库 它占用资源非常的低,在嵌入式设备中,可能只 ...
- 《The Linux Command Line》 读书笔记04 Linux用户以及权限相关命令
Linux用户以及权限相关命令 查看身份 id:Display user identity. 这个命令的输出会显示uid,gid和用户所属的组. uid即user ID,这是账户创建时被赋予的. gi ...
- linux 目录结构及其相关命令
目录也是一个文件,它的唯一功能是用来保存文件及其相关信息.所有的文件,包括普通文件.设备文件和目录文件,都会被保存到目录中. 主目录 登录后,你所在的位置就是你的主目录(或登录目录),如果是root用 ...
- Shell编程基础教程5--文本过滤、正则表达式、相关命令
5.文本过滤.正则表达式.相关命令 5.1.正则表达式(什么是正则表达式?正则表达式怎么进行匹配?常用命令) 简介: 一种用来描述文本模式的特殊语法 ...
- Linux文件管理相关命令
Linux文件管理相关命令 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在了解了Linux文件管理背景知识之后, 我们可以 ...
- mysql主从复制replication的一些相关命令
主服务器上的相关命令:show master status; mysql> show master status\G . row *************************** Posi ...
- sqlplus 配置方法及相关命令
sqlplus 配置方法及相关命令 1.配置文件 1.1 全局模式什么叫全局模式呢:当我们配置完sqlplus工具加载配置文件后,无论在哪个目录下登陆数据库,您设置[sqlplus提示符样子,在任何目 ...
- linux网络配置相关命令、虚拟网络接口eth0:0
网络接口(interface)是网络硬件设备在操作系统中的表示方法,比如网卡在Linux操作系统中用ethX,是由0开始的正整数,比如eth0.eth1...... ethX.而普通猫和ADSL的接口 ...
随机推荐
- Unity AssetBundles and Resources指引 (三) AssetBundle基础
本文内容主要翻译自下面这篇文章 https://unity3d.com/cn/learn/tutorials/topics/best-practices/guide-assetbundles-and- ...
- 【LeetCode】84. Largest Rectangle in Histogram
Largest Rectangle in Histogram Given n non-negative integers representing the histogram's bar height ...
- Flex开发自定义控件
前期准备: 点击File菜单 -> New -> MXML Component,然后弹出一个对话框. 在对话框中输入组件名,选择此组件继承的类型,如:Canvas,DataGrid,Com ...
- win8或win8.1修改注册表失败的原因
win8 and win8.1 modify the registry need compiled to be different versions according to the os bits.
- iOS iOS7 20px 处理
- (void)viewWillAppear:(BOOL)animated { // View defaults to full size. If you want to customize the ...
- PAT1013
#include<cstdio>#include<cstring>#include<vector>using namespace std;const int max ...
- 【qt4.8.6】qt-everywhere-opensource-src-4.8.6静态库编译,搭建vs2010 + Qt4.8.6环境
公司的电脑上无法运行QtCreator, 又想用Qt,只能搞vs2010+Qt了, 看到运行时要链接一个几M到十几M的QtCore.dll和QtGui.dll,又有一种在用C#写的程序的感觉,很不爽, ...
- C语言文法 改
<程序> -> <外部声明> | <程序> <外部声明> <外部声明> -> <函数定义> | &l ...
- XCode 7.1 安装 Alcatraz包管理器失败的处理
按照官方的文档(https://github.com/supermarin/Alcatraz),先卸载再重新安装即可.步骤如下: 1. 退出Xcode 2. rm -rf ~/Library/Appl ...
- 判断字符串是否包含字母‘k’或者‘K’
判断字符串是否包含字母‘k’或者‘K’ public bool IsIncludeK(string temp) { temp = temp.ToLower(); if (temp.Contains(' ...