图片 2

SQL之多条件查询,SQLite的基本使用

图片 1

   使用TSQL写多规格的询问存款和储蓄进程
   假使查询条件为空值的时候,即未有传递进来值,
   就能够使用ISNULL函数实行判断然后缺省管理。
   以下为示范代码,访问的是东风数据库employee表。  
   DECLARE @ename VARCHAR(20)
   DECLARE @Birth DATETIME
   SET @ename =NULL
   SET @Birth=CONVERT(DATETIME,’2000-9-9 00:00:00′)

SQLite 创建表

SQLite 的 CREATE
TABLE
 语句用于在其余给定的数据库成立叁个新表。创制基本表,涉及到命名表、定义列及每一列的数据类型。

当点击查询后非常全部法规

   SELECT * FROM northwind.dbo.Employees e
   WHERE
   (ISNULL(@ename,”)=” OR Firstname + lastname LIKE ‘%’ +@ename
+’%’)
   AND (ISNULL(@Birth,”)=” OR BirthDate < @Birth)

语法

CREATE TABLE 语句的主题语法如下:

CREATE TABLE database_name.table_name(
   column1 datatype  PRIMARY KEY(one or more columns),
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
);

CREATE TABLE 是告诉数据库系统创立贰个新表的主要字。CREATE TABLE
语句后继之表的唯生机勃勃的名号或标志。您也能够挑选钦定带有 table_name 的 database_name

图片 2

SQLite 删除表

SQLite 的 DROP
TABLE
 语句用来删除表定义及其具备相关数据、索引、触发器、节制和该表的权位标准。

使用此命令时要极度注意,因为若是三个表被剔除,表中具备新闻也将生生世世错失。

在扩充多规格查询时能够

语法

DROP TABLE
语句的为主语法如下。您可以筛选钦命带有表名的数据库名称,如下所示:

DROP TABLE database_name.table_name;

CREATE PROC Getcourse

SQLite Insert 语句

SQLite 的 INSERT INTO 语句用于向数据库的某部表中增加新的数据行

@Condition

语法

INSERT INTO 语句有二种基本语法,如下所示:

insert into TABLE_NAME (column1, column2, column3,...columnN)]  values(value1, value2, value3,...valueN);

在这间,column1, column2,…columnN 是要插入数据的表中的列的名号。

假使要为表中的具有列增加值,您也得以无需在 SQLite
查询中钦定列名称。但要确认保证值的顺序与列在表中的相继大器晚成致。SQLite 的 INSERT
INTO 语法如下:

insert into TABLE_NAME values(value1,value2,value3,...valueN);

AS

动用一个表来填充另多个表

您可以通过在一个有一组字段的表上使用 select 语句,填充数据到另一个表中。下面是语法:

  insert into first_table_name [(column1, column2, ... columnN)] select column1, column2,

...columnN from second_table_name[wherecondition];

SELECT * FROM course

  SQLite Select 语句

SQLite 的 SELECT 语句用于从 SQLite
数据库表中获取数据,以结果表的款型再次来到数据。那一个结果表也被叫做结果集。

语法

WHERE (c# LIKE’%’+@Condition+’%’ OR cname LIKE’%’+@Condition+’%’ OR t#
LIKE’%’+@Condition+’%’)

SQLite 的 SELECT 语句的主题语法如下:

select column1, column2, columnN FROM table_name;

在那边,column1,
column2…是表的字段,他们的值就是你要拿走的。假如你想赢得具有可用的字段,那么能够行使上边包车型地铁语法:

SELECT * FROM table_name;

SQLite Update 语句

SQLite 的 UPDATE 查询用于修正表中本来就有的记录。能够利用带有 WHERE
子句的 UPDATE 查询来更新选定行,不然全部的行都会被更新。

语法

富含 WHERE 子句的 UPDATE 查询的主干语法如下:

UPDATE table_name
SET column1 = value1, column2 = value2...., columnN = valueN
WHERE [condition];

你能够接纳 AND 或 OKuga 运算符来结合 N 个数据的法规。

SQLite Delete 语句

SQLite 的 DELETE 查询用于删除表中已某个记录。能够使用带有 WHERE
子句的 DELETE 查询来删除选定行,否则持有的记录都会被去除。

语法

包罗 WHERE 子句的 DELETE 查询的着力语法如下:

DELETE FROM table_name
WHERE [condition];

您能够应用 AND 或 OCR-V 运算符来结合 N 个数据的准则。

SQLite Where 子句

SQLite的 WHERE 子句用于内定从二个表或多个表中获取数据的尺度。

