Sqlite_入门命令

新建库 .open DATA_BASE;
新建表 create table LIST_NAME(DATA);
语法: NAME 关键字…

新建数据 insert into LIST_NAME values();
语法: CLASS, PARAMETER… ,CLASS 是类别, PARAMETER是参数

数字表达式 select (数学计算) as TITLE; TITLE 表示标题
函数表达式 select FUNCTION(CLASS) as “标题” from LIST_NAME; FUNCTION表示函数, 括号内(是类别) as “结果标题” …

修改数据 update LIST_NAME set CLASS = “change class VALUE”; 修改类别中的值, 这个语句会批量修改值.

制定修改 update LIST_NAME set CLASS = “change class VALUE” where CLASS = VALUE; 修改指定的值, 主要是后面的 where 关键字 指定一个类别
然后 = 找到该类别中的值来修改.

删除指定数据 delete from LIST_NAME where CLASS = VALUE; CLASS 是类别, VALUE 是值.

删除所有相关数据 delete from LIST_NAME where CLASS; 不指定值, 他会删除所有相关类别.

事件处理(安全)
如何恢复删除的数据?

语法: > DEGIN; 事件开始

delete from LIST_NAME where CLASS = VALUE; 删除数据
ROLLBACK; 回滚操作, 这样就可以将刚刚删除的数据恢复
COMMIT; 保存更改, 删除的数据就彻底删除了.

END; 结束事件, 如果执行了COMMIT命令可以不用输入该命令.

匹配字符: select * from LIST_NAME where CLASS like ‘A_%’; CLASS 表示类别, ‘匹配符’
百分号(%)代表零个、一个或多个数字或字符。下划线(_)代表一个单一的数字或字符。这些符号可以被组合使用。

匹配字符: select * from LIST_NAME where CLASS GLOB ‘A_%’; CLASS 表示类别, GLOB 关键字需要大写 ‘匹配符’
星号(*)代表零个、一个或多个数字或字符。问号(?)代表一个单一的数字或字符。这些符号可以被组合使用。

限定显示 select * from LIST_NAME limit 3 offset 2; 表示从第2行开始显示, 最多显示3行
select * from LIST_NAME limit 3 ; 表示最多显示三行.

select * from LIST_NAME where CLASS > VALUE limit 3; 检索数据再限定显示

排序显示 select * from LIST_NAME order by CLASS asc; 数值从小到大排序
select * from LIST_NAME order by CLASS desc; 数值从大到小排序

重命名表 alter table DATA_BASE.OLD_LIST_NAME rename to NEW_LIST_NAME…;
增加新类别 alter table LIST_NAME ADD COLUMN CLASS char(1);
删除类别 alter table LIST_NAME drop column CLASS;
修改类别 alter table LIST_NAME alter column CLASS;

添加时间
select time(‘now’); 显示当前计算机时间
select date(‘now”); 显示计算机日期
select datetime(‘now”); 显示当前计算机日期和时间
insert into LIST_NAME values(…datetime(‘now’)); 添加时间到值

[内关联] select CLASS1, CLASS2 from LIST1 INNER JOIN LIST2 on LIST1.ID = LIST2.ID;
说明: 先搜寻类别, 然后添加关键字INNER JOIN 将LIST1 和 LIST2 关联起来 on 关联类别;

[类型]
NULL 值是一个 NULL 值。
INTEGER 值是一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中。
INT 整数类型
INT2 长整数类型
INT8 超长整数类型
INTEGER
TINYINT
SMALLINT
MEDIUMINT
BIGINT
UNSIGNED BIG INT

REAL 值是一个浮点值,存储为 8 字节的 IEEE 浮点数字。
DOUBLE
DOUBLE PRECISION
FLOAT

TEXT 值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储。
CHARACTER(20)
VARCHAR(255)
VARYING CHARACTER(255)
NCHAR(55)
NATIVE CHARACTER(70)
NVARCHAR(100)
TEXT
CLOB

