当前位置:实例文章 » 其他实例» [文章]sql学习笔记

sql学习笔记

发布人:shili8 发布时间:2025-03-12 11:14 阅读次数:0

**SQL 学习笔记**

**前言**

SQL(Structured Query Language)是用于管理关系数据库的标准化语言。它允许用户创建、修改和查询数据库中的数据。SQL 是一种重要的技能,广泛应用于各行各业,尤其是在数据分析和科学计算领域。

**一、SQL 基础**

###1.1 SQL 的基本概念* **表**:一个表是由多个记录组成的集合,每个记录代表一个实体。
* **列**:每个列代表一个属性或特征,例如姓名、年龄等。
* **行**:每一行代表一个记录。

###1.2 SQL 的基本命令####1.2.1 `CREATE TABLE`

用于创建新表。语法如下:

sqlCREATE TABLE 表名 (
 列名 数据类型,
 列名 数据类型,
 ...
);


示例:

sqlCREATE TABLE students (
 id INT PRIMARY KEY,
 name VARCHAR(255),
 age INT);


####1.2.2 `INSERT INTO`

用于向表中插入新记录。语法如下:

sqlINSERT INTO 表名 (列名, 列名, ...) VALUES (值, 值, ...);


示例:

sqlINSERT INTO students (id, name, age) VALUES (1, 'John Doe',20);


####1.2.3 `SELECT`

用于从表中检索数据。语法如下:

sqlSELECT 列名 FROM 表名 [WHERE 条件];


示例:

sqlSELECT * FROM students WHERE age >18;


####1.2.4 `UPDATE`

用于更新已有的记录。语法如下:

sqlUPDATE 表名 SET 列名 = 值, 列名 = 值, ... [WHERE 条件];


示例:

sqlUPDATE students SET age =21 WHERE id =1;


####1.2.5 `DELETE`

用于删除已有的记录。语法如下:

sqlDELETE FROM 表名 [WHERE 条件];


示例:

sqlDELETE FROM students WHERE id =1;


**二、SQL 查询**

###2.1 基本查询####2.1.1 `SELECT *` 查询所有列
sqlSELECT * FROM 表名;


示例:

sqlSELECT * FROM students;


####2.1.2 `SELECT 列名` 查询指定列
sqlSELECT 列名 FROM 表名;


示例:

sqlSELECT name, age FROM students;


###2.2 条件查询####2.2.1 `WHERE` 子句用于根据条件筛选记录。语法如下:

sqlSELECT * FROM 表名 WHERE 条件;


示例:

sqlSELECT * FROM students WHERE age >18;


####2.2.2 `AND` 和 `OR` 运算符用于组合多个条件。

sqlSELECT * FROM 表名 WHERE 条件1 AND 条件2;
SELECT * FROM 表名 WHERE 条件1 OR 条件2;


示例:

sqlSELECT * FROM students WHERE age >18 AND name = 'John Doe';
SELECT * FROM students WHERE age >18 OR name = 'Jane Doe';


###2.3 排序和分组####2.3.1 `ORDER BY` 子句用于根据指定列排序记录。语法如下:

sqlSELECT * FROM 表名 ORDER BY 列名 [ASC|DESC];


示例:

sqlSELECT * FROM students ORDER BY age DESC;


####2.3.2 `GROUP BY` 子句用于将记录分组到指定列中。语法如下:

sqlSELECT 列名 FROM 表名 GROUP BY 列名;


示例:

sqlSELECT name FROM students GROUP BY name;


###2.4 聚合函数####2.4.1 `SUM` 函数用于计算指定列的总和。

sqlSELECT SUM(列名) FROM 表名;


示例:

sqlSELECT SUM(age) FROM students;


####2.4.2 `AVG` 函数用于计算指定列的平均值。

sqlSELECT AVG(列名) FROM 表名;


示例:

sqlSELECT AVG(age) FROM students;


####2.4.3 `MAX` 和 `MIN` 函数用于分别找到指定列的最大值和最小值。

sqlSELECT MAX(列名), MIN(列名) FROM 表名;


示例:

sqlSELECT MAX(age), MIN(age) FROM students;


**三、SQL 运算符**

###3.1 算术运算符####3.1.1 `+` 和 `-` 运算符用于分别执行加法和减法。

sqlSELECT 列名 + 值, 列名 - 值 FROM 表名;


示例:

sqlSELECT age +2, age -2 FROM students;


####3.1.2 `*` 和 `/` 运算符用于分别执行乘法和除法。

sqlSELECT 列名 * 值, 列名 / 值 FROM 表名;


示例:

sqlSELECT age *2, age /2 FROM students;


###3.2 比较运算符####3.2.1 `=` 和 `<>` 运算符用于分别执行等于和不等于比较。

sqlSELECT 列名 = 值, 列名 <> 值 FROM 表名;


示例:

sqlSELECT age =18, age <>18 FROM students;


####3.2.2 `>` 和 `<` 运算符用于分别执行大于和小于比较。

sqlSELECT 列名 > 值, 列名 < 值 FROM 表名;


示例:

sqlSELECT age >18, age < 18 FROM students;


####3.2.3 `>=` 和 `<=` 运算符用于分别执行大于或等于和小于或等于比较。

sqlSELECT 列名 >= 值, 列名 <= 值 FROM 表名;


示例:

sqlSELECT age >=18, age <=18 FROM students;


###3.3 逻辑运算符####3.3.1 `AND` 和 `OR` 运算符用于分别执行逻辑与和逻辑或。

sqlSELECT 列名 AND 值, 列名 OR 值 FROM 表名;


示例:

sqlSELECT age >18 AND name = 'John Doe', age < 18 OR name = 'Jane Doe' FROM students;


####3.3.2 `NOT` 运算符用于执行逻辑非。

sqlSELECT NOT 列名 FROM 表名;


示例:

sqlSELECT NOT age >18 FROM students;


**四、SQL 函数**

###4.1 字符函数####4.1.1 `UPPER` 和 `LOWER` 函数用于分别执行大写和小写转换。

sqlSELECT UPPER(列名), LOWER(列名) FROM 表名;


示例:

sqlSELECT UPPER(name), LOWER(name) FROM students;


####4.1.2 `LTRIM` 和 `RTRIM` 函数用于分别执行左边和右边的空格移除。

sqlSELECT LTRIM(列名), RTRIM(列名) FROM 表名;


示例:

sqlSELECT LTRIM(name), RTRIM(name) FROM students;


####4.1.3 `SUBSTR` 函数用于执行子字符串提取。

sqlSELECT SUBSTR(列名, 开始位置, 长度) FROM 表名;


示例:

sqlSELECT SUBSTR(name,1,5) FROM students;


###4.2 日期函数####4.2.1 `CURDATE` 和 `CURRENT_DATE` 函数用于分别执行当前日期的获取。

sqlSELECT CURDATE(), CURRENT_DATE() FROM 表名;


示例:

sqlSELECT CURDATE(), CURRENT_DATE() FROM students;


####4.2.2 `NOW` 和 `SYSDATE` 函数用于分别执行当前时间和系统时间的获取。

sqlSELECT NOW(), SYSDATE() FROM 表名;


示例:

sqlSELECT NOW(), SYSDATE() FROM students;


###4.3 数字函数####4.3.1 `ABS` 函数用于

相关标签:笔记
其他信息

其他资源

Top