Latest web development tutorials

operador de SQLite

O operador de SQLite é?

Operador é uma palavra ou caractere reservado, cláusula WHERE para executar operações é usado principalmente para instrução SQLite, como comparação e aritmética.

Operador é usado para especificar a instrução SQLite de estado e ligar uma pluralidade de condições constantes da Declaração.

  • operadores aritméticos

  • comparação

  • Operadores lógicos

  • Operadores bit a bit

SQLite operadores aritméticos

Suponhamos que a variável a = 10, b = a variável 20, em seguida:

运算符描述实例
+加法 - 把运算符两边的值相加 a + b 将得到 30
-减法 - 左操作数减去右操作数 a - b 将得到 -10
*乘法 - 把运算符两边的值相乘 a * b 将得到 200
/除法 - 左操作数除以右操作数 b / a 将得到 2
%取模 - 左操作数除以右操作数后得到的余数 b % a will give 0

Exemplos

Aqui está um exemplo simples de SQLite operadores aritméticos:

sqlite> linha .mode
sqlite> selecione 10 + 20;
10 + 20 = 30


sqlite> selecione 10-20;
10--20 = -10


sqlite> selecione 10 * 20;
10 * 20 = 200


sqlite> selecione 10/5;
05/10 = 2


sqlite> selecione 12% 5;
2 = 5 12%

comparação SQLite

Suponhamos que a variável a = 10, b = a variável 20, em seguida:

运算符描述实例
==检查两个操作数的值是否相等,如果相等则条件为真。 (a == b) 不为真。
=检查两个操作数的值是否相等,如果相等则条件为真。 (a = b) 不为真。
!=检查两个操作数的值是否相等,如果不相等则条件为真。 (a != b) 为真。
<>检查两个操作数的值是否相等,如果不相等则条件为真。 (a <> b) 为真。
>检查左操作数的值是否大于右操作数的值,如果是则条件为真。 (a > b) 不为真。
<检查左操作数的值是否小于右操作数的值,如果是则条件为真。 (a < b) 为真。
>=检查左操作数的值是否大于等于右操作数的值,如果是则条件为真。 (a >= b) 不为真。
<=检查左操作数的值是否小于等于右操作数的值,如果是则条件为真。 (a <= b) 为真。
!<检查左操作数的值是否不小于右操作数的值,如果是则条件为真。 (a !< b) 为假。
!>检查左操作数的值是否不大于右操作数的值,如果是则条件为真。 (a !> b) 为真。

Exemplos

mesa EMPRESA Suponha que tem os seguintes registros:

ID NOME SALÁRIO IDADE ENDEREÇO
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20.000,0
2 Allen 25 Texas 15.000,0
3 Teddy 23 Norway 20.000,0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0
6 Kim 22 Sul-Hall 45.000,0
7 James 24 Houston 10000.0

O exemplo seguinte demonstra o uso de vários comparação SQLite.

Aqui, usamosa cláusula WHERE,que será abordado em um capítulo separado na parte de trás, mas agora você precisa entender, a cláusula WHERE da instrução SELECT é usada para definir uma instrução condicional.

A instrução SELECT a seguir lista todos os registros SALÁRIO é maior que 50.000,00:

sqlite> SELECT * FROM empresa onde SALÁRIO> 50000;
ID NOME SALÁRIO IDADE ENDEREÇO
---------- ---------- ---------- ---------- ----------
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0

A seguinte instrução SELECT relaciona SALÁRIO 20.000,00 igual a todos os registros:

sqlite> SELECT * FROM empresa onde SALÁRIO = 20000;
ID NOME SALÁRIO IDADE ENDEREÇO
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20.000,0
3 Teddy 23 Norway 20.000,0

A seguinte instrução SELECT relaciona o salário não é igual a todos os registros de 20.000,00:

! Sqlite> SELECT * FROM empresa onde SALÁRIO = 20000;
ID NOME SALÁRIO IDADE ENDEREÇO
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15.000,0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0
6 Kim 22 Sul-Hall 45.000,0
7 James 24 Houston 10000.0

