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

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

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

相关推荐
@CLoudbays_Martin11几秒前
CDN是否能有效检测并且同时防御Ddos 和 CC 攻击?
java·服务器·网络·数据库·git·数据库开发·时序数据库
德迅云安全杨德俊9 分钟前
游戏盾:构筑网络安全防线,抵御DDoS攻击的解决方案
网络·安全·游戏·ddos
河南博为智能科技有限公司18 分钟前
单串口服务器-工业级串口联网解决方案
运维·服务器·物联网·边缘计算
爱喝水的鱼丶23 分钟前
SAP-MM:SAP采购组织全面学习指南:从概念到实战配置图解
运维·开发语言·数据库·学习·sap·mm模块·采购组织
Rum_0M25 分钟前
服务器内部信息获取
运维·服务器·web安全·网络安全·信息安全·职业技能大赛
楼田莉子27 分钟前
Python学习——字典和文件
开发语言·python·学习·pycharm
(Charon)40 分钟前
【网络编程】TCP、UDP、KCP、QUIC 全面解析
网络·tcp/ip·udp
小龙43 分钟前
图卷积神经网络(GCN)学习笔记
笔记·学习·cnn·gcn·图卷积神经网络·理论知识
科技小郑1 小时前
吱吱企业即时通讯以安全为基,重塑安全办公新体验
大数据·网络·人工智能·安全·信息与通信·吱吱企业通讯
永日456701 小时前
学习日记-CSS-day53-9.11
前端·css·学习