
mysql
luoage_
不迁怒不贰过
展开
-
查询无效的自增id row_number
我们的建表语句id一般都是这么个样子 int unsigned NOT NULL AUTO_INCREMENTid自增1,自增嘛也就是从1开始 到 n, 但是很多情况下自增的id断断续续,并不连续(默认步长1),导致这个的原因也很简单,insert的时候出错了,这个id就被废弃掉了。但是。。。。。强迫症的我怎么办,看着结果好难受,我必须要做点什么我打算做点啥呢,我打算把所有无效的id都找出来🤦🏻♀️,于是sql如下先来分下一下这条sql,首先对id做正序排列并且给加上序列号,形成一张临时表u, ..原创 2022-07-08 19:42:42 · 381 阅读 · 1 评论 -
mysql dense_rank function
有个朋友问了我一个sql问题有张商品表,包含了商品id,商品价格和店铺id,要求列出每个店铺价格前三的商品商品表 goods拿到这个问题我首先想到的是以前处理过的一个最值问题,于是我写下了下面一个sql先获取最大价格和store_id,形成一张临时表g2,再使用goods inner join g2表,on的条件是 store_id和price完美,没缺陷,但是。。。。没什么卵用,解决不了这个问题🤦🏻♀️。于是我转换思路,想到以前用过oracle写最值问题经常会使用到 row_number 函数,..原创 2022-07-08 18:07:54 · 1056 阅读 · 0 评论 -
mysql左右关联,内关联,having用法
两张表,user,字段,user_id,email,namedeal,字段deal_id,user_id,deal_name对应关系,user.user_id = deal.user_id,左关联:select u.*,d.* from user as u left join deal as d on d.user_id =u.user_id;右关联:select u.*,d.*原创 2017-11-03 14:19:56 · 1816 阅读 · 0 评论 -
cmd连接mysql
连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样)断开:exit (回车)创建授权:grant select on 数据库.* to 用户名@登录主机 identified by \"密码\"修改密码:mysqladmin -u用户名 -p旧密码 password 新密码删除授权: revoke select,insert,upda原创 2017-11-03 14:19:59 · 379 阅读 · 0 评论 -
sql注入
说起防止SQL注入攻击,感觉很郁闷,这么多年了大家一直在讨论,也一直在争论,可是到了现在似乎还是没有定论。AD:1、 SQL注入攻击的本质:让客户端传递过去的字符串变成SQL语句,而且能够被执行。2、 每个程序员都必须肩负起防止SQL注入攻击的责任。说起防止SQL注入攻击,感觉很郁闷,这么多年了大家一直在讨论,也一直在争论,可是到了现在似乎还是没有定论。当不知道注入原理的时候会觉得很神原创 2017-11-03 14:20:36 · 241 阅读 · 0 评论 -
shell操作mysql
在shell开发中,很多时候我们需要操作mysql数据库(比如:查询数据、导出数据等),但是我们又无法进入mysql命令行的环境,就需要在shell环境中模拟mysql的环境,使用mysql相关命令,本文总结几种shell操作mysql的方法,供大家参考。方案1mysql -uuser -ppasswd -e"insert LogTable values(...)" 优点原创 2017-11-03 14:20:41 · 370 阅读 · 0 评论 -
mysql索引类型
索引的类型 MySQL提供多种索引类型供选择: 普通索引 这是最基本的索引类型,而且它没有唯一性之类的限制。普通索引可以通过以下几种方式创建: 创建索引,例如CREATEINDEXONtablename(列的列表); 修改表,例如ALTERTABLEtablenameADDINDEX[索引的名字](列的列表); 创建表的时候指定索引,例如CREATETABLEtable原创 2017-11-03 14:21:12 · 207 阅读 · 0 评论