A seguinte instrução SELECT relaciona o salário não é igual a todos os registros de 20.000,00:

sqlite> SELECT * FROM empresa onde SALÁRIO <> 20000;
ID NOME SALÁRIO IDADE ENDEREÇO
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15.000,0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0
6 Kim 22 Sul-Hall 45.000,0
7 James 24 Houston 10000.0

A seguinte instrução SELECT relaciona o salário é maior que a soma de todos os registros de 65.000,00:

sqlite> SELECT * FROM empresa onde SALÁRIO> = 65000;
ID NOME SALÁRIO IDADE ENDEREÇO
---------- ---------- ---------- ---------- ----------
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0

operadores lógicos SQLite

Aqui está uma lista de operadores lógicos SQLite todos.

运算符描述
ANDAND 运算符允许在一个 SQL 语句的 WHERE 子句中的多个条件的存在。
BETWEENBETWEEN 运算符用于在给定最小值和最大值范围内的一系列值中搜索值。
EXISTSEXISTS 运算符用于在满足一定条件的指定表中搜索行的存在。
ININ 运算符用于把某个值与一系列指定列表的值进行比较。
NOT ININ 运算符的对立面,用于把某个值与不在一系列指定列表的值进行比较。
LIKELIKE 运算符用于把某个值与使用通配符运算符的相似值进行比较。
GLOBGLOB 运算符用于把某个值与使用通配符运算符的相似值进行比较。GLOB 与 LIKE 不同之处在于,它是大小写敏感的。
NOTNOT 运算符是所用的逻辑运算符的对立面。比如 NOT EXISTS、NOT BETWEEN、NOT IN,等等。它是否定运算符。
OROR 运算符用于结合一个 SQL 语句的 WHERE 子句中的多个条件。
IS NULLNULL 运算符用于把某个值与 NULL 值进行比较。
ISIS 运算符与 = 相似。
IS NOTIS NOT 运算符与 != 相似。
||连接两个不同的字符串,得到一个新的字符串。
UNIQUEUNIQUE 运算符搜索指定表中的每一行,确保唯一性(无重复)。

Exemplos

mesa EMPRESA Suponha que tem os seguintes registros:

ID NOME SALÁRIO IDADE ENDEREÇO
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20.000,0
2 Allen 25 Texas 15.000,0
3 Teddy 23 Norway 20.000,0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0
6 Kim 22 Sul-Hall 45.000,0
7 James 24 Houston 10000.0

O exemplo seguinte demonstra a utilização de operadores lógicos SQLite.

A seguinte instrução SELECT relaciona AGE 25e maior ou igual maior ou salários iguais para todos os registros 65000.00:

sqlite> SELECT * FROM empresa onde AGE> = 25 E SALÁRIO> = 65000;
ID NOME SALÁRIO IDADE ENDEREÇO
---------- ---------- ---------- ---------- ----------
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0

A seguinte instrução SELECT relaciona AGEde 25 oumaior ou igual maior ou salários iguais para todos os registros 65000.00:

sqlite> SELECT * FROM empresa onde AGE> = 25 OR SALÁRIO> = 65000;
ID NOME SALÁRIO IDADE ENDEREÇO
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20.000,0
2 Allen 25 Texas 15.000,0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0

A seguinte instrução SELECT relaciona o AGE não é NULL para todos os registros, todos os registros mostraram, isso significa que não há registro de idade é igual a NULL:

sqlite> SELECT * FROM empresa onde a idade não é NULL;
ID NOME SALÁRIO IDADE ENDEREÇO
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20.000,0
2 Allen 25 Texas 15.000,0
3 Teddy 23 Norway 20.000,0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0
6 Kim 22 Sul-Hall 45.000,0
7 James 24 Houston 10000.0

Character seguinte listas de seleção instrução de nome para 'Ki' todos os registros começaram, 'Ki' há limite após:

sqlite> SELECT * FROM empresa onde NOME LIKE 'Ki%';
ID NOME SALÁRIO IDADE ENDEREÇO
---------- ---------- ---------- ---------- ----------
6 Kim 22 Sul-Hall 45.000,0

