Latest web development tutorials

оператор SQLite

Какой оператор SQLite это?

Оператор является зарезервированным слово или символ, ИНЕКЕ для выполнения операций в основном используется для SQLite заявления, такие как сравнение и арифметике.

Оператор используется для указания SQLite заявление состояния и соединения множества условий в заявлении.

  • Арифметические операторы

  • сравнение

  • Логические операторы

  • Битовые операторы

SQLite арифметические операторы

Предположим, что переменная а = 10, то переменная B = 20, то:

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

примеров

Вот простой пример SQLite арифметических операторов:

SQLite> .mode линия
SQLite> выберите 10 + 20;
10 + 20 = 30


SQLite> выберите 10 - 20;
10--20 = -10


SQLite> выбрать 10 * 20;
10 * 20 = 200


SQLite> выберите 10/5;
10/5 = 2


SQLite> выберите 12% 5;
2 5 = 12%

SQLite сравнение

Предположим, что переменная а = 10, то переменная B = 20, то:

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

примеров

Предположим, что таблица Компания имеет следующие записи:

ID ИМЯ ВОЗРАСТ АДРЕС ЗАРПЛАТА
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000,0
3 Teddy 23 Норвегия 20000,0
4 Mark 25 Рич-Mond 65000,0
5 David 27 Texas 85000,0
6 Ким 22 Юго-зал 45000,0
7 Джеймс 24 Хьюстон 10000,0

Следующий пример демонстрирует использование различных SQLite сравнения.

Здесь мы используемИНЕКЕ, которая будет рассмотрена в отдельной главе в задней части , но теперь вы должны понимать, предложение WHERE в операторе SELECT , используется для установки условного оператора.

В следующем ЗЕЬЕСТ перечислены все записи ЗАРПЛАТА больше, чем 50000,00:

SQLite> SELECT * FROM компании, где ЗАРПЛАТА> 50000;
ID ИМЯ ВОЗРАСТ АДРЕС ЗАРПЛАТА
---------- ---------- ---------- ---------- ----------
4 Mark 25 Рич-Mond 65000,0
5 David 27 Texas 85000,0

Ниже перечислены ЗЕЬЕСТ ЗАРПЛАТУ 20.000,00 равное всех записей:

SQLite> SELECT * FROM компании, где ЗАРПЛАТА = 20000;
ID ИМЯ ВОЗРАСТ АДРЕС ЗАРПЛАТА
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
3 Teddy 23 Норвегия 20000,0

Ниже перечислены ЗЕЬЕСТ ЗАРПЛАТА не равна всем записям 20000,00:

! Sqlite> SELECT * FROM компании, где ЗАРПЛАТА = 20000;
ID ИМЯ ВОЗРАСТ АДРЕС ЗАРПЛАТА
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15000,0
4 Mark 25 Рич-Mond 65000,0
5 David 27 Texas 85000,0
6 Ким 22 Юго-зал 45000,0
7 Джеймс 24 Хьюстон 10000,0

Ниже перечислены ЗЕЬЕСТ ЗАРПЛАТА не равна всем записям 20000,00:

SQLite> SELECT * FROM компании, где ЗАРПЛАТА <> 20000;
ID ИМЯ ВОЗРАСТ АДРЕС ЗАРПЛАТА
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15000,0
4 Mark 25 Рич-Mond 65000,0
5 David 27 Texas 85000,0
6 Ким 22 Юго-зал 45000,0
7 Джеймс 24 Хьюстон 10000,0

Ниже перечислены ЗЕЬЕСТ ЗАРПЛАТА больше, чем сумма всех записей 65,000.00:

SQLite> SELECT * FROM компании, где ЗАРПЛАТА> = 65000;
ID ИМЯ ВОЗРАСТ АДРЕС ЗАРПЛАТА
---------- ---------- ---------- ---------- ----------
4 Mark 25 Рич-Mond 65000,0
5 David 27 Texas 85000,0

SQLite логические операторы

Вот список логических операторов SQLite всех.

运算符描述
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 运算符搜索指定表中的每一行,确保唯一性(无重复)。

примеров

Предположим, что таблица Компания имеет следующие записи:

ID ИМЯ ВОЗРАСТ АДРЕС ЗАРПЛАТА
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000,0
3 Teddy 23 Норвегия 20000,0
4 Mark 25 Рич-Mond 65000,0
5 David 27 Texas 85000,0
6 Ким 22 Юго-зал 45000,0
7 Джеймс 24 Хьюстон 10000,0

Следующий пример демонстрирует использование SQLite логических операторов.

Ниже перечислены ЗЕЬЕСТ AGE 25и больше или равно больше или равную заработную плату для всех записей 65000.00:

SQLite> SELECT * FROM компании, где возраст> = 25 И ЗАРПЛАТА> = 65000;
ID ИМЯ ВОЗРАСТ АДРЕС ЗАРПЛАТА
---------- ---------- ---------- ---------- ----------
4 Mark 25 Рич-Mond 65000,0
5 David 27 Texas 85000,0

Ниже перечислены ЗЕЬЕСТ AGE 25или больше или равно больше или равную заработную плату для всех записей 65000.00:

