![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mysql
文章平均质量分 61
mysql数据库各种语句记录
good_good_xiu
这个作者很懒,什么都没留下…
展开
-
mysql一张表同时select和update,报错:You can‘t specify target table ‘xxx‘ for update in FROM clause
MySQL不允许SELECT FROM后面指向用作UPDATE的表报错信息:You can’t specify target table ‘xxx’ for update in FROM clause报错语句:update xxx t1 set a = (select a from xxx q where t1.b = q.b) where t1.a is null;原因:MySQL不允许SELECT FROM后面指向用作UPDATE的表解决:查询xxx表为为临时表并起别名,在进行条件过滤即可原创 2022-02-17 10:30:02 · 945 阅读 · 2 评论 -
Mybatis获取插入数据后的自增主键的值
mapper.xml中的useGeneratedKeys和keyProperty属性利用mybatis提供的useGeneratedKeys和keyProperty属性可以在插入一条数据后,获取插入数据自增主键的值返回给前台。keyProperty属性绑定java实体类中的属性,useGeneratedKeys设置为true即可。LAST_INSERT_ID()函数该函数可以获取当前所插入表中,最后一条插入记录的id常见业务场景(一对多)1、插入记录主表,获取主表id,把主表id插入从表记录的主原创 2022-01-25 19:41:26 · 1609 阅读 · 0 评论 -
Mybatis中<trim>标签的用法和常见场景。prefix、suffix、prefixOverrides、suffixOverrides属性详解
Mybatis中<trim>标签的用法和常见场景trim标签属性常用场景拼接select语句时,在where后面需要消除可能存在的and时,就需要再where标签中使用trim标签和prefixOverrides属性。拼接insert语句时,表名后需要增加前缀->"("和后缀->")"和消除末尾不需要的后缀->","。然后需要前缀->"values ("和后缀->")"和消除末尾不需要的后缀->","拼接update语句时,在set后面需要消除末尾不需要的后缀->"原创 2022-01-25 19:33:32 · 5021 阅读 · 0 评论 -
MySql编写自定义函数、存储过程语法(附详细案例,已解决问题:运行自定义函数报错,语法limit @变量名报错)
MySql编写自定义函数、存储过程语法原创 2022-01-04 09:48:52 · 2121 阅读 · 0 评论 -
已解决:mysql不是系统内部命令,无效命令
1.问题场景:在命令行中使用mysql命令登录,提示mysql不是系统内部命令。2.解决方法查看计算机属性—>高级系统属性—>环境变量—>系统变量—>path新增一条path属性的值为:指向mysql的bin目录下...原创 2021-07-07 15:26:15 · 567 阅读 · 1 评论 -
mysql导出(备份)导入(还原)数据库命令(详细)
mysql导出(备份)导入(还原)数据库命令(详细)备份1.打开命令行窗口,找到mysql服务安装的地方,进入bin文件夹下:还原1.打开命令行窗口,输入命令登录mysql2.创建新数据库3.进行还原错误记录扩展备份1.打开命令行窗口,找到mysql服务安装的地方,进入bin文件夹下:导出语法:mysqldump -u用户名 -p 数据库名 > 文件名称或路径和名称输入命令:mysqldump -uroot -p aaa > D:\aaa.sql输入密码后回车,无错误提示则原创 2021-07-07 15:25:06 · 4970 阅读 · 0 评论 -
Mysql:查询每科成绩前二的学生信息和课程信息(即使存在多个第一,也可以有效查询)
Mysql查询每科成绩前二的学生1.要求:查询每科成绩排名前二的学生信息解决方法:1.自关联查询优点:sql简单易懂缺点:当第一名的分数存在3个或3个以上时,无法查询到第一名的分数。同理第二也是。然后第三、第四就变成第一、第二思路:创建一张成绩表(cjb)的中间表(zjb),使用count()函数统计,中间表的每个课程的每个学生分数是否2.排序、使用变量优点:修复第一种方法存在的缺陷。会把所有第一和第二的数据查出来。而且可以根据是是否不重复排名来实现不同的需求。重复排名:排名名次可重复,存在多个第一。不重复原创 2021-04-15 00:30:42 · 5045 阅读 · 0 评论 -
数据库:使用自关联实现查询单表或多表中的重复数据(通用)
单表仅查询重复数据1.首先建一张表-- 建表ttttttDROP TABLE IF EXISTS `tttttt`;CREATE TABLE `tttttt` ( `t` int(10) NULL DEFAULT NULL, `y` int(10) NULL DEFAULT NULL) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci-- 插入测试数据INSERT INTO `tttttt` VALUES原创 2021-04-14 09:56:03 · 1082 阅读 · 2 评论 -
Mysql创建用户、修改密码、修改用户名或数据库名相关语句(附详细例子)
Mysql常用操作语句关于用户用户授权数据库操作表操作数据操作关于用户创建用户-- 语法CREATE USER '用户名'@'主机地址' IDENTIFIED BY '密码';-- 例子:创建一个text用户,密码为root'CREATE USER text IDENTIFIED BY 'root'; -- 当不指定主机地址时,主机地址默认为%。代表所有地址都可以使用该用户。-- 例:创建dev用户,指定地址为localhost,密码为123456。代表只有本机才可以使用dev用户。CR原创 2021-04-13 17:38:02 · 1724 阅读 · 0 评论 -
Mysql授权其他用户操作数据库或表权限语句、授权远程连接
Mysql权限操作语句mysql授权语句语法用户未存在用户已存在mysql回收权限语句回收语句语法mysql授权语句语法用户未存在-- 授权并创建用户语法grant all privileges on *.* to '用户名'@'主机地址' identified by '密码' with grant option#all privileges:代表全部权限。(insert|update|delete|select|alter|create)等#*.*:代表全部数据据库的全部表。修改成A数据库的全原创 2021-04-13 11:49:48 · 1267 阅读 · 0 评论 -
Mysql触发器语法详解(附带简单实用例子)
Mysql触发器触发器语法实用案例(常用after类型触发器)总结(踩坑记录)触发器语法-- 数据库操作工具方法(navicat、sqlyog)CREATE TRIGGER trigger_name AFTER|BEFORE INSERT|UPDATE|DELETE ON table_nameFOR EACH ROW -- 行级触发器,修改一行数据触发一次。不写就默认语句级触发器,不管修改多少行数据,只执行一次。BEGIN ... -- 具体执行语句END命令行方式-- 命令行方式--原创 2021-04-13 10:32:22 · 18016 阅读 · 1 评论 -
Mysql数据库:保留两位小数--convert()函数
问题场景:在mysql数据库中,存在乘除运算或浮点数数据,取出时需要过滤小数点后的数据,保留两位小数,同时四舍五入。convert(expr,type)函数expr:代表传入的数据,如字符串,数字。type:代表转换后的类型例子:在不指定小数点的位数情况下,decimal类型只保留整数对比:数字转字符:补充:使用cast(expr as type)也可以实现保留小数点后几位或取整操作。...原创 2021-04-02 14:33:26 · 3367 阅读 · 0 评论