基于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;
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
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
随机推荐
- ES6学习笔记之Set和Map数据结构详解
- php中实现精确设置session过期时间的方法
- Struts2拦截器 关于解决登录的问题
- Mysql5.7忘记root密码怎么办(简单且有效方法)
- mysql 字符串函数收集比较全
- js防止表单重复提交实现代码
- VMware Workstation Pro下CentOS 7 64位服务器安装教程
- 阿拉伯数字转大写中文_财务常用sql存储过程
- 修改mysql密码与忘记mysql密码的处理方法
- jQuery+slidereveal实现的面板滑动侧边展出效果
- 用按钮触发Javascript动态生成一个表格的代码
- RxJava中多种场景的实现总结
- Java设计模式之解释器模式_动力节点Java学院整理
- Android Studio 报Integer types not allowed错误
- 最详细的文件上传下载实例详解(推荐)
- 深入浅析python继承问题
- 浅谈vue项目重构技术要点和总结
- pandas系列之DataFrame 行列数据筛选实例
- Node.js如何对SQLite的async/await封装详解
- 详解在Vue中使用TypeScript的一些思考(实践)