首页博客网络编程
这是一个 SQL 命令列表,涵盖了 SQL 数据库的所有必要操作。每个 SQL 命令都提供了其定义、表示正确语法的代码片段,并且有些命令具有实时代码示例,您可以尝试修改这些示例以查看命令的运行情况。
注意:有些示例没有输出,因为它们涉及删除或创建整个表。
AND 将两个或多个条件组合在一起用于单个查询。必须满足此运算符使用的所有条件才能显示结果。
例复制
SELECT * FROM DevelopersWHERE Country='India' AND City='Delhi';
OR 的使用方式类似,但它将输出符合任一条件的行的结果。
例复制
SELECT * FROM DevelopersWHERE City='London' OR City='Paris';
ALTER TABLE 允许您在表中添加或删除列。
例复制
ALTER TABLE DevelopersADD BirthDate date;
例复制
ALTER TABLE DevelopersDROP COLUMN BirthDate;
AS 允许您将列或表重命名为更方便的别名(相关名),而无需更改数据库中的原始名称。这使得当原始表名或列名较长或复杂时,编写查询变得更加容易。
例复制
SELECT ID as CustomerID, Name AS CustomersFROM Customers;
例复制
SELECT o.ID, c.NameFROM Customers AS c, Customer_orders AS oWHERE c.id = 2 AND c.ID = o.customer_id;
BETWEEN 运算符筛选结果并仅返回符合指定范围的结果。您可以使用日期、数字或文本来描述此运算符的值。
例复制
SELECT * FROM OrdersWHERE Price BETWEEN 10 AND 15;
当您需要创建新数据库时,请使用 CREATE DATABASE 语句。您必须具有管理员权限才能执行此操作。
例复制
CREATE DATABASE testingDB;
CREATE TABLE 语句在数据库中创建一个新表。
例复制
CREATE TABLE Suppliers ( SupplierID int, FirstName varchar(255), LastName varchar(255), City varchar(255), Country varchar(255) );
CREATE INDEX 为表生成索引。这样可以更快地从数据库中检索数据。用户看不到索引,因为它们仅用于提高搜索速度。
例复制
CREATE INDEX idx_lastnameON Persons (LastName);
CREATE VIEW 通过获取基于特定查询的一组结果来创建现有表的缩小版本。视图与实际表没有太大区别:它包含包含数据的列和行,但它不包含与您的特定用途无关的实际表的字段。
例复制
CREATE VIEW [Present List Products] ASSELECT ID, NameFROM ProductsWHERE Discontinued = No;
如果需要从表中删除某些行,请使用 DELETE FROM 语句。
例复制
DELETE FROM DevelopersWHERE Name='Antonio Indigo';
例复制
DELETE * FROM Developers;
GRANT 命令用于授予用户对数据库的访问权。
例复制
GRANT SELECT, UPDATE ON YOUR_TABLE TO FIRST_USER, SECOND_USER;
REVOKE 命令用于剥夺用户的权限。
例复制
REVOKE SELECT, UPDATE ON YOUR_TABLE FROM FIRST_USER, SECOND_USER;
COMMIT 命令用于将每个事务保存到数据库中。
例复制
DELETE FROM CUSTOMERS WHERE AGE = 18; COMMIT;
ROLLBACK 命令用于撤消未保存到数据库的事务。
例复制
DELETE FROM CUSTOMERS WHERE AGE = 18; ROLLBACK;
SAVEPOINT 命令用于在不影响整个事务的情况下将事务返回到特定点。
例复制
SAVEPOINT SAVEPOINT_NAME;
DROP DATABASE 是最危险的语句之一,应格外谨慎使用。在 SQL 中,drop 表示删除,而 DROP DATABASE 删除整个指定数据库及其所有参数和数据。
例复制
DROP DATABASE db_name
DROP INDEX 将删除您指定的索引。此语句的语法因使用的数据库系统而异。
例复制
DROP INDEX tbl_name.indx_name
例复制
DROP INDEX indx_name ON tbl_name
例复制
DROP INDEX indx_name
例复制
ALTER TABLE tbl_name DROP INDEX indx_name
DROP TABLE 语句删除整个表及其列参数和数据类型设置。如果只想删除行的内容,但保留表本身,请使用另一个语句 – TRUNCATE TABLE。
例复制
DROP TABLE tbl_name
EXISTS 运算符允许您通过编写子查询来检查记录是否存在。如果找到该记录,则根据使用此运算符的语句显示结果。您可以将它与 SELECT、UPDATE、INSERT 和 DELETE 一起使用。
例复制
SELECT id, nameFROM customersWHERE EXISTS (SELECT id FROM customer_orders WHERE customer_orders.customer_id = customers.id AND customers.city = "Rome");
将 GROUP BY 与 SELECT 语句组合在一起,以便将相同的数据(具有相同值的行)排列成组(汇总行)。
例复制
SELECT COUNT(ID), CityFROM DevelopersGROUP BY City;
HAVING 指定您需要将结果筛选为仅满足所述条件的行。
它执行与 WHERE 子句相同的操作。不同之处在于,HAVING 仅用于聚合函数,因为 WHERE 不适用于它们。
例复制
SELECT COUNT(ID), CountryFROM PetsGROUP BY CountryHAVING COUNT(ID) > 2;
IN 运算符在 WHERE 子句中包含多个值。
例复制
SELECT * FROM DevelopersWHERE Country IN ('USA', 'France', 'India');
INSERT INTO 语句将新的数据行插入到表中。
例复制
INSERT INTO Developers (Name, City, Country)VALUES ('Luke Christon', 'London', 'UK');
INNER JOIN 合并了不同表中的行。
例复制
SELECT Orders.ID, Developers.NameFROM OrdersINNER JOIN Developers ON Orders.ID = Developers.ID;
左加入
LEFT JOIN 从左侧表中检索与右侧表中的记录匹配的记录。一些数据库对此的陈述略有不同 – LEFT OUTER JOIN。
例复制
SELECT Developers.Name, Customer_orders.IDFROM DevelopersLEFT JOIN Customer_orders ON Developers.ID = Customer_orders.customer_idORDER BY Developers.Name;
RIGHT JOIN 从右表中检索与左表中的记录匹配的记录。一些数据库以不同的方式调用此语句 – RIGHT OUTER JOIN。
例复制
SELECT Customer_orders.ID, Employees.Last_name, Employees.First_nameFROM Customer_ordersRIGHT JOIN Employees ON Customer_orders.employee_id = Employees.IDORDER BY Customer_orders.ID;
FULL JOIN 返回左表或右表中匹配的所有记录。
例复制
SELECT Customers.Name, Customer_orders.IDFROM CustomersFULL OUTER JOIN Orders ON Customers.ID=Customer_orders.customer_idORDER BY Customers.Name;
将 LIKE 与 WHERE 子句结合使用,以查找列中的特定模式。
例复制
SELECT * FROM users WHERE email LIKE '%gmail%';
ORDER BY 设置结果记录的顺序(默认为升序)。
例复制
SELECT * FROM users ORDER BY email DESC;
SELECT 是主要的 SQL 语句之一。它从数据库中选择数据并返回结果表,称为结果集。
例复制
SELECT username,email FROM users;
与星号运算符一起使用的 SELECT 从指定表中选择所有数据记录。*
例复制
SELECT * FROM Customers;
SELECT DISTINCT 仅返回不同的数据,并且不包含重复的条目。
例复制
SELECT DISTINCT City FROM Developers;
SELECT INTO 语句选择表中的指定数据并将其复制到另一个表中。
例复制
SELECT * INTO CustomerBackup2018FROM Customers;
例复制
SELECT Name, Contact INTO CustomerBackup2017FROM Customers;
SELECT TOP 指定要在结果集中返回的数据条目的最大数量或百分比。
例复制
SELECT * FROM CustomersLIMIT 3;
例复制
SELECT TOP 50 PERCENT * FROM Customers;
TRUNCATE TABLE 从数据库中的表中删除数据条目,但保留表、其数据类型和列参数。
例复制
TRUNCATE TABLE tbl_name
可以将 UNION 运算符与两个或多个 SELECT 语句组合在一起。
例复制
SELECT City FROM DevelopersUNIONSELECT City FROM CustomersORDER BY City;
UNION ALL 用于合并两个或多个结果集,并保留所有重复的数据条目。
例复制
SELECT City FROM DevelopersUNION ALLSELECT City FROM CustomersORDER BY City;
更新 UPDATE 语句与 WHERE 子句一起使用,用于更新表中的数据。 例复制 UPDATE DevelopersSET City = 'Berlin', Country= 'Germany'WHERE Name = 'Antonio Indigo'; 哪里 WHERE 子句指定查询以仅筛选满足设置条件的结果。 WHERE 不适用于聚合函数,为此,请改用 HAVINH。 例复制 SELECT * FROM DevelopersWHERE Country='France';
声明提示:若要转载请务必保留原文链接,申明来源,谢谢合作!
广告位
广告位