sql一些简单的基础语句

SQL是什么?MySQL是什么?
SQL是一种用于操作数据库的语言,sql是用于所有数据库的基本语言,不同数据库之间存在较小的语法更改,但是基本的sql语法基本保持不变,sql是S tructured Q uery Language 的简短缩写,根据ANSI(美国国家标准协会),sql是操作关系数据库管理的标准语言。
SQL用于访问,更新和操作数据库中的数据,他的设计允许管理RDBMS的数据,例如MYSQL,sql语言还用于控制数据访问以及数据库模式的创建和修改。
MySQL是一种RDMS,它允许保持数据库中存在的数据,MySQL提供对数据库的多用户访问
区别:
SQL是一种用于操作数据库的语言
SQL用于访问,更新和操作数据库的数据
SQL是结构化查询语言

MySQL是市场上第一个可用的开源数据库之一
MySQL是一种RDBMS,它允许保持数据库中存在的数据
MySQL是一个使用MySQL存储,检索,修改和管理数据库的RDBMS

查询语句 SELECT FROM

用于从数据库中选取数据

SELECT 列名称 FROM 表名称

SELECT * FROM 表名称
去重语句
关键词用于返回唯一不同的值。
SELECT DISTINCT 列名称 FROM 表名称
前N个语句
从数据库查寻前N条记录
select top N * from 表名称
select top N * from 表名称 order by 字段名 desc (按某个字段属性进行降序排序,取N条)
select top N * from (select top m * from 表名称 order by 字段名 ) a order by 字段名 desc (查询第N到M条记录)
select * from table_name limit N (前N条数据)

CASE...END判断语句

CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他' END

--Case搜索函数
CASE WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE '其他' END

筛选语句 WHERE
于提取那些满足指定标准的记录。
SELECT * FROM 表名称 WHERE id=1;
分组语句 GROUP BY

语句用于结合聚合函数,根据一个或多个列对结果集进行分组。
SELECT * FROM 表名称 GROUP BY 属性
HAVING
在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用。
HAVING 子句可以让我们筛选分组后的各组数据
SELECT 字段名, SUM(area)
FROM 表名称

GROUP BY 字段名
HAVING SUM(area)

时间函数

当前系统日期,时间

select getdata()

dateadd在向指定日期加上一段时间的基础上,返回新的datetime

例如:向日期加上2天

select dateadd(day,2,'2019-04-01')--返回2019-04-03 00:00:00.000

datediff 返回两个指定日期的日期和时间边界数

select datediff (day,'2019-04-01','2019-04-02'),---返回1

datepart 返回代表指定日期的指定日期部分整数

select datepart(month,'2019-04-01')---返回04

datename返回代表指定日期的指定日期部分的字符串

select datename(weekday,'2019-04-01')--返回星期一

数值函数

AVG---返回平均值

COUNT()--返回行数

FIRST()--返回第一个记录的值

LAST()--返回最后一个记录的值

MAX()--返回最大值

MIN()--返回最小值

SUM()--返回总和

ABS()--返回绝对值

字符串函数

UCASE()--将某个字段转换为大写

LCASE()--将某个字段转换为小写

MID()--从某个文本字段提取字符

SubString(字段,1,end)--从某个文本字段提取字符

LEN()--返回某个文本字段的长度

ROUND()--对某个数值字段进行指定小数位数的四舍五入

NOW()--返回当前的系统日期和时间

FORMAT()--格式化某个字段的显示方式

SQL注释

分单行注释和多行注释:

单行注释使用 --

多行注释采用 /*…*/

SQL编码规范建议参考https://www.cnblogs.com/zhouzhou-aspnet/articles/2590862.html

项目一:查找重复的电子邮箱

创建 email表,并插入如下三行数据

+----+---------+

| Id | Email   |

+----+---------+

| 1  | [email protected] |

| 2  | [email protected] |

| 3  | [email protected] |

+----+---------+

输入结果

项目二:查找大国

创建如下 World 表

+-----------------+------------+------------+--------------+---------------+

| name            | continent  | area       | population   | gdp           |

+-----------------+------------+------------+--------------+---------------+

| Afghanistan     | Asia       | 652230     | 25500100     | 20343000      |

| Albania         | Europe     | 28748      | 2831741      | 12960000      |

| Algeria         | Africa     | 2381741    | 37100000     | 188681000     |

| Andorra         | Europe     | 468        | 78115        | 3712000       |

| Angola          | Africa     | 1246700    | 20609294     | 100990000     |

+-----------------+------------+------------+--------------+---------------+

如果一个国家的面积超过300万平方公里,或者(人口超过2500万并且gdp超过2000万),那么这个国家就是大国家。

输出

猜你喜欢

转载自www.cnblogs.com/MsHibiscus/p/10640192.html