美文网首页
sql重点语法

sql重点语法

作者: writing_琪 | 来源:发表于2018-08-17 09:47 被阅读0次

1,sql      ORDER BY关键字

select * from 表名

order by asc(desc)

对结果集按照某一属性进行排序

ORDER BY 排列时,不写明ASC DESC的时候,默认是ASC。

默认是升序,但可以在后面添加DESC关键字进行降序排列


2,SQL INSERT INTO 语句(增)

insert into 表名(表的属性1,表的属性2)

velues(插入的数据1,插入的数据2);


3,SQL UPDATE 语句(改)

更新数据

语法:update 表名 set 属性名1=“”,属性名2=“” where 属性名=“”;

执行没有 WHERE 子句的 UPDATE 要慎重,再慎重。


4,SQL DELETE 语句(删)

DELETE 语句用于删除表中的行

delete from 表名 where 属性名=“” ;

您可以在不删除表的情况下,删除表中所有的行。这意味着表结构、属性、索引将保持不变:

delete * from 表名;

sql关于删除的三个语句 drop  truncate delete


5,SQL SELECT TOP, LIMIT, ROWNUM 子句

并非所有的数据库系统都支持 SELECT TOP 语句。 MySQL 支持 LIMIT 语句来选取指定的条数数据, Oracle 可以使用 ROWNUM 来选取。

下面的 SQL 语句从 "Websites" 表中选取头两条记录:

select * from websites limit 2;

在 Microsoft SQL Server 中还可以使用百分比作为参数。

下面的 SQL 语句从 websites 表中选取前面百分之 50 的记录:

select  top  50  percent  * from websites;

6,SQL LIKE 操作符

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

下面的 SQL 语句选取 name 以字母 "G" 开始的所有客户:

select * from 表名 

where name like  'G%';

下面的 SQL 语句选取 name 以字母 "k" 结尾的所有客户:

select * from 表名

where name like '%k';

下面的 SQL 语句选取 name 包含模式 "oo" 的所有客户:

select * from 表名

where name like '%oo%';

下面的 SQL 语句选取 name 不包含模式 "oo" 的所有客户:

select * from 表名

where name not like '%oo%';

一些常规模式

'%a' //以a结尾的数据

'a%' //以a开头的数据

'%a%'    //含有a的数据

‘_a_’    //三位且中间字母是a的

'_a'    //两位且结尾字母是a的

'a_'    //两位且开头字母是a的


7,SQL 通配符

下面的 SQL 语句选取 url 以字母 "https" 开始的所有网站:

select  * from 表名

where url like 'https%';

下面的 SQL 语句选取 url 包含模式 "oo" 的所有网站:

select * from 表名

where url like '%oo%';

下面的 SQL 语句选取 name 以一个任意字符开始,然后是 "oogle" 的所有客户:

select * from 表名

where name like '_oogle';

下面的 SQL 语句选取 name 以 "G" 开始,然后是一个任意字符,然后是 "o",然后是一个任意字符,然后是 "le" 的所有网站:

select * from 表名

where name like 'G_o_le';

MySQL 中使用 REGEXP 或 NOT REGEXP 运算符 (或 RLIKE 和 NOT RLIKE) 来操作正则表达式。下面的 SQL 语句选取 name 以 "G"、"F" 或 "s" 开始的所有网站:

select * from 表名

where name regexp '^[GFs]';

下面的 SQL 语句选取 name 以 A 到 H 字母开头的网站:

select * from 表名

where name regexp '^[A-H]'; 

下面的 SQL 语句选取 name 不以 A 到 H 字母开头的网站:

select * from 表名

where name regexp '^[^A-H]'

首先说下LIKE命令都涉及到的通配符:

% 替代一个或多个字符

_ 仅替代一个字符

[charlist] 字符列中的任何单一字符

[^charlist]或者[!charlist] 不在字符列中的任何单一字符

其中搭配以上通配符可以让LIKE命令实现多种技巧:

1、LIKE'Mc%' 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。

2、LIKE'%inger' 将搜索以字母 inger 结尾的所有字符串(如 Ringer、Stringer)。

3、LIKE'%en%' 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。

4、LIKE'_heryl' 将搜索以字母 heryl 结尾的所有六个字母的名称(如 Cheryl、Sheryl)。

