
数据库
文章平均质量分 77
数据库知识与经验
松门一枝花
建筑行业数字化产品总监
展开
-
mysql查看表占用空间大小
select TABLE_NAME,DATA_LENGTH+INDEX_LENGTH,TABLE_ROWS from INFORMATION_SCHEMA.tables where TABLE_SCHEMA='nbly_twjr'DATA_LENGTH+INDEX_LENGTH 的值除以1024,再除以1024,折算成MB原创 2020-10-20 10:07:28 · 625 阅读 · 0 评论 -
修改Navicat数据库自动备份目录
1.右键连接,选择“编辑连接”2. 选择“高级”,设置位置原创 2020-09-18 16:13:48 · 1324 阅读 · 0 评论 -
Mysql sql语句积累
/*UPDATE dati0917 dt INNER JOIN ygh_user u ON dt.idcards=u.ID_CARD_NUMSET dt.app_phone = u.LOGIN_NAME; */#select length(csfz) from hzbz;#select LENGTH(cert_no) from...原创 2019-09-17 14:47:17 · 354 阅读 · 0 评论 -
Communications link failure,The last packet successfully received from the serve
最近做测试,发现Mysql 过一段时间会无法连接,导致数据库数据不一至,极其郁闷。使用Connector/J连接MySQL数据库,程序运行较长时间后就会报以下错误:Communications link failure,The last packet successfully received from the server was *** millisecond ago.The las...原创 2020-02-29 22:00:37 · 11648 阅读 · 4 评论 -
写sql语句的经验之谈
1. 不论一个sql中涉及到多少表,每次都用两个表(结果集)操作,得到新的结果后,再和下一个表(结果集)操作。2. 避免在select f1,(select f2 from tableB ).... from tableA 这样得到字段列。直接用tableA和tableB关联得到A.f1,B.f2就可以了。3、避免隐含的类型转换selectidfromemployeewh...转载 2020-02-26 13:08:41 · 347 阅读 · 0 评论 -
SQL查询表的列名
SELECT COLUMN_NAME FROM DBA_TAB_COLUMNS WHERE TABLE_NAME = 'DT4_JOB_CHECK_MATRIX';SELECT COLUMN_NAME FROM ALL_TAB_COLUMNS WHERE TABLE_NAME = 'DT4_JOB_CHECK_MATRIX';SELECT COLUMN_NAME FROM USER_T原创 2017-08-31 17:24:08 · 4010 阅读 · 0 评论 -
查看表的创建时间
select OWNER,OBJECT_NAME,CREATED from dba_objects where OBJECT_NAME='表名' CREATED 是表的创建时间查询 dba_objects 表需要dba权限原创 2016-03-30 11:02:04 · 1337 阅读 · 0 评论 -
查询Oracle正在执行的sql语句,锁表,解锁
原文出处:http://blog.youkuaiyun.com/jlds123/article/details/6572559-------------------------查询Oracle正在执行的sql语句及执行该语句的用户[sql] view plain copy SELECT b.sid oracleID,转载 2016-03-29 17:29:35 · 21779 阅读 · 0 评论 -
批量删除table或view
一个个删太费时了。一个简单可行的方法。思路:找出要删除的表名/视图名,然后拼接删除sql,执行。批量删除表:1、找出要删除的表名select table_name from user_tables where table_name like 'S1MSGLATENCY_2016032%';2、复制这些表名3、拼接drop table 表名语句。原创 2016-03-28 15:32:12 · 2412 阅读 · 0 评论 -
Oracle对表空间操作的sql
管理员给用户增加不限制表空间权限grant unlimited tablespace to 用户;登入某个用户,查看某个用户在哪个表空间下: select username,default_tablespace from user_users; 查看该用户下所有的表: select * from user_tables; 查看所有表 名称原创 2016-03-24 16:35:56 · 584 阅读 · 0 评论 -
MySQL not in查询不出数据(MySQL not in 无效)
今天使用 MySQL 的 not in 进行查询的时候,发现结果里面并没有返回任何数据。SQL 语句没有任何问题,但是结果集却是空,实在无法理解。纠结了半天,最后使用 left join,两表关联,找到了目标数据。但是这样的话,难道 not in 就不能使用了吗?最后经过查找,找到了原因。mysql 的 not in 中,不能包含 null 值。否则,将会返回空结果集。对于 not in ...转载 2019-09-18 02:02:16 · 7035 阅读 · 3 评论 -
Mysql 使用正则表达式
需求:匹配出姓名字段里非中文的SELECT * FROM 表 WHERE REAL_NAME REGEXP '([\\u4e00-\\u9fa5]{1,20}|[a-zA-Z\\.\\s]{1,20})' ;查询结果如下原创 2019-09-17 12:31:37 · 284 阅读 · 0 评论 -
MySQL中去除字段中的回车符和换行符
问题:在使用【load data infile 'D:/node.txt' into table node fields terminated by '\t'; 】语句批量导入如下图所示的aaa.txt中的数据到tb.table表中后,最后一个字段中默认包含了换行符或回车符。导入数据后,node表内容如下所示:从直观上看不出导入后的数据有什么问题,但如果执行查询语句【...转载 2019-06-18 16:09:17 · 2243 阅读 · 1 评论 -
Mysql windows 安装提示MSVCR120.dll文件丢失
电脑上已经按照了vc++运行库,但是报错。原因:文件被恶意程序破坏了解决方法:到微软官网下载 VC redist packages for x64。点击跳转vcredist_x64.exe如果是32位,则选vcredist_x32.exe安装完后会提示重启电脑,不需要重启。再执行一次mysql初始化,发现成功了。 ...原创 2018-11-06 09:14:24 · 3540 阅读 · 0 评论 -
authentication plugin caching_sha2
新电脑安装最新版本的Mysql,用Navicat Premium连接,提示:authentication plugin caching_sha2因为mysql8.0开始更新了验证方式,Navicat Premium版本连接新MySQL的时候,还是上一个版本的认证方式。不仅Navicat Premium会出现这个问题,如果没有使用最新的jdbc驱动包,jdbc代码连接也会出问题。所以解决...原创 2018-10-24 16:45:07 · 3101 阅读 · 0 评论 -
Mysql8.0&Mysql5.7&Mysql5.6&Mysql5.5特性对比
Mysql5.5 特性,相对于Mysql5.1性能提升默认InnoDB plugin引擎。具有提交、回滚和crash恢复功能、ACID兼容。行级锁(一致性的非锁定读 MVCC)。表与索引存储在表空间、表大小无限制。支持dynamic(primary key缓存内存 避免主键查询引起的IO )与compressed(支持数据及索引压缩)行格式。InnoDB plugin文件格...转载 2018-10-24 16:34:36 · 996 阅读 · 0 评论 -
Navicat工具导出Mysql数据表结构到Excel文件中
原文链接:https://blog.youkuaiyun.com/zt15732625878/article/details/77978266------------------------------------------------------------------------前言 项目中数据库设计已经完成,现在到了代码实现的阶段,数据库中没有数据,测试看不出效果,领导要求添点数据,...转载 2018-10-03 15:37:03 · 8524 阅读 · 3 评论 -
Mysql yum 安装后,一些重要的文件路径
默认配置文件路径:配置文件:/etc/my.cnf 日志文件:/var/log//var/log/mysqld.log 服务启动脚本:/usr/lib/systemd/system/mysqld.service socket文件:/var/run/mysqld/mysqld.pid #(a)数据库目录 /var/lib/mysql/ #(b)配置文件/usr/share ...原创 2018-08-24 15:48:25 · 2265 阅读 · 0 评论 -
mysql查询很慢优化方法1
解决方法:关联的字段建索引。具体分析如下:举例:表格:培训学生表,班级报名表需求:查询出学生报了哪些班级两表有个关联字段“CD”(学生学号)。视图sql:SELECT `t_px_stu`.`PX_STU_PK` AS `PX_STU_PK`, `t_px_stu`.`SYS_USER_PK` AS `SYS_USER_PK`, `t_px_stu`.`CD` AS `CD`, `t_px...原创 2018-07-14 12:53:31 · 4253 阅读 · 0 评论 -
ER图转换成关系模式集的规则
转自己博客园文章A与B=1:1在A表里把B表的主键和关系的属性加入到A表中或B表里把A表的主键和关系的属性加入到B表中举例男人表 身份证号 姓名 年龄 女人身份证号 登记日期 女人表 身份证号 姓名 年龄 A与B=1:N在A表中加入B表的主键与关系的属性小米公司 纳税号 公司全称 公司地址 手机型号 生产...原创 2018-06-06 17:07:46 · 10373 阅读 · 2 评论 -
ERROR 1045 (28000): Access denied for user root@localhost (using password: NO)
Linux下mysql的安装,真是不同Linux环境,各种问题。步骤:1、暂停mysql服务service mysqld stop2、设置mysql模式# mysqld_safe --user=mysql --skip-grant-tables --skip-networking & 3、clone session,新窗口# mysql -u root mysql mysql> UP...原创 2018-04-19 12:18:22 · 701 阅读 · 0 评论 -
Mysql varchar 字节长度
1.我们经常 mysql创建 varchar(20) name这个 20长度 究竟是表示的字符数还是字节数?根编码字符集又有没有关系?首先 mysql 5.X 以上的版本的 定义中 表示的字符长度,如上varchar(20)你既可以添加20个英文字符,也可以添加二十个中文字符。 表示的字符长度mysql 4.X 的版本表示的是字节长度,会根据字符集转变 内容字节长度存储。2.关于 int(2) ...原创 2018-03-23 17:35:53 · 3561 阅读 · 0 评论 -
MySQL5.7.12新密码登录方式及密码策略
原文链接:http://www.cnblogs.com/jonsea/p/5510219.html---------------------------------------------------------------------------在Centos6.6上安装MySQL5.7.12时,遇到了一个问题安装后在/root目录下没有发现有.mysql_secre转载 2017-10-29 17:46:28 · 557 阅读 · 0 评论 -
Linux卸载Mysql
1、查看安装了哪些mysql包[root@master ~]# rpm -qa|grep -i mysql mysql-community-libs-5.7.17-1.el6.x86_64mysql-community-common-5.7.17-1.el6.x86_64mysql-community-server-5.7.17-1.el6.x86_64mysql-commun原创 2017-10-28 15:25:50 · 381 阅读 · 0 评论 -
Linux Mysql 安装方法
1、检查是否有安装[root@JDDB mysql]# yum list installed | grep mysqlmysql-community-client.x86_64 5.6.39-2.el7 @mysql56-communitymysql-community-common.x86_64 5.6.39-2.el...原创 2017-10-02 22:25:32 · 512 阅读 · 0 评论 -
LINUX重启MYSQL的命令
原文:http://blog.youkuaiyun.com/liuyong0818/article/details/5693336 ------------------------原文有错误,本文转载时已修改---------如何启动/停止/重启MySQL一、启动方式1、使用 service 启动:service mysql start2、使用 mysql转载 2016-08-27 18:16:10 · 493 阅读 · 0 评论 -
mysql5.6允许远程服务器访问数据库
原文:http://blog.youkuaiyun.com/quuqu/article/details/51489737------------------------------------------------------------------------------由于开发需要,有时我们需要能够远程访问链接数据库。默认mysql设置关闭了远程访问。我们可以通过修改原创 2016-08-26 18:05:45 · 4459 阅读 · 0 评论 -
Linux安装MySQL的两种方法
原文链接:http://blog.youkuaiyun.com/superchanon/article/details/8546254---------------------------------------------------------------------------------------1. 运行平台:CentOS 6.3 x86_64,基本等同于RHE转载 2016-08-26 10:48:56 · 980 阅读 · 1 评论 -
数据库设计三范式
第一范式(1NF):强调的是列的原子性,即列不能够再分成其他几列。问:怎么知道列还能不能分?答:靠生活常识与经验举例1 id 地址 1 中国广东 2 中国云南 地址这列还可以拆分:国籍,省区举例2客户表username 姓名 sex ...原创 2018-10-04 12:00:59 · 317 阅读 · 0 评论 -
SQL中使用DISTINCT显示多个字段的方法(不使用DISTINCT了)
原文连接:https://www.cnblogs.com/alanliu/archive/2008/02/25/1080626.html---------------------------------效果是DISTINCT CUS_NO,并且同时显示CUS_NAME.SELECT CUS_NO,MIN(CUS_NAME) AS CUS1 FROM dbo.CUS GROUP BY CUS_NO...转载 2018-06-01 15:39:47 · 12257 阅读 · 2 评论 -
truncate,delete,drop之间的区别
TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。 DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。原创 2016-04-22 09:55:53 · 444 阅读 · 0 评论 -
oracle 多个with as
主要看多个with的格式[sql] view plain copy WITH T3 AS ( SELECT T1.ID, T1.CODE1, T2.DESCRIPTION FROM TB_DATA T1, TB_CODE T2 WHERE T1.CODE1 = T2.CODE ), T4 AS (原创 2016-04-09 21:04:04 · 1650 阅读 · 0 评论 -
多个left join 产生多个结果
select a.*, to_char(To_date(20160403000000, 'yyyyMMddhh24miss'),'yyyy/mm/dd') as omc_start_time, to_char(To_date(20160404000000, 'yyyyMMddhh24miss'),'yyyy/mm/dd') as omc_end_time, ROU原创 2016-04-05 13:22:01 · 3832 阅读 · 1 评论 -
left join、right join、inner join的区别
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只返回两个表中联结字段相等的行举例如下: --------------------------------------------表A记录如下:aID aNum原创 2016-04-05 09:36:32 · 341 阅读 · 0 评论 -
UNION 和UNION ALL 的区别
在数据库中,UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表UNION。如:select * from gc_dfysunionsele原创 2016-03-31 15:12:55 · 414 阅读 · 0 评论 -
impdp导入dmp文件ORA-39088: 文件名不能包含路径说明ORA-39001: 参数值无效ORA-39000: 转储文件说明错误
C:\Users\zengmiaogen>impdp yinda/123456@127.0.0.1:1521/XE file=c:\hz_toolbox_20160613.dmp full=yImport: Release 11.2.0.2.0 - Production on 星期四 3月 9 10:19:57 2017Copyright (c) 1982, 2009, Oracl原创 2017-03-09 12:50:23 · 53320 阅读 · 1 评论 -
imp导入dmp文件报:IMP-00038: 无法转换为环境字符集句柄IMP-00000: 未成功终止导入
C:\Users\zengmiaogen>imp yinda/123456@127.0.0.1:1521/XE file=c:\hz_toolbox_20160613.dmp full=yImport: Release 11.2.0.2.0 - Production on 星期四 3月 9 10:15:39 2017Copyright (c) 1982, 2009, Oracle原创 2017-03-09 12:51:45 · 51663 阅读 · 0 评论 -
SP2-0734: 未知的命令开头 "imp scott/..." - 忽略了剩余的行。
原文地址:http://blog.youkuaiyun.com/yangwenxue_admin/article/details/47667943Oracle数据导入报错:SP2-0734: 未知的命令开头 "imp scott/..." - 忽略了剩余的行。原因:进入sqlplus里是不能执行imp的(sqlplus不认识imp),imp 是个工具,应该在cm转载 2017-03-09 10:18:12 · 5558 阅读 · 0 评论 -
ORA-08103: object no longer exists
今天工具箱报错: ORA-08103: object no longer exists 查了原因,是有session在操作表,比如插入,更新等。而工具箱这个操作刚好在select表,所以报错。-------下文是英文解释-----ORA-08103: object no longer exists错误,后描述是其中一进程顺序执原创 2016-04-18 11:10:40 · 31578 阅读 · 0 评论 -
ORA-01861: 文字与格式字符串不匹配
select to_date('20160401000000','yyyy-mm-dd') from dual;----------报错:ORA-01861: 文字与格式字符串不匹配原因:字符串20160401000000与要转换的格式 yyyy-mm-dd 格式不对。20160401000000 是 yyyymmddhh24miss 格式的--------se原创 2016-04-11 16:44:23 · 1492 阅读 · 0 评论