SQLite SQL语句结构详解

2023-05-16

 

源自:http://tiantian0521.blog.163.com/blog/static/4172088320109272217796/

SQLite SQL语句结构详解

 

SELECT

sql-statement ::=SELECT [ALL | DISTINCT] result [FROM table-list]
[WHERE expr]
[GROUP BY expr-list]
[HAVING expr]
[compound-op select]*
[ORDER BY sort-expr-list]
[LIMIT integer [( OFFSET | , ) integer]]
result ::=result-column [, result-column]*
result-column ::=* | table-name . * | expr [ [AS] string ]
table-list ::=table [join-op table join-args]*
table ::=table-name [AS alias] |
( 
select ) [AS alias]
join-op ::=, | [NATURAL] [LEFT | RIGHT | FULL] [OUTER | INNER | CROSS] JOIN
join-args ::=[ON expr] [USING ( id-list )]
sort-expr-list ::=expr [sort-order] [, expr [sort-order]]*
sort-order ::=[ COLLATE collation-name ] [ ASC | DESC ]
compound_op ::=UNION | UNION ALL | INTERSECT | EXCEPT

SELECT语句用于查询数据库。一条SELECT命令的返回结果是零或多行每行有固定字段数的数据。字段的数目由在SELECT和FROM之间的表达式列表定义。任意的表达式都可以被用作结果。若表达式是 *则表示所有表的所有字段。若表达式是表的名字后接.*则结果为该表中的所有字段。

DISTINCT关键字的使用会使返回的结果是原结果的一个不含相同行的子集。NULL值被认为是相同的。缺省行为是返回所有的行,为清楚起见可以使用关键字ALL。

查询对FROM之后定义的一个或多个表进行。若多个表用逗号连接,则查询针对它们的交叉连接。所有的SQL-92连接语法均可以用于定义连接。圆括号中的副查询可能被FROM子句中的任意表名替代。当结果中仅有一行包含表达式列表中的结果的行时,整个的FROM子句会被忽略。

WHERE子句可以限定查询操作的行数目。

GROUP BY子句将一行或多行结果合成单行输出。当结果有聚集函数时这将尤其有用。GROUP BY子句的表达式不须是出现在结果中的表达式。HAVING子句与WHERE相似,只是HAVING用于过滤分组创建的行。HAVING子句可能包含值,甚至是不出现在结果中的聚集函数。

ORDER BY子句对所得结果根据表达式排序。表达式无须是简单SELECT的结果,但在复合SELECT中每个表达式必须精确对应一个结果字段。每个表达式可能跟随一个可选的COLLATE关键字以及用于排序文本的比较函数名称和/或关键字ASC或DESC,用于说明排序规则。

LIMIT子句限定行数的最大值。负的LIMIT表示无上限。后跟可选的OFFSET说明跳过结果集中的前多少行。在一个复合查询中,LIMIT子句只允许出现在最终SELECT语句中。限定对于所有的查询均适用,而不仅仅是添加了LIMIT子句的那一行。注意OFFSET关键字用于LIMIT子句中,则限制值是第一个数字,而偏移量(offset)是第二个数字。若用逗号替代OFFSET关键字,则偏移量是第一个数字而限制值是第二个数字。这是为了加强对遗留的SQL数据库的兼容而有意造成的矛盾。

复合的SELECT由两个或更多简单SELECT经由UNION, UNION ALL, INTERSECT, EXCEPT中的一个运算符连接而成。在一个复合SELECT中,各个SELECT需指定相同个数的结果字段。仅允许一个ORDER BY子句出现在SELECT的末尾。UNION和UNION ALL运算符从左至右将所有SELECT的结果合成一个大的表。二者的区别在于UNION的所有结果行是不相同的而 UNION ALL允许重复行。INTERSECT运算符取左右两个SELECT结果的交。EXCEPT从左边SELECT的结果中除掉右边SELECT的结果。三个或更多SELECT复合时,它们从左至右结合。

 

UPDATE

 

sql-statement ::=UPDATE [ OR conflict-algorithm ] [database-name .] table-name
SET 
assignment [, assignment]*
[WHERE expr]
assignment ::=column-name = expr

 

