TL;DR - SQL UPDATE 命令允许您修改表中的数据记录。它通常与 WHERE 子句一起使用:如果不使用它,表中的所有记录都将更新。 内容 1. SQL UPDATE 的语法2. 使用演示数据库的示例2.1. Developers 表2.2. 更新单个条目2.3. 更新符合定义条件的条目2.4. 更新所有条目 SQL UPDATE 的语法 例复制 UPDATE table_nameSET column1 = value1, column2 = value2, ...WHERE condition; 使用演示数据库的示例 “开发人员”表 编号名字城市国家1汤姆·库尔库蒂斯纽约美国2安娜·费尔南德斯伦敦英国3安东尼奥·靛蓝巴黎法国4阿拉夫·凯林(Aarav Kaelin)德里印度5安德鲁·图莫塔迈阿密美国 更新单个条目 例复制 UPDATE DevelopersSET City = 'Berlin', Country= 'Germany'WHERE Name = 'Antonio Indigo'; 结果 编号名字城市国家1汤姆·库尔库蒂斯纽约美国2安娜·费尔南德斯伦敦英国3安东尼奥·靛蓝柏林德国4阿拉夫·凯林(Aarav Kaelin)德里印度5安德鲁·图莫塔迈阿密美国 更新符合定义条件的条目 例复制 UPDATE DevelopersSET Name='Ben'WHERE Country='India'; 结果 编号名字城市国家1汤姆·库尔库蒂斯纽约美国2安娜·费尔南德斯伦敦英国3安东尼奥·靛蓝柏林德国4本德里印度5安德鲁·图莫塔迈阿密美国 更新所有条目 例复制 UPDATE DevelopersSET Name='Ben'; 结果 编号名字城市国家1本纽约美国2本伦敦英国3本柏林德国4本德里印度5本迈阿密美国
TL;DR – 通过使用 SQL SELECT TOP,您可以定义要恢复的数据记录量。此命令在处理大量数据时非常有用,但并非普遍支持。 内容 1. SQL SELECT TOP 的语法1.1. 在SQL Server/MS Access中1.2. 在MySQL中1.3. 在Oracle中2. 使用演示数据库的示例2.1. Customers 表2.2. 选择前三条数据记录2.3. 挑选前半部分数据记录2.4. 选择符合条件的前三条记录 SQL SELECT TOP 的语法 在 SQL Server/MS Access 中 例复制 SELECT TOP number|percent column_name(s)FROM name_tableWHERE condition; 在MySQL中 例复制 SELECT column_name(s)FROM name_tableWHERE conditionLIMIT number; 在 Oracle 中 例复制 SELECT column_name(s)FROM name_tableWHERE ROWNUM <= number; 使用演示数据库的示例 “客户”表 编号名字联系地址城市Postal_Code国家1本·乔普林克斯本·乔普林克奥比斯雷街 51 号罗马11207意大利2唐纳德·里奇唐纳德·里查里奥阿夫达。de la Confgfstitución 4122塔林17021爱沙尼亚3莉莉·斯米尔金斯莉莉·斯米尔金马塔德斯德罗斯 2312埃圭罗14023墨西哥4布兰迪尼纳汤姆·希钦斯110哈内戈弗广场伦敦WB2 2DP系列英国5卡里莫斯克里斯蒂安诺·克里斯Berguvsesvägen 9吕勒奥S-968 43型瑞典 选择前三条数据记录 例复制 SELECT TOP 3 * FROM Customers; 挑选数据记录的前半部分 例复制 SELECT TOP 50 PERCENT * FROM Customers; 选取符合条件的前三条记录 例复制 SELECT TOP 3 * FROM CustomersWHERE Country='Germany';
TL;DR – 您可以使用 SQL SELECT INTO 将信息从一个表复制到另一个表。它还可以生成一个唯一的表,然后将其放置在文件组中。不能将新表定义为表变量。 内容 1. SQL SELECT INTO 的语法1.1. 将所有列复制到表中1.2. 将特定列复制到表中2. SQL SELECT INTO 使用示例2.1. 备份表2.2. 将表复制到其他数据库2.3. 只复制几列2.4. 仅复制来自单个国家/地区的条目2.5. 将多个表复制到一个新表中 SQL SELECT INTO 的语法 将所有列复制到表中 例复制 SELECT *INTO ntable [IN edb]FROM otableWHERE condition; 注意:名称/类型在 SELECT 中描述。可以使用 AS 子句分配新名称。 将特定列复制到表中 例复制 SELECT column1, column2, column3, ...INTO ntable [IN edb]FROM otableWHERE condition; SQL SELECT INTO 用法示例 备份表 例复制 SELECT * INTO CustomerBackup2018FROM Customers; 将表复制到其他数据库 例复制 SELECT Name, Contact INTO CustomerBackup2017FROM Customers; 只复制几列 例复制 SELECT * INTO CustomerBackup2017 IN 'Backup.mdb'FROM Customers; 仅复制来自单个国家/地区的条目 例复制 SELECT * INTO CustomerGermanyFROM CustomersWHERE Country = 'Germany'; 将多个表复制到一个新表中 例复制 SELECT Customers.Name, Customer_orders.IDINTO CustomerOrderBackup2017FROM CustomersLEFT JOIN Order ON Customers.ID = Customer_orders.Customer_id;
TL;DR – 当列包含重复值并且您只需要列出不同的(不同)值时,可以使用 SELECT DISTINCT 命令。 内容 1. SQL SELECT DISTINCT 的语法2. 使用演示数据库的示例2.1. Developers 表2.2. 从一列中选择所有值2.3. 仅从一列中选择不同的值2.4. 计算不同值 SQL SELECT DISTINCT 的语法 例复制 SELECT DISTINCT column1, column2, ...FROM table_name; 使用演示数据库的示例 “开发人员”表 编号名字城市国家1汤姆·库尔库蒂斯纽约美国2安娜·费尔南德斯伦敦英国3安东尼奥·靛蓝巴黎法国4阿拉夫·凯林(Aarav Kaelin)德里印度5安德鲁·图莫塔迈阿密美国6巴斯玛·兹拉塔迈阿密美国 从一列中选择所有值 例复制 SELECT City FROM Developers; 仅从一列中选择非重复值 例复制 SELECT DISTINCT City FROM Developers; 计算不同值 例复制 SELECT COUNT(DISTINCT City) FROM Developers; 注意:此示例在Microsoft Edge和Firefox中不起作用,因为它们使用不支持的Microsoft Access。COUNT(DISTINCT column_name) 在 MS Access 中 例复制 SELECT Count(*) AS DistinctCitiesFROM (SELECT DISTINCT City FROM Developers);
TL;DR – SQL SELECT 命令通常用于搜索查询。使用它,可以从 SQL 数据库中选择特定数据。您选择的数据存储在称为结果集的表中。 内容 1. SQL SELECT的语法1.1. 选择特定列1.2. 选择所有列2. 使用演示数据库的示例2.1. Users 表2.2. 使用 SELECT 检索特定列的数据2.3. 使用 SELECT 检索所有列的数据 SQL SELECT 的语法 选择特定列 例复制 SELECT column1, column2, ...FROM table_name; 选择所有列 例复制 SELECT * FROM table_name; 使用演示数据库的示例 “用户”表 编号用户名电子邮件密码1阿尔弗雷德·富特alfredfutter@gmail.com秘密12阿特鲁希略atrujillo@gmail.com秘密23莫雷诺·安东尼奥moreno.antonio@yahoo.com秘密34哈迪托马斯thomas.hardy@gmail.com秘密45伯格伦斯bergluns@gmail.com秘密5 使用 SELECT 检索特定列的数据 例复制 SELECT username,email FROM users; 使用 SELECT 检索所有列的数据 例复制 SELECT * FROM users; 注意:SELECT * 选择所有列,SELECT ALL 选择所有行。
TL;DR – 要在表中插入新记录,请使用 INSERT INTO 语句。您可以插入一个全新的行,或者只插入所选数据。 内容 1. 在指定的列名中插入值2. 为所有表列添加值3. 使用演示数据库的示例3.1. Developers 表3.2. 插入新行3.3. 在两列中插入包含数据的行 在指定的列名中插入值 例复制 INSERT INTO mytable_name (column1, column2, column3, ...)VALUES (value1, value2, value3, ...); 为所有表列添加值 例复制 INSERT INTO mytable_nameVALUES (value1, value2, value3, ...); 使用演示数据库的示例 “开发人员”表 编号名字城市国家1汤姆·库尔库蒂斯纽约美国2安娜·费尔南德斯伦敦英国3安东尼奥·靛蓝巴黎法国4阿拉夫·凯林(Aarav Kaelin)德里印度5安德鲁·图莫塔迈阿密美国 插入新行 例复制 INSERT INTO Developers (Name, City, Country)VALUES ('Luke Christon', 'London', 'UK'); 结果 编号名字城市国家1汤姆·库尔库蒂斯纽约美国2安娜·费尔南德斯伦敦英国3安东尼奥·靛蓝巴黎法国4阿拉夫·凯林(Aarav Kaelin)德里印度5安德鲁·图莫塔迈阿密美国6卢克·克里斯顿伦敦英国 注意:ID 列会自动更新为每个表记录的唯一编号。 在两列中插入包含数据的行 例复制 INSERT INTO Customers (Name, City)VALUES ('Winston Wellington', 'Oslo'); 结果 编号名字城市国家1汤姆·库尔库蒂斯纽约美国2安娜·费尔南德斯伦敦英国3安东尼奥·靛蓝巴黎法国4阿拉夫·凯林(Aarav Kaelin)德里印度5安德鲁·图莫塔迈阿密美国6卢克·克里斯顿伦敦英国7温斯顿惠灵顿奥斯陆零
TL;DR – SQL INSERT INTO SELECT 语句可以将部分或全部列从一个表复制到另一个表中。现有表行不受影响。 内容 1. 将所有列复制到另一个表2. 将几列复制到另一个表3. 使用演示数据库的示例3.1. Developers 表3.2. Customers 表3.3. 将几列从 Customers 复制到 Developer3.4. 将 Customers 表复制到 Developers 表中3.5. 仅将 UK Customers 复制到 Developers 表格中 将所有列复制到另一个表 例复制 INSERT INTO mytable2 SELECT * FROM mytable1 WHERE condition; 将几列复制到另一个表 例复制 INSERT INTO mytable2 (column1, column2, column3, ...)SELECT column1, column2, column3, ...FROM mytable1WHERE condition; 使用演示数据库的示例 “开发人员”表 编号名字城市国家1汤姆·库尔库蒂斯纽约美国2安娜·费尔南德斯伦敦英国3安东尼奥·靛蓝巴黎法国4阿拉夫·凯林(Aarav Kaelin)德里印度5安德鲁·图莫塔迈阿密美国 “客户”表 编号名字联系地址城市Postal_Code国家1本·乔普林克斯本·乔普林克奥比斯雷街 51 号罗马11207意大利2唐纳德·里奇唐纳德·里查里奥阿夫达。de la Confgfstitución 4122塔林17021爱沙尼亚3莉莉·斯米尔金斯莉莉·斯米尔金马塔德斯德罗斯 2312埃圭罗14023墨西哥4布兰迪尼纳汤姆·希钦斯110哈内戈弗广场伦敦WB2 2DP系列英国5卡里莫斯克里斯蒂安诺·克里斯Berguvsesvägen 9吕勒奥S-968 43型瑞典 将几列从“客户”复制到“开发人员” 例复制 INSERT INTO Developers (Name, Country)SELECT Name, Country FROM Customers; 将 Customers 表复制到 Developers 表中 例复制 INSERT INTO Developers (Name, City, Country)SELECT Name, City, Country FROM Customers; 仅将 UK Customers 复制到 Developers 表中 例复制 INSERT INTO Developers (Name, City, Country)SELECT Name, City, Country FROM CustomersWHERE Country='UK';
TL;DR – 您可以使用 DROP 命令轻松删除数据库、表或索引。 内容 1. SQL DROP 的语法1.1. 在MS Access中1.2. 在MS SQL Server中1.3. 在 DB2/Oracle 中1.4. 在MySQL中2. SQL删除表3. SQL 删除数据库4. 从表中删除数据4.1. 在SQLite中 SQL DROP 的语法 在 MS Access 中 例复制 DROP INDEX indx_name ON tbl_name 在 MS SQL Server 中 例复制 DROP INDEX tbl_name.indx_name 在 DB2/Oracle 中 例复制 DROP INDEX indx_name 在MySQL中 例复制 ALTER TABLE tbl_name DROP INDEX indx_name SQL 删除表 例复制 DROP TABLE tbl_name SQL 删除数据库 例复制 DROP DATABASE db_name 从表中删除数据 例复制 TRUNCATE TABLE tbl_name 在SQLite中 例复制 DELETE FROM customers;
TL;DR – SQL DELETE 是一个不可逆的命令,用于从表中删除数据记录。若要选择要删除的特定记录,请使用 WHERE 子句。 内容 1. SQL DELETE的语法2. 使用演示数据库的示例2.1. Developers 表2.2. 删除单条记录2.3. 删除所有数据但保留表 SQL DELETE 的语法 例复制 DELETE FROM mytable_nameWHERE condition; 使用演示数据库的示例 “开发人员”表 编号名字城市国家1汤姆·库尔库蒂斯纽约美国2安娜·费尔南德斯伦敦英国3安东尼奥·靛蓝巴黎法国4阿拉夫·凯林(Aarav Kaelin)德里印度5安德鲁·图莫塔迈阿密美国6巴斯玛·兹拉塔迈阿密美国 删除单个记录 例复制 DELETE FROM DevelopersWHERE Name='Antonio Indigo'; 结果 编号名字城市国家1汤姆·库尔库蒂斯纽约美国2安娜·费尔南德斯伦敦英国3阿拉夫·凯林(Aarav Kaelin)德里印度4安德鲁·图莫塔迈阿密美国5巴斯玛·兹拉塔迈阿密美国 删除所有数据但保留表 例复制 DELETE * FROM Developers;
TL;DR – SQL CREATE TABLE 命令在数据库中创建一个新表。每个表都有一个名称,并按列和行进行组织。可以使用 datatype 参数定义列中保存的数据。 内容 1. SQL CREATE TABLE 语法2. 复制现有表3. 创建SQL表的示例 SQL CREATE TABLE 语法 例复制 CREATE TABLE mytable ( column1 datatype, column2 datatype, column3 datatype, .... ); 复制现有表 例复制 CREATE TABLE mynew_table_name AS SELECT column1, column2,... FROM myexisting_table_name WHERE ....; 创建SQL表的示例 例复制 CREATE TABLE Suppliers ( SupplierID int, FirstName varchar(255), LastName varchar(255), City varchar(255), Country varchar(255) ); 注: 您可以稍后使用 INSERT INTO 语句用数据填充空表。 结果 编号First_NameLast_Name城市国家
陕公网安备 61012502000223号
©www.gaoxuejun173.top