SQL CRUD操作

SQL CRUD操作

众所周知,CRUD操作是任何计算机编程语言或技术的基础。因此,在深入了解任何编程语言或技术之前,必须熟练掌握其CRUD操作。这个规则同样适用于数据库。

让我们通过示例来了解SQL中的CRUD操作。我们将在支持的示例中使用MySQL数据库编写所有查询。

SQL CRUD操作

1. 创建:

在CRUD操作中,“C”是一个表示创建(create)的首字母缩写,表示将数据添加或插入到SQL表中。 因此,首先我们将使用CREATE命令创建一个表,然后使用INSERT INTO命令将行插入到创建的表中。

表创建的语法:

CREATE TABLE Table_Name (ColumnName1 Datatype, ColumnName2 Datatype,..., ColumnNameN Datatype);

其中,where,

  • Table_Name是我们要为表分配的名称。
  • Column_Name是我们希望在表中存储数据的属性。
  • Datatype分配给每个列。Datatype决定将存储在相应列中的数据类型。

表中插入数据的语法:

INSERT INTO Table_Name (ColumnName1,...., ColumnNameN) VALUES (Value 1,....,Value N),....., (Value 1,....,Value N);

在SQL中创建表之前,我们需要创建一个数据库或选择一个已存在的数据库。由于我们已经有了一个数据库,我们将使用USE命令来选择该数据库。

mysql> USE dbe;

SQL CRUD操作

现在,我们将编写一个查询来在名为 employee 的数据库中创建一个名为 dbe 的表。

mysql> CREATE TABLE employee(ID INT PRIMARY KEY, First_Name VARCHAR(20), Last_Name VARCHAR(20), Salary INT, Email_Id VARCHAR(40));

SQL CRUD操作

为了确保表按照我们在表创建过程中指定的列名、数据类型和大小创建,我们将执行以下查询:

mysql> DESC employee;

您将获得以下输出:

Field Type Null Key Default Extra
ID int(11) NO PRI NULL
First_Name varchar(20) YES NULL
Last_Name varchar(20) YES NULL
Salary int(11) YES NULL
Email_Id varchar(40) YES NULL

上述结果验证了根据要求成功创建了表。

我们将执行以下查询,将多条记录插入到员工表中:

INSERT INTO employee(ID, First_Name, Last_Name, Salary, Email_Id) VALUES(1, "Neeta", "Korade", 59000, "neetak12@gmail.com"), (2, "Sushma", "Singh", 62000, "sushsingh67@gmail.com"), (3, "Kavita", "Rathod", 27000, "kavitar09@gmail.com"), (4, "Mrunalini", "Deshmukh", 88000, "mrunald78@gmail.com"), (5, "Swati", "Patel", 34000, "swatip67@gmail.com"), (6, "Laxmi", "Kadam", 44000, "laxmik14@gmail.com"), (7, "Lalita", "Shah", 66000, "lalita45@gmail.com"), (8, "Savita", "Kulkarni", 31000, "savitak56@gmail.com"), (9, "Shravani", "Jaiswal", 38000, "shravanij39@gmail.com"), (10, "Shweta", "Wagh", 20000, "shwetaw03@gmail.com");

SQL CRUD操作

2. 读取:

在CRUD操作中,“R”代表的是“读取”(read),意味着从SQL表中检索或获取数据。因此,我们将使用SELECT命令从SQL表中获取插入的记录。可以使用SELECT查询中的星号(*)从表中检索所有记录。还可以使用SELECT查询中的WHERE子句,仅检索满足特定条件的记录。

获取所有记录的语法:

SELECT *FROM TableName;

根据条件获取记录的语法:

SELECT *FROM TableName WHERE CONDITION;

示例1:

编写一个查询以获取存储在员工表中的所有记录。

查询:

mysql> SELECT *FROM employee;

在这里,通过使用SELECT查询中的星号,意味着将检索每个记录的所有列值。

执行上述查询后,您将获得以下输出:

ID First_Name Last_Name Salary Email_Id
1 Neeta Korade 59000 stash
2 Sushma Singh 62000 stash
3 Kavita Rathod 27000 stash
4 Mrunalini Deshmukh 88000 stash
5 Swati Patel 34000 stash
6 Laxmi Kadam 44000 stash
7 Lalita Shah 66000 stash
8 Savita Kulkarni 31000 stash
9 Shravani Jaiswal 38000 stash
10 Shweta Wagh 20000 stash

从员工表成功检索到所有记录。

例2:

编写查询以仅检索员工表中薪水高于35000的记录。

查询:

mysql> SELECT *FROM employee WHERE Salary > 35000;

这里,在SELECT查询中使用了一个星号。这意味着将检索每个记录的所有列的值。我们已经在薪水上应用了WHERE子句,这意味着记录将根据薪水进行过滤。

你将得到如下输出:

