SQL 语法学习笔记
本文档是关于 SQL 语法的学习笔记,主要包括以下内容:
- SQL 基础语法
- SQL 数据库操作
- SQL 数据查询
- SQL 数据排序与分组
- SQL 数据统计
- SQL 数据更新与删除
SQL 基础语法
数据类型
SQL 支持多种数据类型,包括:
- 数值类型:int、float、double、decimal 等;
- 字符类型:char、varchar、text 等;
- 时间类型:date、time、datetime、timestamp 等;
- 其他类型:boolean、binary 等。
表操作
在 SQL 中,可以使用 CREATE TABLE
语句创建一张新表:
sqlCopy CodeCREATE TABLE table_name (
column1 datatype,
column2 datatype,
column3 datatype,
.....
);
使用 DROP TABLE
语句删除表:
sqlCopy CodeDROP TABLE table_name;
使用 ALTER TABLE
语句修改表:
sqlCopy CodeALTER TABLE table_name ADD column_name datatype;
ALTER TABLE table_name DROP COLUMN column_name;
ALTER TABLE table_name MODIFY COLUMN column_name datatype;
使用 TRUNCATE TABLE
语句清空表中所有数据:
sqlCopy CodeTRUNCATE TABLE table_name;
约束
在 SQL 中,约束用于限制表中列的数据类型和取值范围。包括以下几种:
- NOT NULL 约束
- UNIQUE 约束
- PRIMARY KEY 约束
- FOREIGN KEY 约束
- CHECK 约束
sqlCopy CodeCREATE TABLE table_name (
column1 datatype constraint,
column2 datatype constraint,
column3 datatype constraint,
.....
);
索引
索引用于提高 SQL 查询的效率。在 SQL 中,可以使用 CREATE INDEX
语句创建索引:
sqlCopy CodeCREATE INDEX index_name ON table_name (column_name);
SQL 数据库操作
创建数据库
使用 CREATE DATABASE
语句创建新数据库:
sqlCopy CodeCREATE DATABASE db_name;
删除数据库
使用 DROP DATABASE
语句删除数据库:
sqlCopy CodeDROP DATABASE db_name;
连接数据库
使用 USE
语句连接到指定数据库:
sqlCopy CodeUSE db_name;
SQL 数据查询
SELECT 语句
SELECT
语句用于从表中获取数据。可以使用 *
通配符表示获取所有列的数据:
sqlCopy CodeSELECT * FROM table_name;
也可以指定查询的列:
sqlCopy CodeSELECT column1, column2, ... FROM table_name;
WHERE 子句
WHERE
子句用于筛选符合条件的行:
sqlCopy CodeSELECT * FROM table_name WHERE condition;
ORDER BY 子句
ORDER BY
子句用于对查询结果排序:
sqlCopy CodeSELECT * FROM table_name ORDER BY column1 ASC/DESC;
LIMIT 子句
LIMIT
子句用于限制查询结果的行数:
sqlCopy CodeSELECT * FROM table_name LIMIT number;
JOIN
JOIN
用于连接两个或多个表的行:
sqlCopy CodeSELECT column_name(s)
FROM table1
JOIN table2
ON table1.column_name = table2.column_name;
SQL 数据排序与分组
GROUP BY 子句
GROUP BY
子句用于将结果按照指定列进行分组:
sqlCopy CodeSELECT column_name, COUNT(*)
FROM table_name
GROUP BY column_name;
HAVING 子句
HAVING
子句用于筛选分组后的结果:
sqlCopy CodeSELECT column_name, COUNT(*)
FROM table_name
GROUP BY column_name
HAVING COUNT(*) > 1;
ORDER BY 子句
ORDER BY
子句用于对分组后的结果进行排序:
sqlCopy CodeSELECT column_name, COUNT(*)
FROM table_name
GROUP BY column_name
HAVING COUNT(*) > 1
ORDER BY COUNT(*) DESC;
SQL 数据统计
COUNT 函数
COUNT
函数用于统计表中行的数量:
sqlCopy CodeSELECT COUNT(*) FROM table_name;
AVG 函数
AVG
函数用于计算表中某一列的平均值:
sqlCopy CodeSELECT AVG(column_name) FROM table_name;
SUM 函数
SUM
函数用于计算表中某一列的总和:
sqlCopy CodeSELECT SUM(column_name) FROM table_name;
MAX 和 MIN 函数
MAX
函数用于获取表中某一列的最大值,MIN
函数用于获取表中某一列的最小值:
sqlCopy CodeSELECT MAX(column_name) FROM table_name;
SELECT MIN(column_name) FROM table_name;
SQL 数据更新与删除
UPDATE 语句
UPDATE
语句用于更新表中的数据:
sqlCopy CodeUPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;
DELETE 语句
DELETE
语句用于删除表中的行:
sqlCopy CodeDELETE FROM table_name WHERE condition;
以上就是 SQL 语法的基本内容,希望对大家有所帮助。