SQL 语法学习笔记

本文档是关于 SQL 语法的学习笔记,主要包括以下内容:

  1. SQL 基础语法
  2. SQL 数据库操作
  3. SQL 数据查询
  4. SQL 数据排序与分组
  5. SQL 数据统计
  6. SQL 数据更新与删除

SQL 基础语法

数据类型

SQL 支持多种数据类型,包括:

  • 数值类型:int、float、double、decimal 等;
  • 字符类型:char、varchar、text 等;
  • 时间类型:date、time、datetime、timestamp 等;
  • 其他类型:boolean、binary 等。

表操作

在 SQL 中,可以使用 CREATE TABLE 语句创建一张新表:

sqlCopy Code
CREATE TABLE table_name ( column1 datatype, column2 datatype, column3 datatype, ..... );

使用 DROP TABLE 语句删除表:

sqlCopy Code
DROP TABLE table_name;

使用 ALTER TABLE 语句修改表:

sqlCopy Code
ALTER 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 Code
TRUNCATE TABLE table_name;

约束

在 SQL 中,约束用于限制表中列的数据类型和取值范围。包括以下几种:

  • NOT NULL 约束
  • UNIQUE 约束
  • PRIMARY KEY 约束
  • FOREIGN KEY 约束
  • CHECK 约束
sqlCopy Code
CREATE TABLE table_name ( column1 datatype constraint, column2 datatype constraint, column3 datatype constraint, ..... );

索引

索引用于提高 SQL 查询的效率。在 SQL 中,可以使用 CREATE INDEX 语句创建索引:

sqlCopy Code
CREATE INDEX index_name ON table_name (column_name);

SQL 数据库操作

创建数据库

使用 CREATE DATABASE 语句创建新数据库:

sqlCopy Code
CREATE DATABASE db_name;

删除数据库

使用 DROP DATABASE 语句删除数据库:

sqlCopy Code
DROP DATABASE db_name;

连接数据库

使用 USE 语句连接到指定数据库:

sqlCopy Code
USE db_name;

SQL 数据查询

SELECT 语句

SELECT 语句用于从表中获取数据。可以使用 * 通配符表示获取所有列的数据:

sqlCopy Code
SELECT * FROM table_name;

也可以指定查询的列:

sqlCopy Code
SELECT column1, column2, ... FROM table_name;

WHERE 子句

WHERE 子句用于筛选符合条件的行:

sqlCopy Code
SELECT * FROM table_name WHERE condition;

ORDER BY 子句

ORDER BY 子句用于对查询结果排序:

sqlCopy Code
SELECT * FROM table_name ORDER BY column1 ASC/DESC;

LIMIT 子句

LIMIT 子句用于限制查询结果的行数:

sqlCopy Code
SELECT * FROM table_name LIMIT number;

JOIN

JOIN 用于连接两个或多个表的行:

sqlCopy Code
SELECT column_name(s) FROM table1 JOIN table2 ON table1.column_name = table2.column_name;

SQL 数据排序与分组

GROUP BY 子句

GROUP BY 子句用于将结果按照指定列进行分组:

sqlCopy Code
SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name;

HAVING 子句

HAVING 子句用于筛选分组后的结果:

sqlCopy Code
SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name HAVING COUNT(*) > 1;

ORDER BY 子句

ORDER BY 子句用于对分组后的结果进行排序:

sqlCopy Code
SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name HAVING COUNT(*) > 1 ORDER BY COUNT(*) DESC;

SQL 数据统计

COUNT 函数

COUNT 函数用于统计表中行的数量:

sqlCopy Code
SELECT COUNT(*) FROM table_name;

AVG 函数

AVG 函数用于计算表中某一列的平均值:

sqlCopy Code
SELECT AVG(column_name) FROM table_name;

SUM 函数

SUM 函数用于计算表中某一列的总和:

sqlCopy Code
SELECT SUM(column_name) FROM table_name;

MAX 和 MIN 函数

MAX 函数用于获取表中某一列的最大值,MIN 函数用于获取表中某一列的最小值:

sqlCopy Code
SELECT MAX(column_name) FROM table_name; SELECT MIN(column_name) FROM table_name;

SQL 数据更新与删除

UPDATE 语句

UPDATE 语句用于更新表中的数据:

sqlCopy Code
UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;

DELETE 语句

DELETE 语句用于删除表中的行:

sqlCopy Code
DELETE FROM table_name WHERE condition;

以上就是 SQL 语法的基本内容,希望对大家有所帮助。