注:fedora自带sqlite3,无需安装,直接输入命令sqlite3即可。

————————————Ubuntu在命令行输入sqlite3,确认没有安装在进行---

1、安装sqlite3

ubuntu下安装sqlite3直接在终端运行命令:

#apt-get install sqlite3

查看版本信息:

#sqlite3 -version

——————————————

2 、sqlite3常用命令

当前目录下建立或打开test.db数据库文件,并进入sqlite命令终端,以sqlite>前缀标识:

#sqlite3 test.db



查看数据库文件信息命令(注意命令前带字符'.'):

sqlite>.database

查看所有表的创建语句:

sqlite>.schema



查看指定表的创建语句:

sqlite>.schema table_name



以sql语句的形式列出表内容:

sqlite>.dump table_name



设置显示信息的分隔符:

sqlite>.separator symble

Example:设置显示信息以‘:'分隔

sqlite>.separator :



设置显示模式:

sqlite>.mode mode_name

Example:默认为list,设置为column,其他模式可通过.help查看mode相关内容

sqlite>.mode column



输出帮助信息:

sqlite>.help



设置每一列的显示宽度:

sqlite>.width width_value

Example:设置宽度为2

sqlite>.width 2



列出当前显示格式的配置:

sqlite>.show



退出sqlite终端命令:

sqlite>.quit



sqlite>.exit



3、sqlite3指令

sql的指令格式:所有sql指令都是以分号(;)结尾,两个减号(--)则表示注释。

如:

sqlite>create studen_table(Stu_no interger PRIMARY KEY, Name text NOT NULL, Id interger UNIQUE, Age interger CHECK(Age>6), School text DEFAULT 'xx小学);

该语句创建一个记录学生信息的数据表。



3.1 sqlite3存储数据的类型

NULL:标识一个NULL值

INTERGER:整数类型

REAL:浮点数

TEXT:字符串

BLOB:二进制数

3.2 sqlite3存储数据的约束条件

Sqlite常用约束条件如下:

PRIMARY KEY - 主键:

1)主键的值必须唯一,用于标识每一条记录,如学生的学号

2)主键同时也是一个索引,通过主键查找记录速度较快

3)主键如果是整数类型,该列的值可以自动增长

NOT NULL - 非空:

约束列记录不能为空,否则报错

UNIQUE - 唯一:

除主键外,约束其他列的数据的值唯一

CHECK - 条件检查:

约束该列的值必须符合条件才可存入

DEFAULT - 默认值:

列数据中的值基本都是一样的,这样的字段列可设为默认值

3.3 sqlite3常用指令



1)建立数据表

create table table_name(field1 type1, field2 type1, ...);

table_name是要创建数据表名称,fieldx是数据表内字段名称,typex则是字段类型。

例,建立一个简单的学生信息表,它包含学号与姓名等学生信息:

create table student_info(stu_no interger primary key, name text);



2)添加数据记录

insert into table_name(field1, field2, ...) values(val1, val2, ...);

valx为需要存入字段的值。

例,往学生信息表添加数据:

Insert into student_info(stu_no, name) values(0001, 'lei');

注意:插入TEXT类型时,要加上' '即引号。否则报错Error: no such column: lei



3)修改数据记录

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;



4)删除数据记录

delete from table_name [where expression];

不加判断条件则清空表所有数据记录。

例,删除学生信息表学号为0001的数据记录:

delete from student_info where stu_no=0001;



5)查询数据记录

select指令基本格式:

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去掉重复项,将列中各字段值单个列出。



6)建立索引

当说数据表存在大量记录,索引有助于加快查找数据表速度。

create index index_name on table_name(field);

例,针对学生表stu_no字段,建立一个索引:

create index student_index on student_table(stu_no);

建立完成后,sqlite3在对该字段查询时,会自动使用该索引。



7)删除数据表或索引

drop table table_name;

drop index index_name;

3.4查看表结构

1)列出该数据库中的所有表

.table

2)查看这些表的结构:

select * from sqlite_master where type="table";

默认情况下,不会出现红框中的表头,需要之前设置,命令为:

.header on

3)只查看具体一张表的表结构,比如查看emperors表,命令为:

select * from sqlite_master where type="table" and name="student_info";

或者:

sqlite> .schema
student_info

CREATE TABLE
student_info(
stu_no integer primary key, name text);