SQLite> SELECT * FROM компании, где возраст> = 25 ИЛИ ЗАРПЛАТА> = 65000;
ID ИМЯ ВОЗРАСТ АДРЕС ЗАРПЛАТА
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000,0
4 Mark 25 Рич-Mond 65000,0
5 David 27 Texas 85000,0

Ниже перечислены ЗЕЬЕСТ возраст не NULL для всех записей, все записи показали, это означает, что никаких записей возраст не равен NULL:

SQLite> SELECT * FROM компании, где AGE IS NOT NULL;
ID ИМЯ ВОЗРАСТ АДРЕС ЗАРПЛАТА
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000,0
3 Teddy 23 Норвегия 20000,0
4 Mark 25 Рич-Mond 65000,0
5 David 27 Texas 85000,0
6 Ким 22 Юго-зал 45000,0
7 Джеймс 24 Хьюстон 10000,0

Символ, следующий выберите Списки оператор Имя в 'Ki' все записи стали, 'Ki' нет предела после того, как:

SQLite> SELECT * FROM компании, где имя, как 'Ki%';
ID ИМЯ ВОЗРАСТ АДРЕС ЗАРПЛАТА
---------- ---------- ---------- ---------- ----------
6 Ким 22 Юго-зал 45000,0

Символ, следующий выберите Списки оператор Имя в 'Ki' все записи стали, 'Ki' нет предела после того, как:

SQLite> SELECT * FROM компании, где NAME GLOB 'Ki *';
ID ИМЯ ВОЗРАСТ АДРЕС ЗАРПЛАТА
---------- ---------- ---------- ---------- ----------
6 Ким 22 Юго-зал 45000,0

Следующий оператор ЗЕЬЕСТ перечисляет все записи AGE значение 25 или 27:

SQLite> SELECT * FROM компании, где возраст в (25, 27);
ID ИМЯ ВОЗРАСТ АДРЕС ЗАРПЛАТА
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15000,0
4 Mark 25 Рич-Mond 65000,0
5 David 27 Texas 85000,0

В следующем ЗЕЬЕСТ перечислены значения AGE не является ни 25, ни 27 из всех записей:

SQLite> SELECT * FROM компании, где AGE NOT IN (25, 27);
ID ИМЯ ВОЗРАСТ АДРЕС ЗАРПЛАТА
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
3 Teddy 23 Норвегия 20000,0
6 Ким 22 Юго-зал 45000,0
7 Джеймс 24 Хьюстон 10000,0

В следующем ЗЕЬЕСТ перечислены значения возраста все записи в диапазоне от 25 до 27 лет:

SQLite> SELECT * FROM компании, где в возрасте между 25 и 27;
ID ИМЯ ВОЗРАСТ АДРЕС ЗАРПЛАТА
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15000,0
4 Mark 25 Рич-Mond 65000,0
5 David 27 Texas 85000,0

Следующий оператор ЗЕЬЕСТ использует подзапросов SQL, подзапрос найти ЗАРПЛАТУ> поле AGE для всех записей с 65,000, за ИНЕКЕ используется в сочетании с EXISTS оператора, перечисляет внешнее присутствие AGE запрос в возврате подзапрос результаты всех записей:

SQLite> SELECT ВОЗРАСТ ОТ КОМПАНИИ 
        ГДЕ СУЩЕСТВУЕТ (SELECT Возраст от компании, где ЗАРПЛАТА> 65000);
AGE
----------
32
25
23
25
27
22
24

Следующий оператор ЗЕЬЕСТ использует SQL подзапросы, подзапрос найти ЗАРПЛАТУ> AGE поле для всех записей с 65,000, за ИНЕКЕ и> используются вместе, результаты запроса возвращает список внешнего запроса больше, чем суб-AGE Все записи в возрасте:

SQLite> SELECT * FROM КОМПАНИИ 
        ГДЕ AGE> (SELECT Возраст от компании, где ЗАРПЛАТА> 65000);
ID ИМЯ ВОЗРАСТ АДРЕС ЗАРПЛАТА
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0

SQLite Побитовые операторы

Битовые операторы, действующие на бит, и по крупицам операции. Таблица истинности & и | следующим образом:

pqp & qp | q
0000
0101
1111
1001

Предположим, что, если A = 60 и B = 13, теперь в двоичном формате, который выглядит следующим образом:

A = 0011 1100

B = 0000 1101

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

& B = 0000 1100

A | B = 0011 1101

~ A = 1100 0011

В следующей таблице перечислены языки, поддерживаемые SQLite битовых операторов. Предположим, что переменная А = 60, переменной В = 13, то:

运算符描述实例
&如果同时存在于两个操作数中,二进制 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

примеров

Следующий пример демонстрирует использование SQLite побитовое:

SQLite> .mode линия
SQLite> выберите 60 | 13;
60 | 13 = 61

SQLite> выберите 60 & 13;
60 & 13 = 12

SQLite> выберите 60 ^ 13;
10 * 20 = 200


SQLite> выберите (~ 60);
(~ 60) = -61

SQLite> выберите (60 << 2);
(2 << 60) = 240

SQLite> выберите (60 >> 2);
(60 >> 2) = 15