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

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

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

相关推荐
李匠2024几秒前
C++负载均衡远程调用学习之上报功能与存储线程池
c++·学习
吴声子夜歌4 分钟前
Linux运维——Vim技巧一
linux·运维·vim
JhonKI9 分钟前
【Linux网络】I/O多路转接技术 - epoll
linux·运维·网络·tcp/ip
小虎卫远程打卡app11 分钟前
视频编解码学习三之显示器
学习·计算机外设·视频编解码
42fourtytoo14 分钟前
从0开始建立Github个人博客(hugo&PaperMod)
运维·服务器·python·go·github
迷茫运维路19 分钟前
基于Jenkins的DevOps工程实践之Jenkins共享库
运维·jenkins·devops
不是谁只是我32 分钟前
VMware-centOS7安装redis分布式集群
数据库·redis·分布式
IT成长日记34 分钟前
【Hive入门】Hive与Spark SQL深度集成:Metastore与Catalog兼容性全景解析
hive·sql·spark·catalog·metastore
red_redemption1 小时前
自由学习记录(58)
学习
文牧之1 小时前
PostgreSQL 的 ANALYZE 命令
运维·数据库·postgresql