UPDATE语句用于改变表中所选行的字段值。每个UPDATE的赋值的等号左边为字段名而右边为任意表达式。表达式可以使用其它字段的值。所有的表达式将在赋值之前求出结果。可以使用WHERE子句限定需要改变的行。

在使用这一命令时,利用可选的ON CONFLICT子句可以定义替代的约束冲突判定算法。更多信息,参见 ON CONFLICT

 

REPLACE

 

sql-statement ::=REPLACE INTO [database-name .] table-name [( column-list )] VALUES ( value-list )|
REPLACE INTO 
[database-name .] table-name [( column-list )] select-statement

 

REPLACE命令用于替代INSERT的"INSERT OR REPLACE"变体,以更好的兼容MySQL。查看 INSERT命令文档获取更多信息。

INSERT

 

sql-statement ::=INSERT [OR conflict-algorithm] INTO [database-name .] table-name [(column-list)]VALUES(value-list) |
INSERT 
[OR conflict-algorithm] INTO [database-name .] table-name [(column-list)]select-statement

 

INSERT语句有两种基本形式。一种带有"VALUES"关键字,在已有表中插入一个新的行。若不定义字段列表,那么值的数目将与表中的字段数目相同。否则值的数目须与字段列表中的字段数目相同。不在字段列表中的字段被赋予缺省值或NULL(当未定义缺省值)。

INSERT的第二种形式从SELECT语句中获取数据。若未定义字段列表,则从SELECT得到的字段的数目必须与表中的字段数目相同,否则应与定义的字段列表中的字段数目相同。SELECT的每一行结果在表中插入一个新的条目。SELECT可以是简单的或者复合的。如果SELECT语句带有ORDER BY子句,ORDER BY会被忽略。

在使用这一命令时,利用可选的ON CONFLICT子句可以定义替代的约束冲突判定算法。更多信息,参见 ON CONFLICT 。为了兼容MySQL,可以使用REPLACE代替"INSERT OR REPLACE".

 

DELETE

 

sql-statement ::=DELETE FROM [database-name .] table-name [WHERE expr]

 

DELETE命令用于从表中删除记录。命令包含"DELETE FROM"关键字以及需要删除的记录所在的表名。

若不使用WHERE子句,表中的所有行将全部被删除。否则仅删除符合条件的行。

 

表达式

 

expr ::=expr binary-op expr |
expr [NOT] like-op expr [ESCAPE expr] |
unary-op expr |
( 
expr ) |
column-name |
table-name . column-name |
database-name . table-name . column-name |
literal-value |
parameter |
function-name ( expr-list | * ) |
expr ISNULL |
expr NOTNULL |
expr [NOT] BETWEEN expr AND expr |
expr [NOT] IN ( value-list ) |
expr [NOT] IN ( select-statement ) |
expr [NOT] IN [database-name .] table-name |
[EXISTS] ( select-statement ) |
CASE 
[expr] ( WHEN expr THEN expr )+ [ELSE expr] END |
CAST ( 
expr AS type )
like-op ::=LIKE | GLOB | REGEXP

 

这一节与其它的各节有所不同。我们讨论的不是一个单一的SQL命令,而是作为其他大部分命令的一部分的表达式。

SQLite支持如下的二元运算符,按优先级由高至低排列:


||
*    /    %
+    -
<<   >>   &    |
<    <=   >    >=
=    ==   !=   <>   IN
AND   
OR
  

所支持的一元运算符:


-    +    !    ~
  

注意等号和“不等”号的两个变种。等号可以是 ===. “不等”号可以是!=<>||为“连接符”——它将两个字符串连接起来。 %输出左边部分以右边部分为模取模得到的余数。

二元运算符的结果均为数字,除了||连接符,它给出字符串结果。

