当前位置: 首页 > article >正文

sql基础语法及常见函数等

一、SQL语句的种类

1、DDL(Data Definition Language,数据定义语言):

CREATE:用于创建数据库和表等对象。
DROP:用于删除数据库和表等对象。
ALTER:用于修改数据库表的结构,如添加、删除或修改列。

2、DML(Data Manipulation Language,数据操纵语言):

SELECT:用于从数据库中检索数据。
INSERT INTO:用于向数据库中插入新的数据行。
UPDATE:用于修改数据库表中已存在的数据。
DELETE:用于从数据库表中删除数据。

3、DCL(Data Control Language,数据控制语言):

GRANT:用于赋予用户操作权限。
REVOKE:用于取消用户的操作权限。
COMMIT:用于确认对数据库中的数据进行的变更。
ROLLBACK:用于取消对数据库中的数据进行的变更。

二、SQL的基本书写规则

1SQL语句要以分号(;)结尾。
2SQL语句不区分大小写,但通常为了可读性,关键字大写,表名和列名小写。
3、常数的书写方式是固定的,字符串用单引号括起来,日期也可以用单引号括起来,数字则直接书写。
4、单词需要用半角空格或者换行来分隔,不能使用全角空格。

三、常用SQL语句的语法

1、SELECT语句:

基本语法:SELECT 列名1, 列名2, ... FROM 表名;
检索所有列:SELECT * FROM 表名;
去除重复值:SELECT DISTINCT 列名 FROM 表名;

2、WHERE子句:

用于筛选满足指定条件的记录。
语法:SELECT 列名1, 列名2, ... FROM 表名 WHERE 条件;

3、AND & OR运算符:

AND运算符表示同时满足所有条件。
OR运算符表示满足任一条件。
语法示例:SELECT * FROM 表名 WHERE 条件1 AND 条件2;SELECT * FROM 表名 WHERE 条件1 OR 条件2;

4、ORDER BY关键字:

用于对结果集进行排序。
语法:SELECT 列名1, 列名2, ... FROM 表名 ORDER BY 列名1 ASC|DESC, 列名2 ASC|DESC;

5、INSERT INTO语句:

用于向表中插入新记录。
语法:INSERT INTO 表名 (列名1, 列名2, ...) VALUES (1,2, ...);

6、UPDATE语句:

用于修改表中的记录。
语法:UPDATE 表名 SET 列名1 =1, 列名2 =2, ... WHERE 条件;

7、DELETE语句:

用于从表中删除记录。
语法:DELETE FROM 表名 WHERE 条件;

四、进阶语法

1、SELECT TOP/LIMIT/ROWNUM子句:

用于限制查询结果的记录数。
SQL Server/MS Access:SELECT TOP number|percent 列名 FROM 表名;
MySQL:SELECT 列名 FROM 表名 LIMIT number;
Oracle:SELECT 列名 FROM 表名 WHERE ROWNUM <= number;

2、LIKE操作符:

用于在WHERE子句中搜索列中的指定模式。
语法:SELECT 列名 FROM 表名 WHERE 列名 LIKE 模式;

3、IN操作符:

允许在WHERE子句中规定多个值。
语法:SELECT 列名 FROM 表名 WHERE 列名 IN (1,2, ...);

4、BETWEEN操作符:

用于选取介于两个值之间的数据范围内的值。
语法:SELECT 列名 FROM 表名 WHERE 列名 BETWEEN1 AND2;

5、SQL别名:

可以为表或列指定别名,以便在查询中引用。
列的别名语法:SELECT 列名 AS 别名 FROM 表名;
表的别名语法:SELECT 列名 FROM 表名 AS 别名;

6、SQL连接(JOIN):

用于将来自两个或多个表的行结合起来。
常见的连接类型有INNER JOINLEFT JOINRIGHT JOIN等。

五、常见的函数

1. 聚合函数

聚合函数主要用于对一组值执行计算,并返回单个值。常见的聚合函数包括:

AVG(column):返回某列的平均值。
COUNT(column):返回某列的行数(不包括NULL值)。COUNT(*)则返回被选行数,包括NULL值。
MAX(column):返回某列的最大值。
MIN(column):返回某列的最小值。
SUM(column):返回某列数值的总和。

