首页 > 数据库 >MySQL——删除数据(一)DELETE 删除部分数据

MySQL——删除数据(一)DELETE 删除部分数据

时间:2024-08-12 10:52:47浏览次数:16  
标签:段值 删除 记录 student MySQL id DELETE

        删除数据是指对表中存在的记录进行删除,这是数据库的常见操作,比如一个学生转学了,就需要在 student 表中将其信息记录删除。MySQL 中使用 DELETE 语句来删除表中的记录,其语法格式如下所示:

DELETE FROM 表名 [WHERE 条件表达式]

        在上面的语法格式中,“表名”指定要执行删除操作的表,[WHERE 条件表达式] 为可选参数,用于指定删除的条件,满足条件的记录会被删除。DELETE 语句可以删除表中的部分数据和全部数据,下面就对这两种情况进行讲解。

        删除部分数据是指根据指定条件删除表中的某一条或者某几条记录,需要使用
WHERE 子句来指定删除记录的条件。

        例如,在 student 表中,删除 id 字段值为11 的记录,在删除数据之前,首先使用查询语句查看 id 字段值为 11 的记录,执行结果如下所示:

mysql> select * from student
    -> where id=11;
+------+----------+-------+
| id   | name     | grade |
+------+----------+-------+
|   11 | zhangfei |    80 |
+------+----------+-------+
1 row in set (0.00 sec)

        从查询结果可以看到,student 表中有一条 id 字段值为 11 的记录,下面使用DELETE语句删除这条记录,DELETE 语句如下所示:

mysql> delete from student
    -> where id=11;
Query OK, 1 row affected (0.01 sec)

        从执行结果可以看出,DELETE语句成功执行,接下来再次通过查询语句查看 id 字段值为 11的记录,执行结果如下所示:

mysql> select * from student
    -> where id=11;
Empty set (0.00 sec)

        从查询结果可以看到记录为空,说明id字段值为 11 的记录被成功删除。在执行删除操作的表中,如果有多条记录满足 WHERE 子句中的条件表达式,则满足条件的记录都会被删除。

        例如,在 student 表中,删除 id 字段值大于 5 的所有记录,在删除数据之前,首先使用查询语句查看 id 字段值大于 5 的所有记录,执行结果如下所示:

mysql> select * from student
    -> where id>5;
+------+-----------+-------+
| id   | name      | grade |
+------+-----------+-------+
|    6 | lilei     |    80 |
|    7 | hanmeimei |    80 |
|    8 | poly      |    80 |
|    9 | liubei    |    80 |
|   10 | guanyu    |    80 |
+------+-----------+-------+
5 rows in set (0.00 sec)

        从查询结果可以看到,student 表中 id 字段值大于 5 的记录有 5 条,下面使用DELETE 语句删除满足条件的这 5 条记录,DELETE 语句如下所示:

mysql> delete from student
    -> where id>5;
Query OK, 5 rows affected (0.00 sec)

        执行 DELETE 语句删除 student 表中的数据,然后再次通过査询语句查看 id 字段值大于 5 的记录,执行结果如下所示:

mysql> select * from student
    -> where id>5;
Empty set (0.00 sec)

        从查询结果可以看到记录为空,说明id 字段值大于 5 的记录被成功删除了。

标签:段值,删除,记录,student,MySQL,id,DELETE
From: https://blog.csdn.net/W_Fe5/article/details/141124697

相关文章

  • 【MYSQL】表的设计
    目录数据库约束notnull约束unique(唯一)约束default默认值约束primarykey(主键)约束foreignkey(外键)约束check约束总结表的设计三大范式第一范式第二范式第三范式表的关系数据库约束是关系型数据库的一个重要功能,主要作用是保证数据的完整性,也可能理解数据......
  • Golang中使用redis,mysql
    一、redis简介redis(REmoteDIctionaryServer)是一个由SalvatoreSanfilippo写key-value存储系统,它由C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value类型的数据库,并提供多种语言的API。和Memcached类似,它支持存储的value类型相对更多,包括string(......
  • MySQL授权用户对存储过程查询和执行权限【转】
    1、授权MySQL存储过程执行权限在项目中往往会用到存储过程来统计一些比较复杂的报表,如果数据库是mysql,则需要在执行存储过程前需要为用户添加权限,才可以,否则会提示:mysqlUserdoesnothaveaccesstometadatarequiredtodeterminestoredprocedureparametertypes错误。......
  • MySQL基础详解(3)
    文章目录索引普通索引创建索引修改表结构(添加索引)创建表的时候直接指定删除索引的语法唯一索引创建索引修改表结构创建表的时候直接指定使用ALTER命令添加和删除索引使用ALTER命令添加和删除主键显示索引信息约束非空约束:唯一约束:主键约束:外键约束:索引MySQL......
  • mysql 给了用户所有权限ALL PRIVILEGES,但是该用户没有grant权限
    在MySQL中,给用户ALLPRIVILEGES权限但没有grant权限的情况可能是因为MySQL版本的更新导致了语法的变化。在MySQL8.0及更高版本中,GRANTALLPRIVILEGES的用法已经不再支持,需要使用GRANTALLPRIVILEGESON*.*TO'username'@'host'WITHGRANTOPTION;的格式来授予用户全局权限和......
  • 【1.0版】【MYSQL安全】sql注入系列:宽字节注入
    主题sql注入系列:宽字节注入原理mysql在使用GBK编码的时候,会认为两个字符为一个汉字,例如%aa%5c就是一个汉字(前一个ascii码大于128才能到汉字的范围)。我们在过滤’的时候,往往利用的思路是将‘转换为\’因此我们在此想办法将‘前面添加的\除掉,一般有......
  • 【1.0版】【MYSQL安全】SQL注入:DNSlog外带盲注回显
    主题SQL注入:DNSlog外带盲注回显利用条件DBMS中需要有可用的,能直接或间接引发DNS解析过程的子程序,即使用到UNCLinux没有UNC路径,所以当处于Linux系统时,不能使用该方式获取数据有个重要条件:load_file()函数可以使用。也就是说需要配置文件my.ini中secure_file_priv=UNCU......
  • 【1.0版】【MYSQL安全】sql注入系列:堆叠注入
    主题sql注入系列:堆叠注入原理mysql数据库sql语句的默认结束符是以;结尾,在执行多条SQL语句时就要使用结束符隔开,那么在;结束一条sql语句后继续构造下一条语句,是否会一起执行我们发现确实同时执行了,那么在实际中我们引号闭合之后也有可能可以进行堆叠注入,但是堆叠注入和开......
  • 【1.0版】【MYSQL安全】导入导出相关操作
    主题导入导出相关操作一、load_file()二、intooutfile一、load_file()load_file(file_name):读取文件并返回该文件的内容作为一个字符串使用条件:A、必须有权限读取并且文件必须完全可读and(selectcount()frommysql.user)>0#如果结果返回正常,说明具有读写......
  • mysql 相关
    1.mysql索引1.1mysql为什么使用b+树做索引mysql的索引主要有hash索引以及B+树索引对于索引,一般就是为了加快数据访问而存在的,所以索引要求的就是效率而mysql索引数据一般是存储在磁盘的,磁盘与内存的交互存在IO,而IO是硬件问题,没法解决,剩下的能解决的也就是IO次数以及......