sql基础语法及常见函数等

ops/2024/9/23 2:29:28/

一、SQL语句的种类

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

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

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

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

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

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

二、SQL的基本书写规则

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

三、常用SQL语句的语法

1、SELECT语句:

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

2、WHERE子句:

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

3、AND & OR运算符:

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

4、ORDER BY关键字:

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

5、INSERT INTO语句:

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

6、UPDATE语句:

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

7、DELETE语句:

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

四、进阶语法

1、SELECT TOP/LIMIT/ROWNUM子句:

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

2、LIKE操作符:

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

3、IN操作符:

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

4、BETWEEN操作符:

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

5、SQL别名:

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

6、SQL连接(JOIN):

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

五、常见的函数

1. 聚合函数

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

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

2. 字符串函数

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

sql">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. 数学函数

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

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

4. 日期和时间函数

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

sql">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. 转换函数

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

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

6. 系统函数

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

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

7. 流程控制函数

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

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

http://www.ppmy.cn/ops/113945.html

相关文章

MATLAB图像处理

MATLAB图像处理 MATLAB&#xff0c;作为美国MathWorks公司出品的商业数学软件&#xff0c;以其强大的矩阵运算能力和丰富的函数库&#xff0c;在图像处理领域得到了广泛的应用。MATLAB不仅提供了基础的图像处理功能&#xff0c;还通过图像处理工具箱&#xff08;Image Process…

PostgreSQL JAVA与SQL集成之PL/Java

PostgreSQL pljava PL/Java 作为 PostgreSQL 的编程语言扩展之一&#xff0c;与 PL/pgSQL&#xff08;PostgreSQL 原生的存储过程语言&#xff09;相比&#xff0c;提供了 Java 语言特有的面向对象功能&#xff0c;并支持 Java 的标准库和第三方库。由于 Java 是一种跨平台的语…

《MmAP : Multi-Modal Alignment Prompt for Cross-Domain Multi-Task Learning》中文校对版

系列论文研读目录 文章目录 系列论文研读目录摘要1 引言2 相关工作3 方法3.1对比图像预训练3.2 多模式对齐提示3.3 多任务提示学习框架 4 实验4.1基准设置4.2实验结果4.3消融研究 5、结论 摘要 多任务学习&#xff08;Multi-Task Learning&#xff0c;MTL&#xff09;是为了同…

Linux基本命令(初学者必备)

ubuntu下载软件工具的命令 更新软件源 sudo apt-get update 下载软件 sudo apt-get install 软件的名字 下载vim sudo apt-get install vim 在linux中写代码 1. 打开ubuntu上的shell终端 快捷键&#xff1a;ctrlaltt或者双击terminal图标 2. 打开或者新…

一、机器学习算法与实践_03概率论与贝叶斯算法笔记

1、概率论基础知识介绍 人工智能项目本质上是一个统计学项目&#xff0c;是通过对 样本 的分析&#xff0c;来评估/估计 总体 的情况&#xff0c;与数学知识相关联 高等数学 ——> 模型优化 概率论与数理统计 ——> 建模思想 线性代数 ——> 高性能计算 在机器学…

Git的基本操作

Git的基本操作 配置 常用&#xff1a; name email 表示是追溯到具体那个用户对代码的修改 # 配置全局用户名git config --global user.name "Your Name" # 配置全局用户邮箱git config --global user.email "emailexample.com"# 配置全局颜…

virtualbox中的网络模式,网络设置,固定IP

virtualbox关于网络设置的文档&#xff1a;https://www.virtualbox.org/manual/topics/networkingdetails.html#networkingdetails DHCP Dynamic Host Configuration Protocol&#xff1a;动态主机配置协议&#xff0c;是专门用来给网络中的节点分发IP地址&#xff0c;确保每…

Kubernetes集群部署(kubernetes)

三台主机恢复到docker快照状态&#xff1b; 检查驱动器类型为sytemd&#xff1b; 设置各个节点的主机名&#xff1b; 然后同步会话&#xff0c;修改hosts文件&#xff1b; 在k8s运行过程中不建议使用交换分区&#xff1b; 关闭交换分区&#xff1b; 但是这种方法是临时性的&am…