Sqlite基本命令集合(linux/fedora/ubuntu)的更多相关文章

  1. Linux(Ubuntu)下面SecureCRT 完全破解

    转载声明:本文来自http://www.boll.me/archives/680 相关说明: 上篇发了个Linux(Ubuntu) 下 SecureCRT 7 30天循环破解在启动的时候会多输入一次确 ...

  2. 【转】Linux(Ubuntu)下面SecureCRT 完全破解

    仅供测试, 勿用作商业用途.首先要到vandyke网站下载一个securecrt, 需要注册.http://www.vandyke.com/download/securecrt/download.ht ...

  3. 基于集合成工控机Ubuntu系统安装分区详解

    基于集合成工控机Ubuntu系统安装分区详解 硬件描述:双核的CPU,128G的固态硬盘 软件描述:使用Ubuntu12.04系统,内核3.8.0-29版本,QT4.8.1版本 1.新建分区表 /de ...

  4. Linux(Ubuntu)下安装NodeJs

    用以下命令来升级系统,并且安装一些Node.JS必要的包. Linux(Ubuntu)下安装NodeJs 安装nodeJS之前,如果没有安装g++ make libssl-dev等, 1.更新系统和依 ...

  5. Linux(Ubuntu)安装并破解 SecureFX

    根据Linux(Ubuntu)下面SecureCRT 完全破解(地址:http://www.boll.me/archives/680) 添加了Linux(Ubuntu)下面SecureFX 完全破解, ...

  6. 10款免费CSS编辑器应对于Linux和Ubuntu

    您是否在使用Linux和Ubuntu的,不知道在哪里可以找到一些优秀且免费的CSS编辑器用于Linux和Ubuntu的?如果你的答案是肯定的,然后停止幻想,开始浏览这个帖子里,我们展示了前10名,并免 ...

  7. Linux(Fedora)下NodeJs升级最新版本(制定版本)

    Linux(Fedora)下NodeJs升级最新版本(制定版本) 首先安装n模块: npm install -g n 升级node.js到最新稳定版 n stable 升级node.js到制定版本 n ...

  8. linux(fedora) 下dvwa 建筑环境

    linux(fedora)下dvwa组态 1.下载httpd,dvwa,mysql,mysqlserver, php-mysql,php 除了dvwa 这是外界进入下一官方网站.该服务通过休息inst ...

  9. Linux(Ubuntu)使用 sudo apt-get install 命令安装软件的目录在哪?(已解决)

    Linux(Ubuntu)使用   sudo apt-get install  命令安装软件的目录在哪? bin文件路径: /usr/bin 库文件路径: /usr/lib/  其它的图标啊什么的路径 ...

随机推荐

  1. bootstrap初用新得1

    ## 基本准备 1. 首先把相关软件窗口规划好,对于我的喜好,我喜欢把除了浏览器外的其他软件分为左右两个半屏.左边和右边很多软件之间是需要配合使用的:     * 左边: scss文件,ps的guid ...

  2. IIS访问php页面问题,报告404错误

    IIS访问php页面出现问题,所有php页面找不到,显示404页面,html页面可以正常访问. 搜索结果: 方案1: 打开WEB服务扩展,把“所有未知ISAPI扩展”设为允许! 方案2: PHP没有完 ...

  3. 如何在CentOS 7中禁止IPv6(转载)

    最近,我的一位朋友问我该如何禁止IPv6.在搜索了一番之后,我找到了下面的方案.下面就是在我的CentOS 7 迷你服务器禁止IPv6的方法. 你可以用两个方法做到这个. 方法 1 编辑文件/etc/ ...

  4. JS 输入年份,再输入月份,弹出这个月有多少天?

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. elasticsearch多种搜索方式

    简要 1.query string search2.query DSL3.query filter4.full-text search5.phrase search6.highlight search ...

  6. loadrunner中的常见问题

    1.Loadrunner参数化默认只显示100条数据,我们如何改变呢 E:\Program Files (x86)\HP\LoadRunner\config 2.如何突破loadrunner的Cont ...

  7. Project Euler 47 Distinct primes factors( 筛法记录不同素因子个数 )

    题意: 首次出现连续两个数均有两个不同的质因数是在: 14 = 2 × 715 = 3 × 5 首次出现连续三个数均有三个不同的质因数是在: 644 = 22 × 7 × 23645 = 3 × 5 ...

  8. 使用Ansible安装部署nginx+php+mysql之安装nginx(1)

    使用Ansible安装nginx 1.nginx.yaml文件 --- - hosts: clong remote_user: root gather_facts: no tasks: # 安装epe ...

  9. Linux目录结构组成

    linux目录图: / root --- 启动Linux时使用的一些核心文件.如操作系统内核.引导程序Grub等. home --- 存储普通用户的个人文件 ftp --- 用户所有服务 httpd ...

  10. jQuery选择器练习中,带空格和不带空格的问题

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...