假定满意给定的口径,即为真(true卡塔 尔(阿拉伯语:قطر‎时,则从表中重回特定的值。您能够运用
WHERE 子句来过滤记录,只得到须求的笔录。

WHERE 子句不独有可用在 SELECT 语句中,它也可用在 UPDATE、DELETE
语句中,等等,这一个咱们将要随之的章节中读书到。

语法

SQLite 的带有 WHERE 子句的 SELECT 语句的骨干语法如下:

SELECT column1, column2, columnN 
FROM table_name
WHERE [condition]

SQLite AND/OR 运算符

SQLite 的 AND 和 OR 运算符用于编写翻译多少个标准化来压缩在 SQLite
语句中所选的数据。那三个运算符被叫作连接运算符。

这个运算符为同三个 SQLite 语句中差异的运算符之间的三个比较提供了恐怕。

AND 运算符

AND 运算符允许在八个 SQL 语句的 WHERE 子句中的七个原则的留存。使用
AND
运算符时,独有当全部法规都为真(true卡塔 尔(阿拉伯语:قطر‎时,整个条件为真(true卡塔 尔(阿拉伯语:قطر‎。例如,独有当
condition1 和 condition2 都为真(true卡塔 尔(阿拉伯语:قطر‎时,[condition1] AND
[condition2] 为真(true)。

语法

饱含 WHERE 子句的 AND 运算符的主导语法如下:

SELECT column1, column2, columnN 
FROM table_name
WHERE [condition1] AND [condition2]...AND [conditionN];

您可以利用 AND 运算符来结合 N 个数据的标准。SQLite
语句需求推行的动作是,无论是工作或询问,全体由 AND
分隔的法规都必须要为真(TRUE卡塔 尔(阿拉伯语:قطر‎。

SQLite Like 子句

SQLite
的 LIKE 运算符是用来相配通配符钦赐形式的文本值。要是寻找表明式与方式表达式相称,LIKE
运算符将重临真(true卡塔 尔(阿拉伯语:قطر‎,也正是 1。这里有三个通配符与 LIKE
运算符一同行使:

  • 百分号 (%)

  • 下划线 (_)

百分号(%卡塔 尔(阿拉伯语:قطر‎代表零个、多少个或三个数字或字符。下划线(_卡塔 尔(英语:State of Qatar)代表三个单纯的数字或字符。那几个标志可以被整合使用。

语法

% 和 _ 的中心语法如下:

SELECT FROM table_name
WHERE column LIKE 'XXXX%'

or 

SELECT FROM table_name
WHERE column LIKE '%XXXX%'

or

SELECT FROM table_name
WHERE column LIKE 'XXXX_'

or

SELECT FROM table_name
WHERE column LIKE '_XXXX'

or

SELECT FROM table_name
WHERE column LIKE '_XXXX_'

您能够运用 AND 或 O陆风X8 运算符来结合 N 个数据的标准。在这里间,XXXX
能够是其余数字或字符串值。

实例

下边一些实例演示了 带有 ‘%’ 和 ‘_’ 运算符的 LIKE 子句差异的地点:

语句 描述
WHERE SALARY LIKE ‘200%’ 查找以 200 开头的任意值
WHERE SALARY LIKE ‘%200%’ 查找任意位置包含 200 的任意值
WHERE SALARY LIKE ‘_00%’ 查找第二位和第三位为 00 的任意值
WHERE SALARY LIKE ‘2_%_%’ 查找以 2 开头,且长度至少为 3 个字符的任意值
WHERE SALARY LIKE ‘%2’ 查找以 2 结尾的任意值
WHERE SALARY LIKE ‘_2%3’ 查找第二位为 2,且以 3 结尾的任意值
WHERE SALARY LIKE ‘2___3’ 查找长度为 5 位数,且以 2 开头以 3 结尾的任意值

SQLite Glob 子句

SQLite
的 GLOB 运算符是用来相称通配符内定方式的文本值。即使寻觅表明式与格局表明式相配,GLOB
运算符将重临真(true卡塔尔,也正是 1。与 LIKE 运算符不一致的是,GLOB
是深浅写敏感的,对于上面的通配符,它坚决守护 UNIX 的语法。

  • 星号 (*)

  • 问号 (?)

星号(*卡塔 尔(阿拉伯语:قطر‎代表零个、二个或多少个数字或字符。问号(?卡塔尔代表多个十足的数字或字符。那么些标志能够被整合使用。

语法

* 和 ? 的主题语法如下:

SELECT FROM table_name
WHERE column GLOB 'XXXX*'

or 

SELECT FROM table_name
WHERE column GLOB '*XXXX*'

or

SELECT FROM table_name
WHERE column GLOB 'XXXX?'

or

SELECT FROM table_name
WHERE column GLOB '?XXXX'

or

SELECT FROM table_name
WHERE column GLOB '?XXXX?'

or

SELECT FROM table_name
WHERE column GLOB '????'

您能够利用 AND 或 OSportage 运算符来结合 N 个数据的标准。在这里间,XXXX
能够是任何数字或字符串值。

实例

上面一些实例演示了 带有 ‘*’ 和 ‘?’ 运算符的 GLOB 子句不一致的地点:

语句 描述
WHERE SALARY GLOB ‘200*’ 查找以 200 开头的任意值
WHERE SALARY GLOB ‘*200*’ 查找任意位置包含 200 的任意值
WHERE SALARY GLOB ‘?00*’ 查找第二位和第三位为 00 的任意值
WHERE SALARY GLOB ‘2??’ 查找以 2 开头,且长度至少为 3 个字符的任意值
WHERE SALARY GLOB ‘*2’ 查找以 2 结尾的任意值
WHERE SALARY GLOB ‘?2*3’ 查找第二位为 2,且以 3 结尾的任意值
WHERE SALARY GLOB ‘2???3’ 查找长度为 5 位数,且以 2 开头以 3 结尾的任意值

发表评论