BLOB 值是一个 blob 数据,完全根据它的输入存储。
char(1) 字符类型, 括号类约束限定字符
utf8 字符格式为utf-8

NUMERIC 时间类型

BOOLEAN
DATE
DATETIME

[关键字: 约束] 新建表的时候添加约束

NOT NULL 约束:确保某列不能有 NULL 值。
create table LIST_NAME(…not null);
DEFAULT 约束:当某列没有指定值时,为该列提供默认值。
create table LIST_NAME(…default “NULL”); 如果设定的类别当中没有填入值, 则使用该默认值NULL
UNIQUE 约束:确保某列中的所有值是不同的。
create table LIST_NAME(…unique…);
PRIMARY Key 约束:唯一标识数据库表中的各行/记录。
create table LIST_NAME(…primary key…);
CHECK 约束:CHECK 约束确保某列中的所有值满足一定条件。CHECK 约束启用输入一条记录要检查值的条件。如果条件值为 false,则记录违反了约束,且不能输入到表。
create table LIST_NAME(…check(运算符));

[关键字: 自动递增]
AUTOINCREMENT 只能用于整型(INT)字段, 常用于 ID 类别

[常用函数]
1 SQLite COUNT 函数
SQLite COUNT 聚集函数是用来计算一个数据库表中的行数。
2 SQLite MAX 函数
SQLite MAX 聚合函数允许我们选择某列的最大值。
3 SQLite MIN 函数
SQLite MIN 聚合函数允许我们选择某列的最小值。
4 SQLite AVG 函数
SQLite AVG 聚合函数计算某列的平均值。
5 SQLite SUM 函数
SQLite SUM 聚合函数允许为一个数值列计算总和。
6 SQLite RANDOM 函数
SQLite RANDOM 函数返回一个介于 -9223372036854775808 和 +9223372036854775807 之间的伪随机整数。
7 SQLite ABS 函数
SQLite ABS 函数返回数值参数的绝对值。
8 SQLite UPPER 函数
SQLite UPPER 函数把字符串转换为大写字母。
9 SQLite LOWER 函数
SQLite LOWER 函数把字符串转换为小写字母。
10 SQLite LENGTH 函数
SQLite LENGTH 函数返回字符串的长度。
11 SQLite sqlite_version 函数
SQLite sqlite_version 函数返回 SQLite 库的版本。

[显示方式]
.width 列宽
.mode markdown 显示模式

.header on 显示头部
.mode column 格式化
.mode csv 表格格式, 它适合文件导出
.mode box 方盒子模式
.mode insert 语句格式化
.mode line 顺序(行)格式化
.mode table 常规显示
.mode MODEL –wrap N 设定列宽(N为整数,表示字符), MODEL表示显示模式

ascii box column csv html insert json line list markdown qbox quote table tabs tcl
[常用命令]
.databases 列出当前打开的数据库
.tables 列出表
.import FILE TABLE 将数据从 FILE 导入到 TABLE
.import –csv –skip 1 –schema temp C:/work/somedata.csv tab1
.read FILE 从 FILE 中读取输入
.schema 查看数据表(类)
.shell 运行shell命令
.show 显示当前默认的设置
.system 运行系统中的程序
.once 导出文件, 但是要先设置模式为csv格式, 再导出.

sqlite> .headers on
sqlite> .mode csv
sqlite> .once c:/work/dataout.csv
sqlite> SELECT * FROM tab1; 执行这个命令不会返回 而是将信息存入到文件.

sqlite> .system c:/work/dataout.csv
.selftest 数据库自检

