基于mysql中delete的语法别名问题

目录
  • mysql delete的语法别名问题
  • mysql delete 语句中使用别名 alias

mysql delete的语法别名问题

首先确认,mysql中的delete语句是支持别名的;

在自己书写delete语法时候,语句如下:

delete from tableA a where a.c_pk_id = '123'

但是会报一个别名使用错误,如下:

[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'q
WHERE
q.C_PLY_NO = '1100107000404000220150000001'
AND q.N_EDR_PRJ_NO = '1'' at line 3

通过查询资料得知,mysql的delete的语法有些特殊,如下:

delete   a   from tableA  a  where a.c_pk_id = '123'

成功删除!!!

比较之后可知道,delete语句在用别名的时候要多写一个别名在delete后边

mysql delete 语句中使用别名 alias

语法:

delete <alias> from <table> <alias> where <alias>.<field>...

别名必需在 delete之后出一次。

多表间删除语法:

DELETE t1, t2 FROM t1 INNER JOIN t2 INNER JOIN t3
WHERE t1.id=t2.id AND t2.id=t3.id;

Or:

DELETE FROM t1, t2 USING t1 INNER JOIN t2 INNER JOIN t3
WHERE t1.id=t2.id AND t2.id=t3.id;

LEFT JOIN:

DELETE t1 FROM t1 LEFT JOIN t2 ON t1.id=t2.id WHERE t2.id IS NULL;

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • MySQL数据操作-DML语句的使用

    说明 DML(Data Manipulation Language)数据操作语言,是指对数据库进行增删改的操作指令,主要有INSERT.UPDATE.DELETE三种,代表插入.更新与删除,这是学习MySQL必要掌握的基本知识. 方语法中 [] 中内容可以省略. INSERT操作 逐行插入 语法格式如下: insert into t_name[(column_name1,columnname_2,...)] values (val1,val2); 或者 insert into t_name se

  • MySQL中使用表别名与字段别名的基本教程

    MySQL 表别名(Alias) SQL 表别名 在 SQL 语句中,可以为表名称及字段(列)名称指定别名(Alias),别名是 SQL 标准语法,几乎所有的数据库系统都支持.通过关键字 AS 来指定. 表别名语法: SELECT column FROM table AS table_alias 上述 SQL 执行后的效果,给人感觉是对 table_alias 表进行查询,但实际上对单表做简单的别名查询通常是无意义的.一般是对一个表要当作多个表来操作,或者是对多个表进行操作时,才设置表别名. 表

  • 对MySql经常使用语句的全面总结(必看篇)

    下面总结的知识点全是经常用的,全都是干货,好好收藏吧. /* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限验证登录MySQL */ mysqld --skip-grant-tables -- 修改root密码 密码加密函数password() update mysql.user set password=password('root'); SHOW PROCESSLIST -- 显

  • 基于mysql中delete的语法别名问题

    目录 mysql delete的语法别名问题 mysql delete 语句中使用别名 alias mysql delete的语法别名问题 首先确认,mysql中的delete语句是支持别名的: 在自己书写delete语法时候,语句如下: delete from tableA a where a.c_pk_id = '123' 但是会报一个别名使用错误,如下: [Err] 1064 - You have an error in your SQL syntax; check the manual

  • 基于MYSQL中优化的一些方法

    mysql的存储引擎myisam和innodb以及memorymemory以后会介绍到innodb支持事物,外键以及行锁,mysql不支持innodb不支持fulltext索引的类型innodb不保存具体行数innodb的auto_increment不支持联合索引innodb删除表的时候是一行行删除--------------------------------------------------------------------------------大型网站对于数据库的操作优化1.读写分离

  • MySQL中case when对NULL值判断的踩坑记录

    目录 前言 Mysql中case when语法: 案例实战: 总结: 前言 今天在开发程序中,从MySQL中提取数据的时候,使用到了case when的语法用来做判断,在使用过程中在判断NULL值的时候遇到个小问题 sql中的case when 有点类似于Java中的switch语句,比较灵活,但是在Mysql中对于Null的处理有点特殊 Mysql中case when语法: 语法1: CASE case_value WHEN when_value THEN statement_list [WH

  • mysql中的delete,drop和truncate有什么区别

    目录 前言: 1.delete 1.1 delete 实现原理 1.2 关于自增列 2.truncate 2.1 truncate 实现原理 2.2 重置自增列 3.drop 4.三者的区别 总结 前言: 在 MySQL 中,删除的方法总共有 3 种:delete.truncate.drop,而三者的用法和使用场景又完全不同,接下来我们具体来看. 1.delete detele 可用于删除表的部分或所有数据,它的使用语法如下: delete from table_name [where...]

  • Mysql中的触发器定义及语法介绍

    目录 1.定义: 2.语法: 3.删除触发器 4.查询触发器 5.触发器类型OLD和NEW的使用 1.定义: 触发器和存储过程相似,都是嵌入到 MySQL 中的一段程序.触发器是由事件来触发某个操作.当数据库执行这些事件时,就会激活触发器来执行相应的操作.这些事件称为触发条件,在MySQL中,有UPDATE,INSERT,和DELETE. 在MySQL中,目前只有UPDATE,INSERT,和DELETE这三种操作,才会触发触发器,其他操作都不支持触发器.这和Oracle中的触发器有很大的区别,

  • MySQL中UPDATE与DELETE语句的使用教程

    UPDATE 更新 UPDATE SET 语法用于修改更新数据表中的数据. 语法: UPDATE tb_name SET column1 = new_value1,column2 = new_value2,- WHERE definition 该语法将数据表中符合 WHERE 条件的记录中的 column1 的值更新为 new_value1,column2 的值更新为 new_value2 ,以此类推.如果省略 WHERE 条件,则会将表中所有记录的 column 值进行更新. 例子: <?ph

  • MySQL中create table语句的基本语法是

    MySQL中create table语句的基本语法是:  Create [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definition,...)]  [table_options] [select_statement]  TEMPORARY:该关键字表示用create table新建的表为临时表,此表在当前会话结束后将自动消失.临时表主要被应用于存储过程中,对于目前尚不支持存储过程的MySQL,该关键字一般不用.  IF NOT EX

  • mysql中drop、truncate与delete的区别详析

    目录 1.drop:删除数据库 2.对比TRUNCATETABLE和DELETEFROM 3.DDL和DML的说明 4.效率对比 总结 1. drop:删除数据库 drop语句将表所占用的空间全释放掉. drop > truncate > delete 方式1:如果要删除的数据库存在,则删除成功.如果不存在,则报错 DROP DATABASE mytest1; 方式2:推荐. 如果要删除的数据库存在,则删除成功.如果不存在,则默默结束,不会报错. DROP DATABASE IF EXISTS

  • Mysql中TIMESTAMPDIFF函数的语法与练习案例

    目录 语法结构 参数说明 示例 练习案例 总结 TIMESTAMPDIFF函数用于计算两个日期的时间差 语法结构 TIMESTAMPDIFF(unit,datetime_expr1,datetime_expr2) 参数说明 unit: 日期比较返回的时间差单位,常用可选值如下: SECOND:秒 MINUTE:分钟 HOUR:小时 DAY:天 WEEK:星期 MONTH:月 QUARTER:季度 YEAR:年 datetime_expr1: 要比较的日期1 datetime_expr2: 要比较

  • Mysql中DATEDIFF函数的基础语法及练习案例

    目录 语法格式 参数说明 示例 练习案例 总结 DATEDIFF函数用于返回两个日期的天数 语法格式 DATEDIFF(date1,date2) 参数说明 date1: 比较日期1 date2: 比较日期2 DATEDIFF函数返回date1 - date2的计算结果,date1和date2两个参数需是有效的日期或日期时间值;如果参数传递的是日期时间值,DATEDIFF函数仅将日期部分用于计算,并忽略时间部分(只有值的日期部分参与计算) 示例 -- 1 SELECT DATEDIFF('2022

随机推荐