Character seguinte listas de seleção instrução de nome para 'Ki' todos os registros começaram, 'Ki' há limite após:

sqlite> SELECT * FROM empresa onde NOME GLOB 'Ki *';
ID NOME SALÁRIO IDADE ENDEREÇO
---------- ---------- ---------- ---------- ----------
6 Kim 22 Sul-Hall 45.000,0

A seguinte instrução SELECT relaciona todo o valor AGE registros de 25 ou 27:

sqlite> SELECT * FROM empresa onde IDADE IN (25, 27);
ID NOME SALÁRIO IDADE ENDEREÇO
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15.000,0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0

A instrução SELECT a seguir lista os valores de idade é nem 25, nem 27 de todos os registros:

sqlite> SELECT * FROM empresa onde a idade não IN (25, 27);
ID NOME SALÁRIO IDADE ENDEREÇO
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20.000,0
3 Teddy 23 Norway 20.000,0
6 Kim 22 Sul-Hall 45.000,0
7 James 24 Houston 10000.0

A instrução SELECT a seguir lista os valores AGE todos os registros entre 25 e 27:

sqlite> SELECT * FROM empresa onde Idade entre 25 e 27;
ID NOME SALÁRIO IDADE ENDEREÇO
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15.000,0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0

A seguinte instrução SELECT usa subconsultas SQL, subconsulta achado SALÁRIO> campo de idade para todos os registros com 65.000, atrás da cláusula WHERE é usado em conjunto com o operador que é a lista presença consulta AGE exterior nas sub-consulta retorna resultados de todos os registros:

sqlite> AGE SELECT FROM COMPANY 
        ONDE EXISTE (SELECT em geral de empresa onde SALÁRIO> 65000);
AGE
----------
32
25
23
25
27
22
24

A seguinte instrução SELECT usa subconsultas SQL, subconsulta achado SALÁRIO> campo de idade para todos os registros com 65.000, atrás da cláusula WHERE e> operadores são usados ​​em conjunto, os resultados da consulta retorna uma lista de consulta externa é maior do que a sub-AGE Todos os registros da idade:

sqlite> SELECT * FROM COMPANY 
        Onde a idade> (SELECT em geral de empresa onde SALÁRIO> 65000);
ID NOME SALÁRIO IDADE ENDEREÇO
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20.000,0

Operadores bit a bit SQLite

Operadores bit a bit que actuam sobre o pouco e pouco a operação bits. Tabela verdade & e | da seguinte forma:

pqp & qp | q
0000
0101
1111
1001

Suponhamos que se A = 60, e B = 13, agora num formato binário, que é como se segue:

A = 0011 1100

B = 0000 1101

-----------------

A & B = 0000 1100

A | B = 0011 1101

~ A = 1100 0011

A tabela a seguir lista os idiomas suportados pelos operadores bit SQLite. Suponhamos que a variável A = 60, a variável B = 13, então:

运算符描述实例
&如果同时存在于两个操作数中,二进制 AND 运算符复制一位到结果中。 (A & B) 将得到 12,即为 0000 1100
|如果存在于任一操作数中,二进制 OR 运算符复制一位到结果中。 (A | B) 将得到 61,即为 0011 1101
~二进制补码运算符是一元运算符,具有"翻转"位效应。 (~A ) 将得到 -61,即为 1100 0011,2 的补码形式,带符号的二进制数。
<<二进制左移运算符。左操作数的值向左移动右操作数指定的位数。 A << 2 将得到 240,即为 1111 0000
>> 二进制右移运算符。左操作数的值向右移动右操作数指定的位数。 A >> 2 将得到 15,即为 0000 1111

Exemplos

O exemplo a seguir demonstra o uso de bit a bit SQLite:

sqlite> linha .mode
sqlite> selecione 60 | 13;
60 | 13 = 61

sqlite> selecione 60 e 13;
60 & 13 = 12

sqlite> selecione 60 ^ 13;
10 * 20 = 200


sqlite> selecione (~ 60);
(~ 60) = -61

sqlite> selecione (60 << 2);
(2 << 60) = 240

sqlite> select (60 >> 2);
(60 >> 2) = 15