文本值(literal value)是一个整数或浮点数。可以使用科学计数法。"."符号总是被当作小数点即使本地设定中用","来表示小数点 ——用","表示小数点会造成歧义。字符串常量由字符串加单引号(')构成。字符串内部的单引号可像Pascal 中一样用两个单引号来表示。C风格的加反斜线的表示法由于不是标准SQL而不被支持。 BLOB文本是以"x"或"X"开头的含有十六进制文本信息的文本值 For example:


X'53514697465'
  

文本值同样可以为"NULL".

表达式中插入文本值占位符的参数可以使用 sqlite3_bind API函数在运行时插入。参数可以是如下几种形式:

?NNN 问号跟随数字NNN为第NNN个参数占位。NNN需介于1和999之间。
? 不加数字的问号为下一个参数占位。
:AAAA 冒号带一个标识符名称为一个名为AAAA的参数占位。命名的参数同样可以使用序号占位,被赋予的参数序号为下一个尚未被使用的序号。建议不要混合使用命名代表的参数和序号代表的参数以免引起混淆。
$AAAA $符号带一个标识符名称也可以为一个名为AAAA的参数占位。在这一情况下标识符名称可以包括一个或更多的"::" 以及包含任何文本的"(...)"后缀。该语法是Tcl编程语言中的一个可变形式。

不使用sqlite3_bind赋值的参数被视为NULL.

LIKE运算符进行模式匹配比较。运算符右边为进行匹配的模式而左边为需进行匹配的字符串。 模式中的百分号%匹配结果中的零或任意多个字符。下划线 _匹配任意单个字符。其他的任意字符匹配本身或等同的大/小写字符。 (即不区分大小写的匹配)。 (一个bug: SQLite仅对7-bit拉丁字符支持不区分大小写匹配。这是由于 LIKE运算符对8-bit iso8859字符或UTF-8字符是大小写敏感的。例如,表达式'a' LIKE 'A' 的值为真而'?' LIKE '?'为假)。

如果使用可选的ESCAPE子句,则跟随ESCAPE关键字的必须是一个有一个字符的字符串。这一字符(逃逸字符)可用于LIKE模式中,以代替百分号或下划线。逃逸字符后跟百分号,下划线或它本身代表字符串中的百分号,下划线或逃逸字符。插入的LIKE运算符功能通过调用用户函数 like(X,Y)来实现。

当使用可选的ESCAPE子句,它对函数给出第三个参数,LIKE的功能可以通过重载SQL函数like()进行改变。

 

 

GLOB运算符与LIKE相似,但它使用Unix文件 globbing 语法作为通配符。还有一点不同是GLOB对大小写敏感。 GLOB和LIKE都可以前缀NOT关键字构成相反的意思。插入的GLOB运算符功能通过调用用户函数 glob(X,Y) 可以通过重载函数改变GLOB的功能。

REGEXP运算符是用户函数regexp()的一个特殊的代表符号。缺省情况下regexp()函数不被定义,所以使用REGEXP运算符会报错。当运行时存在用户定义的"regexp"函数的定义,则调用该函数以实现REGEXP运算符功能。

字段名可以是CREATE TABLE语句定义的任何名字或如下几个特殊标识符之一"ROWID", "OID", 以及"_ROWID_".这些特殊标识符均代表每个表每一行关联的那个唯一随机整数键("row key")。仅仅在CREATE TABLE语句没有对这些特殊标识符的真实字段予以定义的情况下,它们才代表"row key"。它们与只读字段类似,可以像任何正常字段一样使用,除了在UPDATE或INSERT语句中(即是说你不能添加或更改row key)。 "SELECT * ..."不返回row key.

SELECT语句可以在表达式中出现,作为IN运算符的右边运算量,作为一个纯量,或作为EXISTS运算符的运算量。当作纯量或IN的运算量时,SELECT语句的结果仅允许有一个字段,可以使用复合的SELECT(用UNION或 EXCEPT等关键字连接)。作为EXISTS运算符的运算量时,SELECT结果中的字段被忽略,在结果为空时表达式为假,反之为真。若SELECT表达式代表的查询中不含有引用值的部分,则它将在处理其它事务之前被计算,并且结果在必要时会被重复使用。若SELECT表达式含从其它查询中得到的变量,在每一次使用时该表达式均被重新计算。

当SELECT作为IN运算符的右运算量,在左边的运算量是SELECT产生的任意一个值时,表达式返回TRUE。IN运算符前可以加NOT 构成相反的意思。

当SELECT与表达式一同出现且不在IN的右边,则SELECT结果的第一行作为表达式中使用的值。SELECT返回的结果在第一行以后的部分被忽略。返回结果为空时SELECT语句的值为NULL.

CAST表达式将的数据类型改为声明的类型。 可以是CREATE TABLE语句字段定义部分定义的对该字段有效的任意非空数据类型。

表达式支持简单函数和聚集函数。简单函数直接从输入获得结果,可用于任何表达式中。聚集函数使用结果集中的所有行计算结果,仅用于SELECT语句中。

T下面这些函数是缺省可用的。可以使用C语言写出其它的函数然后使用sqlite3_create_function() API函数添加到数据库引擎中。

 

注意同时重载like()的两参数和三参数版本,否则在使用/不使用 ESCAPE子句时,LIKE运算符的实现可能使用的是不同的代码。
abs(X)返回参数X的绝对值。
coalesce(X,Y,...)返回第一个非空参数的副本。若所有的参数均为NULL,返回NULL。至少2个参数。
glob(X,Y)用于实现SQLite的 "X GLOB Y"语法。可使用 sqlite3_create_function() 重载该函数从而改变GLOB运算符的功能。
ifnull(X,Y)返回第一个非空参数的副本。 若两个参数均为NULL,返回NULL。与上面的coalesce()类似。
last_insert_rowid()返回当前数据库连接最后插入行的ROWID。sqlite_last_insert_rowid() API函数同样可用于得到该值。
length(X)返回X的长度,以字符计。如果SQLite被配置为支持UTF-8,则返回UTF-8字符数而不是字节数。
like(X,Y [,Z])用于实现SQL语法"X LIKE Y [ESCAPE Z]".若使用可选的ESCAPE子句,则函数被赋予三个参数,否则只有两个。可使用sqlite3_create_function() 重载该函数从而改变LIKE运算符的功能。
lower(X)返回X字符串的所有字符小写化版本。这一转换使用C语言库的tolower()函数,对UTF-8字符不能提供好的支持。
max(X,Y,...)返回最大值。参数可以不仅仅为数字,可以为字符串。大小顺序由常用的排序法则决定。注意,max()在有2个或更多参数时为简单函数,但当仅给出一个参数时它变为聚集函数。
min(X,Y,...)返回最小值。与max()类似。
nullif(X,Y)当两参数不同时返回X,否则返回NULL.
quote(X)返回参数的适于插入其它SQL语句中的值。字符串会被添加单引号,在内部的引号前会加入逃逸符号。 BLOB被编码为十六进制文本。当前的VACUUM使用这一函数实现。在使用触发器实现撤销/重做功能时这一函数也很有用。
random(*)返回介于-2147483648和 +2147483647之间的随机整数。
round(X)
round(X,Y)
X四舍五入,保留小数点后Y位。若忽略Y参数,则默认其为0。
soundex(X)计算字符串X的soundex编码。参数为NULL时返回字符串"?000".缺省的SQLite是不支持该函数的,当编译时选项 -DSQLITE_SOUNDEX=1 时该函数才可用。
sqlite_version(*)返回所运行的SQLite库的版本号字符串。如 "2.8.0"。
substr(X,Y,Z)返回输入字符串X中以第Y个字符开始,Z个字符长的子串。 X最左端的字符序号为1。若Y为负,则从右至左数起。若SQLite配置支持UTF-8,则“字符”代表的是UTF-8字符而非字节。
typeof(X)返回表达式X的类型。返回值可能为"null", "integer", "real", "text", 以及 "blob". SQLite的类型处理参见SQLite3的数据类型.
upper(X)返回X字符串的所有字符大写化版本。这一转换使用C语言库的toupper()函数,对UTF-8字符不能提供好的支持。

 

以下是缺省可用的聚集函数列表。可以使用C语言写出其它的聚集函数然后使用sqlite3_create_function() API函数添加到数据库引擎中。

在单参数聚集函数中,参数可以加前缀DISTINCT。这时重复参数会被过滤掉,然后才穿入到函数中。例如,函数"count(distinct X)"返回字段X的不重复非空值的个数,而不是字段X的全部非空值。

 

avg(X)返回一组中非空的X的平均值。非数字值作0处理。avg()的结果总是一个浮点数,即使所有的输入变量都是整数。

 

count(X)
count(*)
返回一组中X是非空值的次数的第一种形式。第二种形式(不带参数)返回该组中的行数。
max(X)返回一组中的最大值。大小由常用排序法决定。
min(X)返回一组中最小的非空值。大小由常用排序法决定。仅在所有值为空时返回NULL。
sum(X)
total(X)
返回一组中所有非空值的数字和。若没有非空行,sum()返回NULL而total()返回0.0. NULL通常情况下并不是对于“没有行”的和的一个有意义的结果,但SQL标准如此要求,且大部分其它SQL数据库引擎这样定义sum(),所以SQLite 也如此定义以保证兼容。我们提供非标准的total()函数作为解决该SQL语言设计问题的一个简易方法。

 

total()的返回值式中为浮点数。sum()可以为整数,当所有非空输入均为整数时,和是精确的。 若sum()的任意一个输入既非整数也非NULL或计算中产生整数类型的溢出时,sum()返回接近真和的浮点数。

 

更多信息请参考: http://www.sqlite.com.cn/MySqlite/5/39.html  

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQLite SQL语句结构详解 的相关文章

  • ? LIKE(列 || '%')

    我可以有这样的条件吗 SELECT FROM table WHERE LIKE column 哪里的 是一个字符串参数值 例如 这些参数值 当列等于时应返回 true admin products admin products 1 admi
  • 如何从一个 cfc 文件中函数的查询中调用另一个 CFC 文件中的函数?

    我有一个具有多种功能的 cfc 文件 info cfc 如下所示
  • 如何使用带有 IF EXISTS 子查询的 SQL Select 语句?

    如何使用 IF EXISTS 语句 SQL Server 从子查询中选择布尔值 它应该是这样的 SELECT TABLE1 Id NewFiled IF EXISTS SELECT Id FROM TABLE2 WHERE TABLE2 I
  • MYSQL枚举:@rownum,奇偶记录

    我问了一个关于为查询结果创建临时 虚拟 ID 的问题 mysql 和 php 查询结果的临时 虚拟 ID https stackoverflow com questions 4063998 mysql php temporary virtu
  • IllegalStateException:无法从cursorWindow读取第0行,第-1列

    IllegalStateException 无法从cursorWindow读取第0行 第 1列 我是 Android 新手 我查看了 smiller 问题确实解决了我的问题 请帮忙提前致谢 这是我的代码 function to add da
  • 数据库索引:是好事、坏事还是浪费时间?

    这里通常建议添加索引作为性能问题的补救措施 我只讨论读取和查询 我们都知道索引会使写入速度变慢 多年来 我在 DB2 和 MSSQL 上多次尝试过这种补救措施 但结果总是令人失望 我的发现是 无论索引会让事情变得更好是多么 明显 事实证明查
  • 为每一表行创建一个 json

    我想从表中的数据创建 json 表格看起来像这样 code D5ABX0 MKT536 WAEX44 我正在使用 FOR JSON PATH 这很好 SELECT code FROM feature FOR JSON PATH 但是这个查询
  • 实体框架可以在本地工作,但不能在 azure 上工作

    我有一个在本地完美运行的网络项目 但是 当我更改 Azure 上发布的网站中的连接字符串以连接到 SQL Azure 上的数据库时 它将开始出现此错误 System Data Entity Infrastructure Unintentio
  • 具有动态参数的 Oracle Lag 函数

    我有一个具体的问题 我有一个包含无效值的表 我需要替换无效值 此处0 与之前的值大于0 困难是 使用更新或插入对我来说是不合适的 游标和更新就可以了 我唯一的方法是使用 Select 语句 当我使用lag col1 1 当情况发生时 我只得
  • 为什么这个简单的 MySQL 查询不返回该行?

    我在表中有一行users与用户名test 但由于某种原因 此查询返回空结果集 SELECT id FROM users WHERE username test AND id null 但是 如果我删除 id null段 查询返回结果id 1
  • SQL 从一列到另一列搜索字符串

    以前可能有人问过这个问题 但我不知道如何搜索它 我想查找 Column2 中的字符串是否是 Column1 的一部分 或者根本没有在 Column1 中使用 Column1 Column2 ABCDE JKL XC XC PQ A XYZ
  • 如何使用 JDBC 执行过程

    这是我的功能 public static void execute delete on db String pass String login String port String host String table name String
  • Android SQLite 通配符

    我正在尝试使用通配符元素进行查询 以在 SQLite 表中搜索特定变量中任意位置具有元素的条目 public String getCheckoutEntry String title String ISBN Wild card Syntax
  • 使用nodes()方法在SQL中展平分层XML

    我有一个存储过程 它采用 XML 文档作为参数 其结构类似于以下内容
  • 在 SQL Server 中增加一个整数

    菜鸟问题在这里 每次我更改 SQL Server 2008 R2 表中的某个记录时 我都想增加一条 RevisionId 记录 为此 我使用以下语法 UPDATE TheTable SET RevisionId SELECT Revisio
  • 如何在 postgresql 的“tablefunc”查询中包含空值?

    我正在尝试使用crosstab http www postgresql org docs 9 1 static tablefunc html函数于postgresql创建一个pivot table 但是 我很难理解如何在查询中构建 SQL
  • MySQL Select 查询 - 仅获取值的前 10 个字符

    好的 这就是问题所在 我有一个包含一些列的表 主题 是其中一列 无论 主题 字段包含一个包含 100 个字母的字符串 我都需要从 主题 字段获取前 10 个字母 例如 Table tbl 列 id subject value SQL查询 S
  • 将一个巨大的字符串参数传递给存储过程

    我有一个存储过程 它有两个参数 ID 和日期 当我将大文本传递给 ID 参数时 仅考虑部分文本 就好像文本在某个地方被剪切一样 我想这是因为当我执行存储过程时如下 exec proc 1 2 3 4 20100101 一切正常 但是当我使用
  • 匹配 MySQL 中单词/后缀的相似/变体

    我如何匹配 MySQL 中单词的变体 例如搜索 accountancy 应匹配 accountant accountants accounting 等 我使用共享主机 因此无法向 MySQL 添加任何功能 例如 levenshtein 我想
  • ALL 的 SQL 参数

    我想知道SQL中是否有一个参数适用于所有 不是 例如 我现在正在编写一个搜索表 如果用户不在文本框中输入某些内容 则意味着忽略该特定参数并显示该字段的所有内容 我知道您可以为每种情况创建单独的 OLEDB 或 SQL 命令 并且它会起作用

随机推荐

  • 数据结构实验之栈与队列八:栈的基本操作

    Problem Description 堆栈是一种基本的数据结构 堆栈具有两种基本操作方式 xff0c push 和 pop push一个值会将其压入栈顶 xff0c 而 pop 则会将栈顶的值弹出 现在我们就来验证一下堆栈的使用 Inpu
  • 解决SpringSecurity阻止ajax的POST和PUT请求,导致403Forbidden的问题

    解决SpringSecurity阻止ajax的POST和PUT请求 xff0c 导致403Forbidden的问题 参考文章 xff1a xff08 1 xff09 解决SpringSecurity阻止ajax的POST和PUT请求 xff
  • Input.GetTouch 获取触摸

    Input GetTouch 获取触摸 static function GetTouch index int Touch Description 描述 Returns object representing status of a spec
  • Python-Pandas(1)数据读取与显示,数据样本行列选取

    span class hljs keyword import span pandas food info 61 pandas read csv span class hljs string 34 food info csv 34 span
  • 回归模型-线性回归算法

    线性回归算法 问题分为有监督问题和无监督问题两类 当用到标签来划分的时候就是有监督问题 xff0c 当没有用标签值的时候就是无监督问题 线性回归求解的结果是值 比如 xff1a 根据工资和年龄来预测出一个具体的值 xff0c 根据工资和年龄
  • 时间序列(三)滑动窗口

    滑动窗口就是能够根据指定的单位长度来框住时间序列 xff0c 从而计算框内的统计指标 相当于一个长度指定的滑块在刻度尺上面滑动 xff0c 每滑动一个单位即可反馈滑块内的数据 span class hljs import span clas
  • 时间序列(四)ARIMA模型与差分

    ARIMA模型 平稳性 xff1a 平稳性就是要求经由样本时间序列所得到的拟合曲线 在未来的一段期间内仍能顺着现有的形态 惯性 地延续下去 平稳性要求序列的均值和方差不发生明显变化 严平稳与弱平稳 xff1a 严平稳 xff1a 严平稳表示
  • 时间序列(五)股票分析

    首先导入相关模块 span class hljs keyword import span pandas span class hljs keyword as span pd span class hljs keyword import sp
  • Windows下Node多版本管理

    Windows下Node多版本管理 相关指令背景介绍GNVM 相关指令 查看node版本 node v 查看npm版本 span class token function npm span v 查看gnvm版本 gnvm version g
  • Notepad++与NodeJS

    文章目录 背景介绍理论分析实践操作结果展示 背景介绍 前段时间 xff0c 弄了张流量卡 xff0c 感觉线上查询太费劲了 不妙 xff0c 干脆通过NodeJS写个小软件来 xff0c 实时查询 程序员 xff0c 就是要方便自己嘛 哎
  • 傻瓜式Linpack安装(Mpich+Openblas+Hpl)

    Linpack安装 安装信息安装Mpich安装Openblas安装Hpl 参考资料 Linpack安装 安装信息 安装平台是Ubuntu16 04使用的是Mpich 43 Openblas 43 HplCPU架构为 Intel Nehale
  • [洛谷]P1591 阶乘数码 (#高精度 -1.2)

    题目描述 求n 中某个数码出现的次数 输入输出格式 输入格式 xff1a 第一行为t 10 xff0c 表示数据组数 接下来t行 xff0c 每行一个正整数n 1000 和数码a 输出格式 xff1a 对于每组数据 xff0c 输出一个整数
  • Ubuntu下Java安装(傻瓜式)

    准备安装Java xff0c 简单记录一下 xff1a 分为三步 Java安装Java环境配置测试Hello World xff01 小问题 Java安装 Ubuntu下很简单 xff0c 只需要 JAVA SE下载地址 选择自己的安装平台
  • 简单实现图片转彩色字符画

    在上次的教程中 xff0c 我们只是将图像转换为txt文本文件 xff0c 而txt文本文件是没有颜色的 在显示某些图片的时候 xff0c 我们往往希望可以包含颜色信息 这样图像便显得更加生动 接下来我便教大家如何将图像转换字符画的时候 x
  • 简单实现将GIF图片转换为字符画

    单单只是将静态图转换为字符画 xff0c 功能貌似太过单一 于是 xff0c 小编便想着 xff0c 既然静态图可以转换为字符画 xff0c 那么动态图是否也可以呢 毕竟 xff0c 动态图不也就是许多静态图拼凑在一起生成的吗 xff1f
  • win7/10 使用脱壳插件时 显示bad dos signature

    上次脱壳时使用插件进行脱壳时 xff0c 出现了以下问题 xff1a 出现的原因分析 xff1a 无法读取 xff08 00400000 0045CFFF xff09 内存 xff1a 由于这段内存为只读 权限不够 那么为何会出现上述错误
  • -bash: /usr/bin/cmake: No such file or directory错误

    成功安装cmake后 xff0c 如果出现 bash usr bin cmake No such file or directory xff0c 则可以手动添加 xff0c 找到安装的cmake文件 xff0c 进入cmake3 x文件夹中
  • poj 1716 Integer Intervals 差分约束

    Integer Intervals Time Limit 1000MS Memory Limit 10000K Total Submissions 9285 Accepted 3898 Description An integer inte
  • 机器学习(二)——贝叶斯分类器

    文章目录 1 贝叶斯决策论1 1 贝叶斯判定准则1 2 极大似然估计 2 朴素贝叶斯分类器2 1 拉普拉斯平滑2 2 示例 1 贝叶斯决策论 核心 xff1a 将最小化分类错误率转换为最大化先验概率和类条件概率 xff08 似然 xff09
  • SQLite SQL语句结构详解

    源自 xff1a http tiantian0521 blog 163 com blog static 4172088320109272217796 SQLite SQL语句结构详解 SELECT sql statement 61 SELE