MYSQL之增删改查(上)

前言:

以下是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;命令查看结果为:

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

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

相关推荐
秦jh_3 分钟前
【Linux】多线程(概念,控制)
linux·运维·前端
Young_2022020219 分钟前
学习笔记——KMP
笔记·学习
希忘auto20 分钟前
详解MySQL安装
java·mysql
yaosheng_VALVE24 分钟前
稀硫酸介质中 V 型球阀的材质选择与选型要点-耀圣
运维·spring cloud·自动化·intellij-idea·材质·1024程序员节
运维佬28 分钟前
在 MySQL 8.0 中,SSL 解密失败,在使用 SSL 加密连接时出现了问题
mysql·adb·ssl
Leo.yuan33 分钟前
数据量大Excel卡顿严重?选对报表工具提高10倍效率
数据库·数据分析·数据可视化·powerbi
行然梦实35 分钟前
学习日记_20241110_聚类方法(K-Means)
学习·kmeans·聚类
Hacker_Nightrain37 分钟前
网络安全CTF比赛规则
网络·安全·web安全
马船长40 分钟前
制作图片木马
学习
Runing_WoNiu41 分钟前
MySQL与Oracle对比及区别
数据库·mysql·oracle