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

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

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

相关推荐
Madison-No72 分钟前
搭建项目测试环境
linux·运维·服务器·python
+VX:Fegn089516 分钟前
计算机毕业设计|基于springboot + vue蛋糕店管理系统(源码+数据库+文档)
前端·数据库·vue.js·spring boot·课程设计
彧azz44 分钟前
算法设计与分析:贪心与动态规划
数据结构·学习·算法·贪心算法·动态规划
吴声子夜歌1 小时前
Shell编程实例——编写安全的shell脚本(二)
linux·运维·shell
悠悠121381 小时前
微服务通信别只看性能:REST 与 gRPC 的 6 个选型判断和一次 502 故障复盘
运维·服务器
哈__2 小时前
KES-Operator重塑Kubernetes环境下的KES数据库集群管理
数据库·kubernetes·operator·kes
xiaoye-duck3 小时前
《Linux 网络编程》深入理解 IP 协议(二):网段划分、私有 IP 与 NAT 地址转换
linux·网络·ip
一条小小yu3 小时前
基于数据库唯一索引 + 过期时间的分布式锁
学习
传奇开心果编程3 小时前
【ArkUI 练中学】第15课:UI 界面设计与实战
学习·ui·华为·harmonyos
IvorySQL3 小时前
IvorySQL 5.6 发布:PG 18.6 内核升级,沙盒即开即用
数据库·人工智能·postgresql