1、SELECT语句
SQL语言中最常用的语句之一是SELECT语句,用于从数据库中检索数据。
SELECT语句的基本语法:
SELECT column1, column2, ... FROM table_name;
说明:
SELECT
:关键字,表示开始一个查询。column1, column2, ...
:要检索的列的名称,可以是一个或多个列,也可以使用通配符(*)表示检索所有列。table_name
:要从中检索数据的表的名称。
使用WHERE子句来指定检索的条件:
SELECT column1, column2, ... FROM table_name WHERE condition;
2、INSERT INTO语句
INSERT INTO
语句用于向数据库表中插入新的行(记录)。语法如下,
INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);
说明:
INSERT INTO
:指示要执行插入操作。table_name
:指定要插入数据的表名。(column1, column2, column3, ...)
:可选,指定要插入数据的列名。如果省略了列名,那么必须提供要插入值的完整列表,并且顺序必须与表定义中列的顺序相匹配。VALUES
:指定要插入到表中的值。(value1, value2, value3, ...)
:指定要插入的具体值。每个值与其对应的列相匹配。
3、UPDATE语句
用于更新数据库中的现有数据。UPDATE
语句用于修改数据库表中已有的记录。语法如下,
UPDATE table_name SET column1 = value1, column2 = value2, ... [WHERE condition];
说明:
UPDATE
:关键字,表示要执行更新操作。table_name
:要更新数据的表名。SET
:关键字,用于指定要更新的列和它们的新值。column1 = value1, column2 = value2, ...
:要更新的列和它们对应的新值。可以一次更新多列,每列之间用逗号分隔。WHERE
:可选的关键字,用于指定更新操作的条件。如果省略了WHERE子句,则会将所有记录都更新为指定的值。condition
:更新操作的条件,只有满足条件的记录才会被更新。
4、DELETE FROM语句
DELETE FROM
语句用于从数据库表中删除记录。语法如下,
DELETE FROM table_name WHERE condition;
说明:
table_name
:要删除记录的表名。condition
:可选项,用于指定要删除的记录的条件。如果省略条件,则将删除表中的所有记录。
5、CREATE TABLE语句
CREATE TABLE
语句用于在数据库中创建新的表格。语法如下,
CREATE TABLE table_name ( column1 datatype [constraint], column2 datatype [constraint], ... [table_constraint] );
说明:
table_name
:指定要创建的表格的名称。column1, column2, ...
:指定表格中的列名。datatype
:指定列的数据类型,例如INTEGER
、VARCHAR
、DATE
等。constraint
:可选项,用于定义列的约束条件,如PRIMARY KEY
、NOT NULL
、UNIQUE
等。table_constraint
:可选项,用于定义表级别的约束条件,如PRIMARY KEY
约束、FOREIGN KEY
约束等。
6、ALTER TABLE语句
ALTER TABLE
语句是SQL中用于修改数据库表结构的命令。它可以用于添加、修改或删除表的列,以及修改表的约束、索引等。
1)添加列
ALTER TABLE table_name ADD column_name datatype;
说明:向指定表中添加一个新列,其中table_name
是要修改的表的名称,column_name
是新列的名称,datatype
是新列的数据类型。
2)修改列
ALTER TABLE table_name ALTER COLUMN column_name new_datatype;
说明:将修改指定表中现有列的数据类型,其中table_name
是要修改的表的名称,column_name
是要修改的列的名称,new_datatype
是新的数据类型。
3)删除列
ALTER TABLE table_name DROP COLUMN column_name;
说明:将从指定表中删除指定的列,其中table_name
是要修改的表的名称,column_name
是要删除的列的名称。
4)添加约束
ALTER TABLE table_name ADD CONSTRAINT constraint_name constraint_definition;
说明:将向指定表中添加一个新的约束,其中table_name
是要修改的表的名称,constraint_name
是新约束的名称,constraint_definition
是约束的定义。
5)删除约束
ALTER TABLE table_name DROP CONSTRAINT constraint_name;
说明:将从指定表中删除指定的约束,其中table_name
是要修改的表的名称,constraint_name
是要删除的约束的名称。
7、DROP TABLE语句
SQL中的DROP TABLE
语句用于删除数据库中的表格。语法如下,
DROP TABLE table_name;
说明:table_name
是要删除的表格的名称。
执行DROP TABLE
语句将永久删除数据库中的表格以及其中的所有数据和结构,因此在执行该语句之前应该谨慎确认操作。通常情况下,执行此操作需要相应的权限。
可能需要在删除表格之前先检查该表格是否存在,以避免出现错误。
DROP TABLE IF EXISTS table_name;
8、WHERE子句
SQL语言中的WHERE子句用于指定条件来过滤检索出的数据,仅返回满足条件的行。
SELECT * FROM table_name WHERE condition;
1)选择所有年龄大于等于18岁的用户:
SELECT * FROM users WHERE age >= 18;
2)选择所有名字为"John"且年龄大于等于18岁的用户:
SELECT * FROM users WHERE name = 'John' AND age >= 18;
3)选择所有名字以字母"A"开头的用户:
SELECT * FROM users WHERE name LIKE 'A%';
4)选择所有没有填写邮箱地址的用户:
SELECT * FROM users WHERE email IS NULL;
5)选择所有名字为"John"或者"Jane"的用户:
SELECT * FROM users WHERE name IN ('John', 'Jane');
9、ORDER BY子句
SQL中的ORDER BY
子句用于对查询结果进行排序。它允许根据一个或多个列的值对结果进行排序,可以按升序(ASC
)或降序(DESC
)排列。语法如下,
SELECT 列1, 列2, ... FROM 表名 ORDER BY 列1 [ASC|DESC], 列2 [ASC|DESC], ...
说明:
SELECT
语句用于指定要检索的列。FROM
子句用于指定要检索数据的表。ORDER BY
子句用于指定排序的规则。- 列名表示要按其进行排序的列。
- [
ASC
|DESC
]用于指定排序顺序。默认情况下,如果未指定排序顺序,则为升序(ASC
)。
使用示例:
1)按照姓氏字母顺序对结果进行排序
SELECT first_name, last_name FROM employees ORDER BY last_name ASC;
2)按照姓氏的字母顺序进行降序排序
SELECT first_name, last_name FROM employees ORDER BY last_name DESC;
10、GROUP BY子句
SQL的GROUP BY
子句用于将查询结果按照一个或多个列进行分组,并对每个组应用聚合函数,如COUNT
、SUM
、AVG
等。可以对数据进行汇总并生成统计信息。
语法如下,
SELECT 列1, 列2, 聚合函数(列3) FROM 表名 GROUP BY 列1, 列2;
说明:
SELECT
子句用于指定要检索的列。FROM
子句用于指定要检索数据的表。GROUP BY
子句用于指定要分组的列。- 聚合函数(如
COUNT
、SUM、AVG等)将应用于GROUP BY
子句中指定的列,以计算每个分组的统计信息。
使用示例:
1)按照产品类别对销售额进行汇总
SELECT category, SUM(sales_amount) AS total_sales FROM sales GROUP BY category;
2)按照产品类别和年份对销售额进行汇总
SELECT category, YEAR(sale_date) AS sale_year, SUM(sales_amount) AS total_sales FROM sales GROUP BY category, YEAR(sale_date);