1. SELECT查询语句
SELECT是SQL语句的核心,用于从数据库中检索数据。其中,该语句最基本的形式是:
SELECT column_name
FROM table_name;
该语句的意思是从“table_name”表中获取“column_name”列的所有数据。
此外,还可以选择检索多个列,语法格式如下:
SELECT column_name1, column_name2
FROM table_name;
还可以使用SELECT语句使用通配符(*),选择表中的所有列:
SELECT *
FROM table_name;
使用WHERE子句过滤结果:
SELECT column_name(s)
FROM table_name
WHERE condition;
1.1 WHERE子句
该子句用于添加筛选条件,只包含“True”或“False”的条件式。WHERE子句可以在SELECT、UPDATE或DELETE语句中使用。
WHERE子句的基本语法如下:
SELECT column_name(s)
FROM table_name
WHERE condition;
WHERE语句操作符:
=:等于
<>:不等于
<:小于
<=:小于等于
>:大于
>=:大于等于
BETWEEN:在某个范围内
LIKE:搜索某种模式
IN:指定一组值
例如,筛选表中“age”列的数值大于等于18的数据,可以使用以下语句:
SELECT *
FROM Persons
WHERE age >= 18;
筛选表中“FirstName”列以字母“A”开头的数据,可以使用以下语句:
SELECT *
FROM Persons
WHERE FirstName LIKE "A%";
该语句中,”%"通配符代表任何字符。
1.2 ORDER BY子句
ORDER BY子句用于对结果进行排序,默认情况下,它按升序对结果进行排序。ORDER BY子句可以用于SELECT、UPDATE和DELETE语句。
在SELECT语句中,ORDER BY子句的语法如下:
SELECT column_name(s)
FROM table_name
ORDER BY column_name(s) ASC|DESC;
其中,“ASC”代表升序排列,“DESC”代表降序排列。例如,按照年纪从小到大排序:
SELECT *
FROM Persons
ORDER BY age ASC;
2. INSERT INTO语句
使用INSERT INTO语句将数据添加到表中。
语法格式如下:
INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...);
其中,列名可以省略,这种情况下,将为表中的所有列添加数据。
例如,向Persons表添加一行记录:
INSERT INTO Persons (FirstName, LastName, Age)
VALUES ('Peter', 'Parker', 18);
3. UPDATE语句
使用UPDATE语句修改表中的数据。它可以更新一行或多行数据。
基本语法如下:
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
例如,将“Persons”表中张三的年纪改为28岁:
UPDATE Persons
SET Age = 28
WHERE LastName = 'Zhang' AND FirstName = 'San';
4. DELETE语句
DELETE语句用于删除表中的行。
基本语法如下:
DELETE FROM table_name
WHERE condition;
例如,删除年纪小于18岁的人:
DELETE FROM Persons
WHERE Age < 18;
5. 聚合函数
5.1 AVG函数
AVG函数计算指定列的平均值。
基本语法如下:
SELECT AVG(column_name)
FROM table_name
WHERE condition;
5.2 COUNT函数
COUNT函数计算指定列的行数。
基本语法如下:
SELECT COUNT(column_name)
FROM table_name
WHERE condition;
5.3 MAX函数
MAX函数计算指定列的最大值。
基本语法如下:
SELECT MAX(column_name)
FROM table_name
WHERE condition;
5.4 MIN函数
MIN函数计算指定列的最小值。
基本语法如下:
SELECT MIN(column_name)
FROM table_name
WHERE condition;
5.5 SUM函数
SUM函数计算指定列的总和。
基本语法如下:
SELECT SUM(column_name)
FROM table_name
WHERE condition;
6. JOIN语句
使用JOIN语句根据两个或多个表中的列之间的关系返回行。
基本语法如下:
SELECT column_name(s)
FROM table1
JOIN table2
ON table1.column_name = table2.column_name;
在这个例子中,我们根据“table1”表中的“column_name”列中的值和“table2”表中的“column_name”列中的值来连接两个表。
6.1 LEFT JOIN语句
LEFT JOIN语句返回左表中的所有行和右表中的匹配行。如果没有匹配行,NULL值将用于右侧的所有列。
基本语法如下:
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;
6.2 RIGHT JOIN语句
RIGHT JOIN语句返回右表中的所有行和左表中的匹配行。如果没有匹配行,NULL值将用于左侧的所有列。
基本语法如下:
SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name = table2.column_name;
6.3 INNER JOIN语句
INNER JOIN语句仅返回两个表中都存在的匹配行。
基本语法如下:
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
7. UNION操作符
UNION操作符用于将两个或多个SELECT语句的结果集合并为一个结果集。
基本语法如下:
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
注意,UNION操作符默认情况下将结果集中的重复行合并成一个单独的行,如果您希望结果集包含重复行,则可以使用UNION ALL。
8. CREATE TABLE语句
使用CREATE TABLE语句创建新表。
基本语法如下:
CREATE TABLE table_name
(
column1 datatype,
column2 datatype,
column3 datatype,
.....
);
例如,创建一个名称为“Persons”的表:
CREATE TABLE Persons
(
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);
9. ALTER TABLE语句
使用ALTER TABLE语句修改表结构。
基本语法如下:
ALTER TABLE table_name
ADD column_name datatype;
例如,向“Persons”表中添加一个“email”列:
ALTER TABLE Persons
ADD Email varchar(255);
10. DROP TABLE语句
使用DROP TABLE语句删除表。
基本语法如下:
DROP TABLE table_name;
例如,删除“Persons”表:
DROP TABLE Persons;
总结
SQL是一种强大的语言,可以对关系型数据库执行各种任务,例如检索、插入、更新、删除和聚合数据。掌握SQL的基本语法是开发和维护数据库的重要前提之一。在表格查询语句、INSERT INTO、UPDATE等方面,SQL都有明确的语法模式,熟练掌握这些操作可以减少代码出错的机率,提高开发效率。