2. 字符串函数

字符串函数用于对字符串数据进行操作。常见的字符串函数包括:

CONCAT(str1, str2, ...):将两个或多个字符串连接成一个字符串。
LENGTH(str)LEN(str):返回字符串的长度。
UPPER(str):将字符串转换为大写。
LOWER(str):将字符串转换为小写。
SUBSTR(str, start, length) 或 SUBSTRING(str, start, length):返回字符串的子串。
REPLACE(str, from_str, to_str):将字符串中的子串替换为另一个子串。
TRIM(str):去除字符串两端的空格。

3. 数学函数

数学函数用于执行数学计算。常见的数学函数包括:

ROUND(num, decimal_places):将数字四舍五入到指定的小数位数。
ABS(num):返回数字的绝对值。
CEIL(num) 或 CEILING(num):向上取整。
FLOOR(num):向下取整。
MOD(x, y):返回x除以y的余数。
RAND():返回01之间的随机浮点数。

4. 日期和时间函数

日期和时间函数用于处理日期和时间数据。常见的日期和时间函数包括:

NOW():返回当前的日期和时间。
CURDATE():返回当前的日期。
CURTIME():返回当前的时间。
YEAR(date):返回日期中的年份。
MONTH(date):返回日期中的月份。
DAY(date):返回日期中的天数。
DATE_ADD(date, INTERVAL value unit):将日期加上指定的时间间隔。
DATE_SUB(date, INTERVAL value unit):从日期减去指定的时间间隔。
DATEDIFF(date1, date2):计算两个日期之间的天数差。

5. 转换函数

转换函数用于将一种数据类型转换为另一种数据类型。常见的转换函数包括:

CAST(expression AS data_type):将表达式转换为指定的数据类型。
CONVERT(data_type[(length)], expression [, style]):将表达式转换为指定的数据类型,并可选择性地指定样式。

6. 系统函数

系统函数用于返回数据库服务器的系统信息。常见的系统函数包括:

VERSION():返回数据库的版本号。
DATABASE():返回当前数据库的名称。
USER()SYSTEM_USER:返回当前数据库用户的名称。

7. 流程控制函数

流程控制函数用于在SQL查询中执行条件逻辑。常见的流程控制函数包括:

IF(condition, true_value, false_value):如果条件为真,则返回true_value;否则返回false_value。
CASE WHEN condition THEN result [WHEN ...] [ELSE result] END:根据条件返回不同的结果。

http://www.kler.cn/news/312192.html

相关文章:

  • 解决:The play() request was interrupted by a call to pause().报错
  • Android Glide:让图片加载从未如此简单
  • 14_input子系统my_touch_device,my_touch_handlerLinux内核模块
  • Android 将EasyPermissions进一步封装,使得动态权限申请更加简明
  • Java 23、JDK 23正式发布!
  • C++之第十二课
  • 红日药业携手实在智能,构建RPA数字员工平台满足业务一体化需求 | 实在RPA案例
  • Java 多态(难)
  • VS运行程序时报错--无法定位程序输入点
  • Gitlab学习(007 gitlab项目操作)
  • 电影《祝你幸福!》观后感
  • 梧桐数据库(WuTongDB):SQL Server Query Optimizer 简介
  • OSPFv3协议几类LSA介绍
  • 【图像压缩与重构】基于标准+改进BP神经网络
  • Linux实操笔记2 Ubuntu安装Nginx的不同方法
  • python检测keycloak证书连接报错问题
  • 基于多域名,通过云运营商弹性负载,Nginx配置等基于的多租户系统部署
  • 有没有通过倾斜摄影文件直接导出DSM/DOM的文件软件?
  • npm发布插件超级简单版
  • django分发路由
  • alias 后门从入门到应急响应
  • 百度移动刷下拉词工具:快速出下拉词的技术分析
  • 肥胖成因:饮食之外,消耗吸收慢是关键因素
  • git gc
  • Java面试篇基础部分-线程的基本方法
  • 蓝桥杯-STM32G431RBT6(解决LCD与LED引脚冲突的问题)
  • 大数据时代:历史、发展与未来
  • 王道408考研数据结构-绪论
  • linux-软件包管理-软件源配置
  • Centos 7 搭建Samba