Original: https://www.cnblogs.com/xs-xs/p/16414931.html
Author: edolf
Title: Sqlite_入门命令

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/582626/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • logstash写入文件慢的问题排查记录

    终于找到根本原因了!!!!! logstash部署到k8s集群内部的,当所在节点的CPU资源被其他应用抢占时,logstash的处理速度就会降低 问题现象 logstash从kaf…

    Linux 2023年6月14日
    0173
  • Ubuntu Typora安装

    Ubuntn Typora安装 现在好像开始收费了,网上给的方法都是从官网下载的,感觉迟早不能用,因为要钱了 官网好像给的安装方法如下,可是好像不太好用 or run: sudo …

    Linux 2023年6月14日
    099
  • Liunx-LVM创建与扩容

    LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2…

    Linux 2023年6月8日
    097
  • Ubuntu14.04.5升级openssh8.0p1版本

    一、前言客户请广电公司扫描服务器漏洞,扫到阿里云服务器的OpenSSH_6.6.1p1版本存在如下高危漏洞,基于安全的考量,升级到8.0版本。1.OpenSSH安全绕过漏洞2.Op…

    Linux 2023年6月8日
    090
  • 《Redis开发与运维》——(七)Redis阻塞(脑图)

    posted @2021-01-09 15:06 雪山上的蒲公英 阅读(90 ) 评论() 编辑 / 返回顶部代码 / Original: https://www.cnblogs….

    Linux 2023年5月28日
    0110
  • 【Docker搭建】2. 在Docker中安装Redis5.0

    1. 安装Docker,详细 请看安装教程 。若已安装,请看 2. 2. 拉取 Redis 镜像 docker pull redis:5.0.5 3. 设置 Redis 配置文件 …

    Linux 2023年6月13日
    088
  • ShardingSphere-proxy-5.0.0容量范围分片的实现(五)

    一、修改配置文件config-sharding.yaml,并重启服务 # Licensed to the Apache Software Foundation (ASF) unde…

    Linux 2023年6月14日
    0143
  • Emacs Lisp 入门

    ;; This gives an introduction to Emacs Lisp in 15 minutes (v0.2d);;;; 英文原作者: Bastien / @bz…

    Linux 2023年6月13日
    0112
  • Docker部署

    部署Docker 1.部署docker相关 此章描述在新的服务器上安装docker容器。 1.1 概述 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apach…

    Linux 2023年6月7日
    0143
  • 在使用amoeba连接数据库时,报错java.lang.Exception: poolName=slaves, no valid pools

    搭建3台MySQL服务器,完成主从复制,搭建一台amoeba服务器,完成MySQL的读写分离 问题描述: 问题1、 在服务搭建完毕后,利用客户机连接amoeba服务器登录数据库,无…

    Linux 2023年6月13日
    083
  • USB转多串口产品设计

    在部分应用场合下需要为计算机或其他主机扩展多个串口,常见的扩展方式有USB转多串、PCI/PCIe转多串、蓝牙和以太网等网络转多串口。现在大多数台式计算机和笔记本电脑出于轻型化需要…

    Linux 2023年6月7日
    092
  • Servlet 学习总结

    Servlet学习笔记 Servlet学习 学习视频为:https://www.bilibili.com/video/BV1Ta4y1H7Vc IDEA的使用 IDEA的简介 ID…

    Linux 2023年6月7日
    063
  • PHP 获取数组长度

    count()函数,默认是获取一维数组,参数为:COUNT_NORMAL,添加第二个参数:COUNT_RECURSIVE,则可以获取多维关联数组的长度(意思为递归获取),例如:co…

    Linux 2023年6月7日
    0120
  • JDK/MYSQL/TOMCAT环境变量

    IDE:智能开发环境 SDK:软件开发工具包 JDK:Java开发工具包 JRE:Java运行环境 JAR:Java档案文件 API:应用程序接口 1.JAVA_HOME的变量名下…

    Linux 2023年6月7日
    071
  • pyQt的对话框

    1. 在对话框中输入文字 from PyQt5.QtWidgets import (QWidget, QPushButton, QLineEdit, QInputDialog, Q…

    Linux 2023年6月7日
    095
  • linux制作iso文件

    使用mkisofs工具 *基础用法 [root@localhost ~]# yum -y install mkisofs [root@localhost ~]# mkisofs -…

    Linux 2023年6月6日
    076
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球