SQL或结构化查询语言是用于创建、列出、更新、删除数据库、表和记录的标准语言。它通过不同类型的命令提供此功能。在本教程中,我们将学习流行和有用的SQL命令。
命令类型
SQL语言是一种非常高级的语言,它提供了大量的命令集。这些命令根据其用法进行分类。下面是SQL命令的类型。
- DDL—数据库定义语言,用于创建、更改、删除数据库、表。
- DML—数据操作语言,用于处理数据库和表中的数据
- 数据查询语言是SELECt和类似的查询命令。
- 数据控制语言用来授予和撤销特权
ALTER TABLE–更改表结构
在SQL中,表是在开始时创建的,通常使用很长时间。但如果我们需要改变,比如在表中添加新的列,我们需要使用 ALTER TABLE
. 在本例中,我们将添加一个名为 Age
到桌子上去 Person
. Age
列将在中保存数据 integer
类型。
ALTER TABLE Person ADD Age int;
AND–逻辑
SQL提供了如下逻辑操作 AND
. 我们可以使用和检查多个条件,如果它们是 True
. 在本例中,我们将检查 1=1
和 a
值等于 b
.
SELECT * FROM Person WHERE 1=1 AND a=b;
AS–重命名列名
之后 SELECT
我们可以随意重命名列名。我们将使用 AS
在列名之后。在本例中,我们将重命名列 Age
作为 YAS
.
SELECT Age AS YAS FROM Person;
AVG函数–计算列值的平均值
在某些情况下,我们可能需要进行简单的算术计算,如平均值。我们可以计算给定列的平均值 AVG()
功能。在本例中,我们将计算 Age
列。
SELECT AVG(Age) FROM Person;
BETWEEN–定义的范围
在打印记录时,我们可以为某个范围的给定值指定一些条件。我们可以用 BETWEEN
指定列的值应介于给定值之间。在本例中,我们将打印行,其中 Age
在18到25岁之间。
SELECT * FROM Person WHERE Age BETWEEN 18 AND 25;
COUNT–计数值
我们可以简单地计算给定的列值。注意,这不仅仅是 COUNT
. 在这个例子中,我们将用 Age
列不求和。
SELECT COUNT(Age) FROM Person;
创建表–创建表
最流行的命令之一是 CREATE TABLE
用于从头开始创建表。我们将提供表名、列及其类型。在本例中,我们将创建一个名为 Person
并添加列 Id
, Name
, Surname
和 Age
CREATE TABLE Person (Id int,Name varchar;Surname varchar,Age int);
DELETE–从表中删除记录/行
如果我们需要从表中删除一些记录呢。我们将使用 DELETE
通过提供选择要删除的行的条件。在本例中,我们将删除这些记录 Age
等于20。
DELETE FROM Person WHERE Age=20;
分组-分组结果
我们可以根据给定的列对结果进行分组。在本例中,我们将根据 Age
.
SELECT Age, COUNT(*) FROM Person BROUP BY Age;
有-过滤功能
HAVING
可与聚合函数一起使用,其中 WHERE
无法使用。
SELECT Age, COUNT(*) FROM Person GROUP BY Age HAVING COUNT(*) > 20;
内部连接–连接多个表
如果我们需要根据同一列连接多个表,我们可以使用 INNER JOIN
. 我们将只匹配多个表中的同一列。在这张桌子上我们要配对 Id
从表格 Person
和 Student
SELECT Name, Surname, Age FROM Person JOIN Student ON Person.Id = Student.Id;
插入–添加新行/记录
SQL数据库中最常用的操作之一是记录或行插入,只需添加记录即可。我们将使用 INSERT
在中向表中插入新数据。在本例中,我们将插入数据 Name
, Surname
, Age
进入表格 Person
.
INSERT INTO Person (Name, Surname,Age) VALUES ("Ahmet Ali","Baydan","6");
为空–检查值
有不同类型的数据。如果未设置给定值,则 NULL
. 我们可以检查给定值是否为空 IS NULL
. 在本例中,我们将找到 Age
未正确设置。
SELECT * FROM Person WHERE Age IS NULL;
LIKE–过滤相似值
如果我们想根据我们可以使用的模式进行过滤 LIKE
. 在本例中,我们将筛选 Name
首先是 A
.
SELECT * FROM Person WHERE LIKE 'A%';
LIMIT–按计数限制结果
当我们运行一个通用查询时,我们可能会得到大量的记录,这会减慢数据库的速度并填充结果窗格。我们可以限制列出的记录 LIMIT
关键字提供要列出的记录计数。在本例中,我们将首先列出 50
记录。
SELECT * FROM Person LIMIT 50;
MAX()–选择最大值
我们可以选择给定列的最大值 MAX()
功能。在本例中,我们将选择最大值 Age
从表 Person
.
SELECT MAX(Age) FROM Person;
MIN()–选择最小值
我们可以选择给定列的最小值 MIN()
功能。在本例中,我们将选择最小值 Age
从表 Person
.
SELECT MIN(Age) FROM Person;
OR–逻辑
SQL支持逻辑操作,如 OR
. 我们可以在一两个条件下满足其中一个条件。在本例中,我们将列出 Age
是20或30岁。
SELECT * FROM Person WHERE Age=20 OR Age=30;
ORDER BY–按给定选项排序
我们可以使用 ORDER BY
. 在本例中,我们将按 Age
列值。
SELECT * FROM Person ORDER BY Age;
OUTER JOIN–连接多个表
外部联接用于联接不满足条件的多个表。所以左边的每个表都将返回并与右边的表合并。如果不满足列值 NULL
将为给定列设置。
SELECT * FROM Person LEFT JOIN Student ON Person.Id = Student.Id;
ROUND()–舍入给定的列值
我们可以舍入给定的列和值。在这个例子中,我们将四舍五入 Age
列。
SELECT ROUND(Age) FROM Person;
SELECT–列出给定的记录/行
最重要的是列出记录。我们将使用 SELECT
它将打印所有列 *
或者我们提供的栏目。在本例中,我们将选择列 Name
和 Age
.
SELECT Name, Age FROM Person;
SELECT DISTINCT–返回唯一值
我们可以用一种独特的方式选择给定的列。我们将使用列 Name
.
SELECT DISTINCT Name FROM Person;
SUM()–对给定列值求和
我们可以对给定的列值求和。在这个例子中,我们将求和 Age
列。
SELECT SUM(Age) FROM Person;
更新–更新记录/行
我们可以用 UPDATE
. 在本例中,我们将更新 Age
记录在案 İsmail
.
UPDATE Person SET Age=34 WHERE Name='İsmail';
其中–筛选结果
我们一般需要详细说明一些操作的条件。我们可以用 WHERE
以指定与助手类似的条件 LIKE
, BETWEEN
等。
SELECT * FROM Person WHERE Age < 30;
相关文章: SQL更新语句及查询实例