ID First_Name Last_Name Salary Email_Id
1 Neeta Korade 59000 stash
2 Sushma Rathod 62000 stash
4 Mrunalini Deshmukh 88000 stash
6 Laxmi Kadam 44000 stash
7 Lalita Shah 66000 stash
9 Shravani Jaiswal 38000 stash

在员工表中,有六条记录的工资超过35000。

3. 更新:

在CRUD操作中,“U”是对“更新”的缩写,表示对SQL表中的记录进行更新。 因此,我们将使用UPDATE命令对表中的数据进行更改。

语法:

UPDATE Table_Name SET ColumnName = Value WHERE CONDITION; 

示例1:

编写一个查询语句,将员工ID为6的员工的姓氏更新为“Bose”。

查询语句:

mysql> UPDATE employee SET Last_Name = "Bose" WHERE ID = 6;

SQL CRUD操作

在这个SELECT查询中,我们使用了SET关键字来将一个员工的姓氏更新为“Bose”。我们只想为id为6的员工更新姓氏,所以我们使用WHERE子句指定了这个条件。

为了确保id为6的员工的姓氏成功更新,我们将执行SELECT查询。

mysql> SELECT *FROM employee;
ID First_Name Last_Name Salary Email_Id
1 Neeta Korade 59000 stash
2 Sushma Singh 62000 stash
3 Kavita Rathod 27000 stash
4 Mrunalini Deshmukh 88000 stash
5 Swati Patel 34000 stash
6 Laxmi Bose 44000 stash
7 Lalita Shah 66000 stash
8 Savita Kulkarni 31000 stash
9 Shravani Jaiswal 38000 stash
10 Shweta Wagh 20000 stash

以上的结果验证了员工ID为6的员工的姓氏已更改为’Bose’。

示例2:

编写一个查询语句,将员工ID为10的员工的工资和电子邮件ID分别更新为’35000’和’stash’。

查询:

mysql> UPDATE employee SET Salary = "35000", Email_Id= "shwetawagh03@gmail.com" WHERE ID = 10;

SQL CRUD操作

在 UPDATE 查询中,我们使用 SET 关键字将员工的薪水更新为 ‘35000’,将电子邮件 ID 更新为 ‘stash’。我们只想更新员工 ID 为 10 的员工的薪水和电子邮件 ID,所以我们使用 WHERE 子句指定了这个条件。

为了确保员工 ID 为 10 的员工的薪水和电子邮件 ID 能成功更新,我们将执行 SELECT 查询。

mysql> SELECT *FROM employee;
ID First_Name Last_Name Salary Email_Id
1 Neeta Korade 59000 stash
2 Sushma Singh 62000 stash
3 Kavita Rathod 27000 stash
4 Mrunalini Deshmukh 88000 stash
5 Swati Patel 34000 stash
6 Laxmi Bose 44000 stash
7 Lalita Shah 66000 stash
8 Savita Kulkarni 31000 stash
9 Shravani Jaiswal 38000 stash
10 Shweta Wagh 35000 stash

以上结果验证了员工ID为10的员工的工资和电子邮件已更改为“35000”和“stash”。

4. 删除:

在CRUD操作中,“D”是“删除”的首字母缩写,意味着从SQL表中删除记录。 我们可以使用DELETE查询从SQL表中删除所有行。还可以使用DELETE查询中的WHERE子句删除仅满足特定条件的特定记录。

删除所有记录的语法:

DELETE FROM TableName;

根据条件删除记录的语法:

DELETE FROM TableName WHERE CONDITION;

示例1:

编写一个查询,从员工表中删除薪水高于34000的员工记录。

查询:

mysql> DELETE FROM employee WHERE Salary = 34000;

SQL CRUD操作

在这里,我们对雇员表应用了DELETE查询。我们只想删除工资为34000的雇员记录,所以我们使用WHERE子句指定了这个条件。

我们将执行SELECT查询以确保工资为34000的雇员记录已成功删除。

mysql> SELECT *FROM employee;
ID First_Name Last_Name Salary Email_Id
1 Neeta Korade 59000 stash
2 Sushma Singh 62000 stash
3 Kavita Rathod 27000 stash
4 Mrunalini Deshmukh 88000 stash
6 Laxmi Bose 44000 stash
7 Lalita Shah 66000 stash
8 Savita Kulkarni 31000 stash
9 Shravani Jaiswal 38000 stash
10 Shweta Wagh 35000 stash

以上结果证明工资为34000的员工不再存在于员工表中。

示例2:

编写一个查询来删除员工表中的所有记录。

首先,让我们看看当前可用的员工表。

mysql> SELECT *FROM employee;

SQL CRUD操作

从员工表中删除所有记录,我们将在员工表上执行DELETE查询。

mysql> DELETE FROM employee;

SQL CRUD操作

我们将执行SELECT查询来确保从员工表中成功删除所有记录。

mysql> SELECT *FROM employee;

SQL CRUD操作

以上结果证实了员工表目前不包含任何记录。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程