MySQL 这边的东西全部来找自 https://itbaima.net/document
MySQL
DML 增删改的方法
插入数据
通过使用insert into
语句来向数据库中插入一条数据(一条记录):
INSERT INTO 表名 VALUES(值1, 值2, 值3)
如果插入的数据与列一一对应,那么可以省略列名,但是如果希望向指定列上插入数据,就需要给出列名:
INSERT INTO 表名(列名1, 列名2) VALUES(值1, 值2)
我们也可以一次性向数据库中插入多条数据:
INSERT INTO 表名(列名1, 列名2) VALUES(值1, 值2), (值1, 值2), (值1, 值2)
举个例子
假设有一个名为students
的表,它有三个列:id
, name
, 和 age
。
-
插入与列一一对应的数据:
假设你想插入一个学生的完整信息,包括id、name和age:INSERT INTO students VALUES(1, 'John Doe', 20);
在这里,值
1
,'John Doe'
,20
分别对应id
,name
, 和age
列。 -
向指定列插入数据:
如果只想插入学生的id和name,可以使用:INSERT INTO students(id, name) VALUES(2, 'Jane Doe');
这条语句只会在
id
和name
列插入数据,age
列将保持空白或默认值(取决于表的定义)。 -
一次插入多条数据:
假设要同时插入多个学生的id和name:INSERT INTO students(id, name) VALUES(3, 'Alice Smith'), (4, 'Bob Johnson'), (5, 'Carol White');
这条语句会在一次操作中向表中插入三条记录。
修改数据
我们可以通过update
语句来更新表中的数据:
UPDATE 表名 SET 列名=值,... WHERE 条件
注意,SQL语句中的等于判断是=
**警告:**如果忘记添加WHERE
字句来限定条件,将使得整个表中此列的所有数据都被修改!
举个例子
假设有一个名为employees
的表,其中包含如下列:id
, name
, salary
。我们将通过几个步骤来更新特定记录的数据。
-
基本的更新操作:
假设你想为ID为1
的员工增加工资。可以使用以下语句:UPDATE employees SET salary = 5000 WHERE id = 1;
这里,我们设置
salary
列的值为5000
,但仅针对id
等于1
的记录。 -
多列更新:
如果想同时更改员工的多个属性,比如姓名和工资,可以这样做:UPDATE employees SET name = 'John Doe', salary = 5500 WHERE id = 1;
这条语句将同时更新
name
和salary
列,但只针对id
等于1
的记录。 -
不使用WHERE子句的后果:
警告:如果未使用WHERE
子句,比如:UPDATE employees SET salary = 7000;
这将导致
employees
表中所有员工的salary
列都被设置为7000
,这可能不是你想要的结果。
删除数据
我们可以通过使用delete
来删除表中的数据:
DELETE FROM 表名
通过这种方式,将删除表中全部数据,我们也可以使用where
来添加条件,只删除指定的数据:
DELETE FROM 表名 WHERE 条件
举个例子
假设有一个名为products
的表,它包含了商品信息,如id
, name
, 和 category
。
-
删除特定数据:
如果要删除category
为Electronics
的所有产品,可以使用带有WHERE
子句的DELETE
语句:DELETE FROM products WHERE category = 'Electronics';
这条语句将从
products
表中删除所有category
列值为Electronics
的行。 -
删除表中所有数据:
如果需要删除products
表中的所有数据,可以使用不带WHERE
子句的DELETE
语句:DELETE FROM products;
这将清空整个
products
表,删除表中的所有行。