SQL DML命令
DML是 数据操作语言 的缩写。
结构化查询语言(SQL)中的DML命令可以更改SQL数据库中的数据。我们可以使用DML命令轻松访问、存储、修改、更新和删除数据库中的现有记录。
以下是SQL中的四个主要DML命令:
- SELECT命令
- INSERT命令
- UPDATE命令
- DELETE命令
SELECT DML命令
SELECT是结构化查询语言中最重要的数据操作命令。SELECT命令显示指定表的记录。它还使用WHERE子句显示特定列的特定记录。
SELECT DML命令的语法
SELECT column_Name_1, column_Name_2, ….., column_Name_N FROM Name_of_table;
在这里, column_Name_1, column_Name_2, ….., column_Name_N 是我们想要从表中检索数据的列名。
如果我们想要从表的所有列中检索数据,我们必须使用以下SELECT命令:
SELECT * FROM table_name;
SELECT命令示例
示例1:此示例显示表中每列的所有值。
SELECT * FROM Student;
这个SQL语句显示了student表的以下值:
Student_ID | Student_Name | Student_Marks |
---|---|---|
BCA1001 | Abhay | 85 |
BCA1002 | Anuj | 75 |
BCA1003 | Bheem | 60 |
BCA1004 | Ram | 79 |
BCA1005 | Sumit | 80 |
示例2:此示例显示表中特定列的所有值。
SELECT Emp_Id, Emp_Salary FROM Employee;
这个 SELECT 语句显示了 Employee 表中 Emp_Salary 和 Emp_Id 列的所有值:
Emp_Id | Emp_Salary |
---|---|
201 | 25000 |
202 | 45000 |
203 | 30000 |
204 | 29000 |
205 | 40000 |
示例3:此示例介绍如何在SELECT DML命令中使用WHERE子句。
让我们看下面的学生表:
Student_ID | Student_Name | Student_Marks |
---|---|---|
BCA1001 | Abhay | 80 |
BCA1002 | Ankit | 75 |
BCA1003 | Bheem | 80 |
BCA1004 | Ram | 79 |
BCA1005 | Sumit | 80 |
如果您想从上表中访问所有成绩为80的学生记录,则必须在SQL中编写以下DML命令:
SELECT * FROM Student WHERE Stu_Marks = 80;
以上SQL查询结果显示如下表:
Student_ID | Student_Name | Student_Marks |
---|---|---|
BCA1001 | Abhay | 80 |
BCA1003 | Bheem | 80 |
BCA1005 | Sumit | 80 |
INSERT DML命令
插入是结构化查询语言中另一个最重要的数据操作命令,允许用户向数据库表中插入数据。
插入命令的语法
INSERT INTO TABLE_NAME ( column_Name1 , column_Name2 , column_Name3 , .... column_NameN ) VALUES (value_1, value_2, value_3, .... value_N ) ;
INSERT命令示例
示例1:本示例描述如何在数据库表中插入记录。
假设我们有以下学生表,其中只有2条学生记录。
Stu_Id | Stu_Name | Stu_Marks | Stu_Age |
---|---|---|---|
101 | Ramesh | 92 | 20 |
201 | Jatin | 83 | 19 |
假设您想要将一条新记录插入到学生表中。为此,您需要编写以下的DML INSERT命令:
INSERT INTO Student (Stu_id, Stu_Name, Stu_Marks, Stu_Age) VALUES (104, Anmol, 89, 19);
UPDATE DML命令
UPDATE是结构化查询语言中另一个最重要的数据操作命令,它允许用户更新或修改数据库表中的现有数据。
UPDATE命令的语法
UPDATE Table_name SET [column_name1= value_1, ….., column_nameN = value_N] WHERE CONDITION;
在这里,’UPDATE’,’SET’和’WHERE’是SQL关键字,’Table_name’是您想要更新值的表的名称。
UPDATE 命令示例
示例1:该示例描述了如何更新单个字段的值。
让我们来看一个包含以下记录的产品表:
Product_Id | Product_Name | Product_Price | Product_Quantity |
---|---|---|---|
P101 | Chips | 20 | 20 |
P102 | Chocolates | 60 | 40 |
P103 | Maggi | 75 | 5 |
P201 | Biscuits | 80 | 20 |
P203 | Namkeen | 40 | 50 |
假设您想更新Product_Id为P102的产品的Product_Price。为此,您需要编写以下DML UPDATE命令:
UPDATE Product SET Product_Price = 80 WHERE Product_Id = 'P102' ;
示例 2:本示例描述了如何更新数据库表的多个字段的值。
假设有一个包含以下记录的学生表:
Stu_Id | Stu_Name | Stu_Marks | Stu_Age |
---|---|---|---|
101 | Ramesh | 92 | 20 |
201 | Jatin | 83 | 19 |
202 | Anuj | 85 | 19 |
203 | Monty | 95 | 21 |
102 | Saket | 65 | 21 |
103 | Sumit | 78 | 19 |
104 | Ashish | 98 | 20 |
假设你想要更新学生ID为103和202的学生的Stu_Marks和Stu_Age。为了实现这一目标,你需要编写以下DML Update命令:
UPDATE Student SET Stu_Marks = 80, Stu_Age = 21 WHERE Stu_Id = 103 AND Stu_Id = 202;
DELETE DML命令
DELETE是一个DML命令,允许SQL用户从数据库表中删除单个或多个已有记录。
数据操纵语言中的这个命令不会将存储的数据永久删除。我们使用DELETE命令配合WHERE子句从表中选择特定行。
DELETE命令的语法
DELETE FROM Table_Name WHERE condition;
DELETE 命令示例
示例1:本示例描述如何从表中删除单个记录。
假设我们有一个包含以下记录的产品表:
Product_Id | Product_Name | Product_Price | Product_Quantity |
---|---|---|---|
P101 | Chips | 20 | 20 |
P102 | Chocolates | 60 | 40 |
P103 | Maggi | 75 | 5 |
P201 | Biscuits | 80 | 20 |
P203 | Namkeen | 40 | 50 |
假设你想要从Product表中删除Product_Id为P203的产品。为了做到这一点,你需要编写以下的DML DELETE命令:
DELETE FROM Product WHERE Product_Id = 'P202' ;
示例2:本示例介绍如何从数据库表中删除多个记录或行。
让我们来看一个包含以下记录的学生表:
Stu_Id | Stu_Name | Stu_Marks | Stu_Age |
---|---|---|---|
101 | Ramesh | 92 | 20 |
201 | Jatin | 83 | 19 |
202 | Anuj | 85 | 19 |
203 | Monty | 95 | 21 |
102 | Saket | 65 | 21 |
103 | Sumit | 78 | 19 |
104 | Ashish | 98 | 20 |
假设您要删除那些成绩大于70的学生的记录。要这样做,您必须编写以下DML Update命令:
DELETE FROM Student WHERE Stu_Marks > 70 ;