![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
mysql
文章平均质量分 54
chushiyunen
这个作者很懒,什么都没留下…
展开
-
dbeaver数据库工具安装使用笔记
dbeaver是一款数据库工具,比navicat好用很多。安装可以去官网下载。或者直接从百度网盘下载安装版。链接: https://pan.baidu.com/s/1WgrNHm0GVAUrTYkMLVGSqA提取码: fhte其他报错 Reason: can’t load driver class ‘oracle.jdbc.OracleDriver’ Error creating driver ‘Oracle’ instance.这是因为没有驱动。连接设置界面 | 编辑驱动设置 | 库原创 2022-03-31 16:02:21 · 3932 阅读 · 0 评论 -
sql中的模糊搜索like和instr
背景音乐测试版这里试下背景音乐。原创 2021-08-27 08:22:57 · 861 阅读 · 0 评论 -
编辑界面笔记
编辑作为增删改查中的改,算是比较简单的了,但是也有些小细节。id作为唯一标志这种是最标准、最常见的用法。update t_ticket set amount=1.0 where id='111';联合主键作为唯一标志有时设计比较变态,例如以code、number联合主键作为唯一标志。这时需要区分情况:如果要修改code,nubmer。 那么需要传入原code、number。如果不要修改code,nubmer那么是一致的。1、需要修改code、numberupdate t_ticket原创 2021-05-13 20:04:41 · 97 阅读 · 0 评论 -
避免在for循环中使用sql语句
这是个基本常识额,在这里再赘述一下。例如一个大sql查出100条结果,现在每条记录要关联显示一条其他数据。该怎样做?for循环中使用sql语句最简单的一种方式就是for循环中使用sql语句。根据关联字段查出对应的数据。优点:实现简单快速,在2个表都有基本Mapper的情况下,不用新增任何基础类,直接可以拼凑逻辑。缺点:整个接口速度慢,例如list有100条结果,每条都遍历查库,需要查100次库。而建立session访问数据库是较耗时的操作,最简单的一个session也要20ms左右。光和数原创 2021-04-30 11:50:05 · 6718 阅读 · 1 评论 -
sql中的连接字符串,连接函数 concat,wm_concat,||等
文章目录oracleconcat 连接函数wm_concat|| 来链接字符串(推荐)mysqloracleconcat 连接函数入参为2个参数。 多了不行,少了也不行。2个参数,正确:select concat(1,2) from dual;1个参数。报错: ORA-00909: 参数个数无效:select concat(1) from dual; 3个及以上参数,报错: ORA-00909: 参数个数无效:select concat(1,2,3) from dual; 那么只要原创 2021-03-08 11:04:44 · 954 阅读 · 1 评论 -
sql纵列数据查询后展示为横向数据
场景需要统计不同类别的数据,并展示为横向数据。例如:统计公司不同类别产品的销售额。解决方案一开始看到有些蒙。其实很简单,用if 或者 case即可。sql中直接解决select sum( case category when 'Alcohol' then amount end ) as AlcoholAmount, sum( case category when 'smoke' then amount end ) as SmokeAmount from sales原创 2021-02-24 07:26:39 · 1503 阅读 · 0 评论 -
postgresql报错笔记
文章目录报错 FATAL: terminating connection due to administrator command### 报错: ERROR: relation "ccc_test" does not exist报错 FATAL: terminating connection due to administrator command刷新下就能查出来了。### 报错: ERROR: relation “ccc_test” does not existLINE 1: select *原创 2021-02-19 18:07:08 · 5599 阅读 · 0 评论 -
数据库的分页limit、rownum等
不同数据库的分页语法不一样。mysqloraclepostgresql原创 2021-02-19 14:12:45 · 285 阅读 · 0 评论 -
postgresql所有系统目录/策略(system catalog)
列表如下目录名称Name Purpose目的pg_aggregateaggregate functions集合函数pg_amindex access methods索引访问方法pg_amopaccess method operators访问方法运算符pg_amprocaccess method support procedures访问方法支持程序pg_attrdefcolumn default values列默认值pg_attribu原创 2021-02-07 10:49:04 · 616 阅读 · 0 评论 -
postgresql查看有哪些表,哪些列,注释是什么
3大schema2个基本的schema:information_schemapg_catalog然后还有个默认的schema,就是public。创建表时,如果不指定的schema,那么默认在public下创建表。information_schema和pg_catalog相当于库,所以查询的时候后面一定要加点号指定范围:以下2种错误写法:select * from information_schema; 错select * from pg_catalog; 错因为pg_catalog相原创 2021-02-05 18:16:14 · 2844 阅读 · 0 评论 -
sql导出的身份证后几位是000
场景同样的sql导出的结果,身份证号后几位都是000。解决用sqlplus导出是错的,改为pl/sql即可。另: sqlplus 导出还可能有莫名其妙的乱码问题。原创 2020-10-22 15:41:35 · 1278 阅读 · 0 评论 -
sql中下划线的转义
场景查下w_开头的用户名。过程语句为:select * from user where user_name like 'w_%';发现查出的结果明显不对,这是怎么回事呢?原因: 在sql中, 下划线_表示匹配任意单个字符。使用的时候有2点:1、 前面加右斜杠表示转义,如\_表示下划线。2、后面加 escape '\' 指明转义字符是右斜杠。正确的写法:select * from user where user_name like '%w\_%' escape '\';...原创 2020-10-19 16:11:42 · 7677 阅读 · 1 评论 -
关联查询,左连接,inner join笔记
left join的最大值和最小值假设左表m条,右表n条最小值是m: 当一条也匹配不到右表时,或者右表中没有多条匹配左表时最大值是m+n-1: 当左表的一条匹配到右表所有时所以范围是 m 到 m+n-13个表的inner join直接inner join结果容易不正确。要先inner join一个,拿结果再和第三个表inner join...原创 2020-09-28 18:10:43 · 400 阅读 · 0 评论 -
逆向到模型图
navicat可以最方便。点模型 | 数据库上右键 | 逆向模式到模型 即可生成模型图,保存即可。pl/sqlpl/sql 对模型的支持不好。只支持导出图片:文件 | 新建 | 图表窗口 | 然后拖动图片到模型图 ,最后保存即可。power designer可以略...原创 2020-08-17 15:31:57 · 1010 阅读 · 0 评论 -
重复数据删除掉,只保留一条
原理:1、选出重复值。2、根据重复值,选出重复的行3、根据重复值,分组求最小id(最大id也一样)4、从重复行中,去掉最小id对应的行。select * from( select * from t_user where user_account in (select user_account from t_user group by user_account having count(1) >1) -- 重复的数据) t -- 划定数据范围(不划定就是全表肯定是不对原创 2020-08-06 18:26:43 · 280 阅读 · 0 评论 -
case笔记,及order by case when用法
Select * from tableA ORDER BY ColA , CASE WHEN type = 5 THEN 200 WHEN type = 6 THEN 300 END原创 2020-08-03 11:51:32 · 597 阅读 · 0 评论 -
问卷调查数据库设计
题库 单选 多选id title type选项表id pid key value答案表id pid key score用户答卷表id pid user_id serial score原创 2020-07-31 17:46:05 · 5200 阅读 · 2 评论 -
数据库如何把正数变成负数
方法不只一种。-abs 先绝对值,再负数推荐,代码最优雅,一目了然,一看就知道是求负数。但是这样的写法,铁定非整数了,不具有反转效果。select -abs(amount)0-amount还有正负反转的效果。select 0-amount还有正负反转的效果。-1*amountselect -1*amount...原创 2020-06-01 17:38:47 · 17454 阅读 · 1 评论 -
java.net.SocketException: Connection timed out (Write failed)
提示信息:java.net.SocketException: Connection timed out (Write failed)解决方案原因分析:mysql服务器默认的wait_timeout是8小时,也就是说一个connection空闲超过8个小时,mysql将自动断开该connection。加入配置:#MYSQL 8小时连接超时配置#验证连接的有效性spring.datasource.test-while-idle=true#获取连接时候验证,会影响性能spring.dataso原创 2020-05-25 10:10:21 · 2351 阅读 · 0 评论 -
trunc函数的使用
场景oracle dbms_jobs中见到 trunc(sysdate)+1+1/(24) ,瞬间一脸懵。 是该学习的时候了。用法1.TRUNC(for dates) TRUNC函数为指定元素而截去的日期值。其具体的语法格式如下:TRUNC(date[,fmt])其中:date 一个日期值fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去下面是该函数的使用情况:TRUNC(TO_DATE(‘24-Nov-1999 08:00 pm’),‘dd-mon-yy原创 2020-05-18 18:18:58 · 10076 阅读 · 1 评论 -
mysql列插入数据
场景其他列值都确定,如何给某一列插入数据这样行么?用insert into ... values ('1','abc',select 1 from dual );有点异想天开了。 这样插入肯定是不行的,但是以下写法是可以的,注意下区别:列里面是不能直接用select的。insert into ... values select '1','abc', 这里填入列 ...原创 2020-05-12 18:29:14 · 6622 阅读 · 0 评论 -
oracle 获取最大id
max(id) 么 ,不一定对。因为如果是按字符串排列,999会大于 100000。用max(to_number(id)) 比较好。select max(to_number(id)) from t_user;原创 2020-05-06 17:20:10 · 5152 阅读 · 0 评论 -
sql中exists进行多列的判断
in和not exists都是都可以。如下sql:select * from b where (aaa,bbb) not in ( select aaa,bbb from a where 查询条件A);select * from b where not exists ( select * from a where a.aaa=b.aaa and a.bbb=b.bbb and 查询条件A);...原创 2020-02-13 16:51:12 · 2390 阅读 · 0 评论 -
mysql函数使用
mysql5.5官网文档:获取ascii码:SELECT ASCII('0'); 48-57SELECT ASCII('A'); 65-90SELECT ASCII('a'); 97-122获取2进制值:select BIN(7); select BIN(255);查询某个字段在列表中的位置:SELECT FIELD('beijing', 'shanghai', ...原创 2020-01-07 18:32:23 · 140 阅读 · 0 评论 -
mysql 自动更新时间,自动创建时间
创建时间自动生成:CREATE TABLE `t1` ( `id` int(11) NOT NULL, `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`id`));修改时间自动更新:CREATE TABLE `t2` ( `id` int(11) NOT NULL, `upd...原创 2020-01-05 17:37:04 · 462 阅读 · 0 评论 -
mysql结果导出到word
很多时候需要写接口文档,但是一个一个写很麻烦,数据库中通常都定义好了。那么先查询,导出到word即可。原创 2020-01-01 09:20:54 · 696 阅读 · 0 评论 -
mysql 有哪些权限
查看权限:show grants; -- 查看当前用户权限show grants for current_user(); -- 查看当前用户权限show grants for 'root'@'localhost'; -- 查看某个具体用户权限如果找不到,在用户表找一下select * from mysql.user; 以下是权限表:PrivilegeGrant Tabl...原创 2019-12-29 17:05:59 · 555 阅读 · 1 评论 -
win7 mysql设置最大连接数max_connections
这个直接设置无效,要在my.ini里面设置:max_connections=2然后重启mysql服务,随便打开2个链接,继续打开会报错:too many connections ,说明设置成功了。...原创 2019-12-29 10:30:57 · 356 阅读 · 0 评论 -
mysql show variables和 show status
mysql中和variables和status相关的有4张表,都在information_schema库中:global_variables; -- 全局变量session_variables; -- session变量global_status; --全局statussession_status; -- session statusshow variables 相当于视图:...原创 2019-12-28 17:30:53 · 535 阅读 · 0 评论 -
mysql入门
想要入门,先有文档,下面罗列一些地址。官网文档首页:https://dev.mysql.com/doc/官网grant语法文档:https://dev.mysql.com/doc/refman/8.0/en/grant.html#grant-column-privileges一个不错的mysql中文网:https://www.mysqlzh.com/查看mysql的一些例子用法:s...原创 2019-12-28 17:23:21 · 93 阅读 · 0 评论 -
mysql创建列权限
create user 'lili'@'%' identified by '1234';GRANT SELECT(id) ON test.student TO 'lili'@'%';用lili用户登录,执行sql:select id from student; select id,name from student; -- 报错报错内容:[Err] 1143 - SELECT co...原创 2019-12-28 17:06:39 · 182 阅读 · 0 评论 -
数据库中的blob和clob
都是为了存放大量数据的字段。blob: binary lob 以二进制存放clob: character lob 以字符存放一、MySQL与Oracle数据库如何处理Clob,Blob数据类型(1)不通数据库中对应clob,blob的类型如下:MySQL中:clob对应text,blob对应blobDB2/Oracle中:clob对应clob,blob对应blob(2)d...原创 2019-12-28 11:07:36 · 1253 阅读 · 0 评论 -
mysql分区实战
create table goods ( id int, uname char(10) )engine myisam partition by range(id) ( partition p1 values less than (10), partition p2 values less than (20), pa...原创 2019-12-27 07:09:54 · 234 阅读 · 0 评论 -
mysql报错[Err] 1005 - Can't create table '***.#sql-a44_e8' (errno: 150)
常出现在添加约束的时候。例如:ddl语句为:CREATE TABLE Person ( id BIGINT NOT NULL, PRIMARY KEY (id));CREATE TABLE Phone ( id BIGINT NOT NULL, number VARCHAR(255), type VARCHAR(255), person_id BI...原创 2019-12-14 15:49:04 · 246 阅读 · 0 评论 -
mysql自带的几个库
information_schema库元信息库mysql库账户密码都放在这个库里performance_schema库性能相关数据test库测试库sys库(5.7以上才有)原创 2019-12-14 15:39:29 · 304 阅读 · 0 评论 -
mysql常见问题
报错 Table ‘***’ is marked as crashed and should不小心停电了,重启后报这个错。执行语句修复下即可:REPAIR TABLE role; – 这里role是表明名原创 2019-12-08 21:55:16 · 111 阅读 · 0 评论 -
mysql报错Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)很明显,找不到/var/lib/mysql/mysql.sock,这是因为默认的socket是在/tmp/mysql.sock编辑/etc/my.cnf ,修改socket (client和server的都要改)socket ...原创 2019-11-29 18:06:05 · 574 阅读 · 0 评论 -
mysql解决乱码终极方案
1、jdbc连接中添加useUnicode=true&characterEncoding=UTF-82、show variables like ‘character_set%’;发现character_set_server 是latin1。打开linux中/etc/my.cnf文件(这是mysql的配置文件)进行如下配置:[mysql]中添加default-character-...原创 2019-11-26 17:20:12 · 118 阅读 · 0 评论 -
linux中mysql配置多实例,多端口(bin方式)
假设已有一个mysql实例了,如果没有,可以参考下面博文安装一个:https://blog.csdn.net/enthan809882/article/details/103221260先解压tar包到/usr/local下,重命名为mysql-5.5.60-linux-glibc2.12-x86_64-3307,然后继续:cd /usr/local;ln -s /usr/local/my...原创 2019-11-24 21:40:26 · 315 阅读 · 0 评论 -
kil -9杀不死mysql守护进程
发现一个奇怪现象,kill -9 杀不掉守护进程,如图:然后用kill直接杀,杀掉了。如图:这是因为:mysqld的守护进程mysqld_safe,也是mysqld的父进程,你非法关闭mysql时,会被它重新启动的。使用kill mysqld或者mysqladmin shutdown正常关闭就可以了。...原创 2019-11-24 18:35:48 · 3075 阅读 · 0 评论