MYSQL之增删改查(上)

发布于:2024-04-23 ⋅ 阅读:(23) ⋅ 点赞:(0)

 前言:

         以下是MySQL最基本的增删改查语句,很多IT工作者都必须要会的命令,也 是IT行业面试最常考的知识点,由于是入门级基础命令,所有所有操作都建立在单表 上,未涉及多表操作。

1、“增”——添加数据

1.1 为表中所有字段添加数据

1.1.1 INSERT 语句中指定所有字段名

语法:INSERT INTO 表名(字段名1,字段名2,…)
             VALUES(值1,值2,…);
举例:INSERT INTO student(id,name,grade)
             VALUES(1,'zhangshan',98);

使用SELECT * FROM student;命令查看结果为:

表示数据已经成功插入。

1.1.2 INSERT语句中不指定字段名

      若不指定字段名,则添加的值的顺序应和字段在表中的顺序完全一致。

语法:INSERT INTO 表名 VALUES(值11,值2,…);
举例:INSERT INTO student
      VALUES (2,'lisi',62);

使用SELECT * FROM student;命令查看结果为:

1.2 为表的指定字段添加数据

       为指定字段添加数据,即只向部分字段添加值,而其他字段的值为表定义时的默认 值。

语法:INSERT INTO 表名(字段1,字段2,…)
      VALUES(值1,值2,…)
举例:INSERT INTO student(id,name)
      VALUES(3,'wangwu');

使用SELECT * FROM student;命令查看结果为:

       从结果中可以看出,新记录的grade字段值为NULL,是因为添加时为指明grade的 值,系统会自动添加默认值。

1.3 INSERT语句的其他写法

语法:INSERT INTO 表名
      SET 字段名1=值1[,字段名2=值2,…]
举例:INSERT INTO student
      SET id=4,name='zhaoliu',grade=72;

使用SELECT * FROM student;命令查看结果为:

1.4 同时添加多条数据

语法:INSERT INTO 表名[(字段名1,字段名2,…)]
      VALUES (值1,值2,…),(值1,值2,…),
      …
     (值1,值2,…)
举例:INSERT INTO student VALUES
        (5,‘lilei’,99),
        (6,'hanmeimei',87),
        (8,'poly',76);

使用SELECT * FROM student;命令查看结果为:

2、“删”——删除数据

语法:

DELETE FROM 表名 [WHERE 条件表达式

2.1 删除部分数据

即删除指定的部分数据,需要使用WHERE子句来指定删除记录的条件。

举例:删除student表中的id值为7的记录
命令:DELETE FROM student
      WHERE id=7;

使用SELECT * FROM student;命令查看结果为:

可见id为7的记录已被成功删除。

2.2 删除全部数据

若 DELETE 语句中没有使用WHERE语句,则会将表中所有记录都删除。

语法:DELETE FROM 表名
举例:删除student表中的所有记录
命令:DELETE FROM student;

使用SELECT * FROM student;命令查看结果为:

可见student表中记录为空,说明表中所有数据已被成功删除。

2.3 删除全部数据的另一种方法——TRUNCATE

语法:TRUNCTE [TABLE ] 表名
举例:TRUNCATE TABLE student;即可删除student表

注意:

      (1)DELETE 后面可以跟WHERE子句指定删除部分记录,TRUNCATE只能删除整 个表的所有记录

     (2)使用TRUNCATE语句删除记录后,新添加的记录时,自动增长字段(如本文中 student表中的 id 字段)会默认从1开始,而使用DELETE删除记录后,新添加记录 时,自动增长字段会从删除时该字段的的最大值加1开始计算(即原来的id最大为5, 则会从6开始计算)。所以如果是想彻底删除一个表的记录而且不会影响到重新添加 记录,最好使用TRUNCATE来删除整个表的记录。

3、“改”——更新数据

更新数据指对表中现存的数据进行修改。

语法:UPDATE 表名
          SET 字段名1=值1,[ ,字段名2=值2,…]
          [ WHERE 条件表达式 ]

在执行后面的语句之前,先使用INSERT语句往student表中插入以下数据:

3.1 UPDATE 更新部分数据

指更新指定表中的指定记录,使用WHERE 子句来指定。

举例:将student表中id值为1=记录,将其name字段的值改为‘caocao’,grade字
段的值改为50。
先查询之前的记录:SELECT * FROM student WHERE id=1;

显示为:

命令:UPDATE student
SET name=‘caocao’,grade=50
WHERE id=1;

使用SELECT * FROM student;命令查看结果为:

可见表中数据已被成功更新。

注意:还可以使用其他WHERE条件表达式,如:id > 4;

3.2 UPDATE 更新全部数据

         在UPDATE 语句中若不使用WHERE 子句,则会将表中所有记录的指定字段都进行 更新。

举例:更新student表中全部记录,将grade字段都更新为80
命令:UPDATE student
        SET grade=80;

使用SELECT * FROM student;命令查看结果为:

可以看出所有数据已被成功更新。

---------------------------------未完待续,请看下篇--------------------------