从数据库中删除数据,使用DELETE语句。其语法如下

DELETE FROM table_name [WHERE <condition>];

语句解析:table_name为表名称,[WHERE  <condition>]为删除条件

例如如下例子:删除的是表admin_user_table,uid等于1的数据

DELETE FROM admin_user_table WHERE uid = 1;

如何知道是否删除了这条数据呢?我们使用查询语句,查询uid=1,如果查询结果为空,则说明该数据已被删除

mysql>SELECT * FROM admin_user_table WHERE uid = 1;
EMPTY set (0.00 sec)

 

温馨提示:如果想删除表中所有的记录,还可以使用 TRUNCATE TABLE 语句,TRUNCATE将直接删除原来的表,并且重新创建一个表,其语法结构为TRUNCATE TABLE table_name。TRUNCATE是直接删除表而不是删除记录,因此执行速度比DELETE快。

 

MySQL删除语句实例:

1、创建一个名为admin_user_table的表,DDL语句如下:

CREATE TABLE `admin_user_table` (
	`id` INT ( 11 ) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键',
	`name` VARCHAR ( 40 ) CHARACTER 
	SET utf8 NOT NULL DEFAULT '' COMMENT '姓名',
	`info` VARCHAR ( 100 ) CHARACTER 
	SET utf8 NOT NULL DEFAULT '' COMMENT '个人信息',
	`cteate_time` INT ( 11 ) DEFAULT NULL COMMENT '创建时间',
	`update_time` INT ( 11 ) DEFAULT NULL COMMENT '更新时间',
	`delete_time` INT ( 11 ) DEFAULT NULL COMMENT '删除时间',
PRIMARY KEY ( `id` ) 
) ENGINE = MyISAM AUTO_INCREMENT = 4 DEFAULT CHARSET = utf8mb4;

对admin_user_table表新增一些数据。(jf是数据库名称)

INSERT INTO `jf`.`admin_user_table` ( `id`, `name`, `info`, `cteate_time`, `update_time`, `delete_time` )
VALUES
	( 1, '张三', '他来自广东省广州市', 1618719462, 1618719462, NULL );
INSERT INTO `jf`.`admin_user_table` ( `id`, `name`, `info`, `cteate_time`, `update_time`, `delete_time` )
VALUES
	( 2, '李四', '他来自广东省深圳市', 1618719462, 1618719462, NULL );
INSERT INTO `jf`.`admin_user_table` ( `id`, `name`, `info`, `cteate_time`, `update_time`, `delete_time` )
VALUES
	( 3, '王五', '他来自广东省东莞市', 1618719462, 1618719462, NULL );

我们在DOS下查看刚才插入的数据。

SELECT
	* 
FROM
	admin_user_table;

显示如下:

我们会发现出现了乱码。这是因为现在是使用utf8字符编码来显示中文数据的,但是因为操作系统是中文操作系统,默认使用的字符集是GB2312,所以需要把输出窗口使用的字符编码改成gb2312才能够正常显示中文。

使用命令如下:

set character_set_results=gb2312;

这样就可以显示为正常的文字而不是乱码。

现在我们可以试着去删除一些数据。

例1、删除id值为2的数据

步骤:在操作前,我们先查看一下id=2的数据是否存在

可以看到表中是有这条数据的。

使用DELETE语句删除。执行情况如下:

语句:

 DELETE TABLE admin_user_table WHERE id= 2;


 SELECT * FROM admin_user_table WHERE id = 2;

结果:

查询结果为空,说明删除数据成功。

例2:如果我们要删除表中所有数据,可以使用

DELETE FROM admin_user_table

结果:

 

 

 

 

 

Logo

华为云1024程序员节送福利,参与活动赢单人4000元礼包,更有热门技术干货免费学习

更多推荐