5、LIKE'[CK]ars[eo]n' 将搜索下列字符串:Carsen、K


8,SQL IN 操作符

IN 操作符允许您在 WHERE 子句中规定多个值。

下面的 SQL 语句选取 name 为 "Google" 或 "菜鸟教程" 的所有网站:

select * from 表名

where name in ('Google','菜鸟教程');


9,SQL BETWEEN 操作符

BETWEEN 操作符用于选取介于两个值之间的数据范围内的值。

下面的 SQL 语句选取 alexa 介于 1 和 20 之间的所有网站:

select * from 表名

where alexa between 1 and 20;

如需显示不在上面实例范围内的网站,请使用 NOT BETWEEN:

select * from 表名

where alexa not  between 1 and 20;


10,SQL INNER JOIN 关键字

INNER JOIN 关键字在表中存在至少一个匹配时返回行

select 列名 

from 表名1

inner join 表名2

on 表名1.列名 = 表名2.列名


11,SQL LEFT JOIN 关键字

从左表(表名1)返回行,即使右表(表名2)没有匹配

select 列名

from 表名1

left join 表名2

on 表名1.列名=表名2.列名


12,SQL RIGHT JOIN 关键字

从右表(表名2)返回行,即使左表(表名2)没有匹配

select 列名

from 表名1

right join 表名2

on 表名1.列名= 表名2.列名;


13,SQL FULL OUTER JOIN 关键字

交集  两个表的数据都返回

select 列名

from 表名1

full outer join 表名2

on 表名1.列名= 表名2.列名;


14,SQL UNION 操作符

合并两个或多个select 语句的结果集

语法

SELECT column_name(s) FROM table1

UNION

SELECT column_name(s) FROM table2;

注 只会选取不同的值  要选取所有的值要用   union all

SELECTcolumn_name(s)FROMtable1

UNION ALL

SELECTcolumn_name(s)FROMtable2;


15,SQL COUNT() 函数

下面的 SQL 语句计算 "access_log" 表中 "site_id"=3 的总访问量:

select count(count)as nums from access_log

where site_id=3;

下面的 SQL 语句计算 "access_log" 表中总记录数:

select count(*)as nums from access_log;

下面的 SQL 语句计算 "access_log" 表中不同 site_id 的记录数:

select count(distinct site_id)as nums from access_log;


16,SQL HAVING 子句

在sql中增加having字句的原因是,where关键字无法与聚合函数一起使用

having字句可以让我们筛选分组后的各种数据。

现在我们想要查找总访问量大于 200 的网站。

我们使用下面的 SQL 语句

select 

相关文章

  • sql重点语法

    1,sql ORDER BY关键字 select * from 表名 order by asc(desc) 对...

  • 数据库学习线路图

    SQL 语法教程 SQL 教程SQL 简介SQL 语法SQL Select选择SQL SELECT DISTINC...

  • SQL 语法大全

    SQL 语法大全 标签(空格分隔): SQL DB2 SQL语法大全 SQL SELECT SQL SELECT ...

  • sql语句执行顺序

    Oracle sql语句执行顺序 sql语法的分析是从右到左一、sql语句的执行步骤:1)语法分析,分析语句的语法...

  • Presto查询执行过程

    Presto中SQL运行过程 Coordinator接到SQL后,通过SQL语法解析器把SQL语法解析变成一个抽象...

  • sql

    sql经典语句经典SQL语句大全(绝对的经典) - 浪迹天涯芳草 - 博客园 sql语法SQL语句查询语句完整语法...

  • SQL基本查询

    1.SQL SELECT: 语法: 2.SQL SELECT DISTINCT: 语法: 3.WHERE 子句: ...

  • SQL基础语句

    SQL SELECT 语法SELECT 列名称 FROM 表名称 语法SELECT * FROM 表名称 SQL ...

  • 二、SQL笔记--MySQL基本操作

    一、SQL语法规则 SQL语法规则:SQL是一种结构化编程语言 基础SQL指令通常是以行为单位 SQL指令需要语句...

  • ora2pg pl/sql转换为pl/pgsql测试

    以oracle 11g pl/sql语法为例,目标postgresql版本10.5 pl/sql语法转换 1. 变...

网友评论

      本文标题:sql重点语法

      本文链接:https://www.haomeiwen.com/subject/xzfjuftx.html