ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Sqlite_入门命令

2022-06-27 05:31:15  阅读:129  来源: 互联网

标签:Sqlite 入门 函数 LIST SQLite 命令 CLASS select NAME


新建库 .open DATA_BASE;
新建表 create table LIST_NAME(DATA);
语法: NAME 关键字... <用逗号分割>
删除表 drop table NAME;
查看表 .schema 查看表信息

新建数据 insert into LIST_NAME values();
语法: CLASS, PARAMETER... ,CLASS 是类别, PARAMETER是参数<用逗号分割新建的数据>
查看数据 select * from LIST_NAME;
格式化显示: .header on
.mode column
select * from LIST_NAME;
PS: * 号表示显示所有的类别, 显示想要的类别要更改为 select ID, NAME, AGE from LIST_NAME;
检索数据 select * from LIST_NAME where CLASS <运算符> <数据> CLASS 表示表中的类别. 表示检索该类别中的数据.
例: select * from List where money > 5000;
这里涉及 一些运算法 就不一一举例了, 他和shell 运算符差不多的.

数字表达式 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 数据库自检

标签:Sqlite,入门,函数,LIST,SQLite,命令,CLASS,select,NAME
来源: https://www.cnblogs.com/xs-xs/p/16414931.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有