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);