数据库
郎家岭伯爵
这个作者很懒,什么都没留下…
展开
-
Xampp:集成的MySQL如何实现远程登录
背景使用Xampp集成软件搭建的环境,需要远程登录集成的MySQL数据库。实现一、打开命令提示符,登录MySQLmysql -uroot -p二、修改远程配置GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "password"; flush privileges;注:1、password为可设置为空,比如实例截图即为空,仅保留双引号即可;2、每一个语句后英文分号不可缺失。三、远程登录成功个人能力有限,如有原创 2021-06-17 16:29:22 · 908 阅读 · 0 评论 -
cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library: “The specified modu
报错cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library: "The specified module could not be found". See https://oracle.github.io/odpi/doc/installation.html#windows for help解决方法1、下载instant-client 64位2、解压instant-client,将其下所有dll原创 2021-06-09 16:00:38 · 393 阅读 · 0 评论 -
The COMMIT TRANSACTION request has no corresponding BEGIN
背景在使用Python向SQLserver数据库中插入数据时抛出错误:Cannot commit transaction: (3902,b'The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION.DB-Lib error message 20018, severity 16:\nGeneral SQL Server error:Check messages from the SQL Server\n')分析额,没原创 2021-05-27 17:40:12 · 2723 阅读 · 1 评论 -
SQLserver:以一列中的最大值作为参考筛选数据
背景学习过程中,例如我们数据表中有三列数据,其中前两列的数据是相同的,我们需要选择第三列中的最大值作为结果。方法使用SQLserver中的Max函数。实现例如数据是这样的,我们需要选择2021-05-26这天的数据:则对应的SQL语句应为:SELECT [地区] ,[城市] ,max(时间) as 时间 FROM [Test].[dbo].[Table_1] group by 地区,城市 --注:SQL语句中此处必须要group by函数,且需要包含除M原创 2021-05-26 12:02:31 · 1791 阅读 · 0 评论 -
SQLserver:查看视图的创建语句
应用场景学习过程中需要查看视图的创建语句。SQL实现sp_helptext 'ViewName'输入语句执行即可获得创建视图时的SQL语句。个人能力有限,如有谬误欢迎指正!原创 2021-04-14 12:05:09 · 2390 阅读 · 0 评论 -
SQLserver:截取特定字符后的数据
应用场景学习过程中遇到需要对SQLserver中的数据进行截取,截取的标志为www.后的内容。SQL实现REPLACE(COLUME,'www.','') --即将www.替换为空示例如需要截取www.baidu.com中的baidu.comSQL语句应为:SELECT 'www.baidu.com',REPLACE('www.baidu.com','www.','') 运行结果:个人能力有限,如有谬误欢迎指正!...原创 2021-04-14 11:57:17 · 1404 阅读 · 0 评论 -
SQLserver:The column ‘出厂编号‘ was specified multiple times for ‘T3‘.
问题背景学习过程中需要进行嵌套查询,运行语句时报错:The column '出厂编号' was specified multiple times for 'T3'.分析问题报错原因已经很明显了,出错的列'出厂编号'被多次引用。说明在嵌套中的SQL语句没有指明要SELECT的列名,导致SQL分不清列名(注:SELECT * FROM TABLE表示数据表中的所有列名)。解决问题将嵌套的SQL语句中的列指明,而不是使用*代替。个人能力有限,如有谬误欢迎指正!...原创 2021-04-13 18:09:32 · 1691 阅读 · 0 评论 -
SQLserver:查询某个字段出现在数据库中的哪些表中
应用场景数据库中表太多,需要查找字段在哪些表中出现。SQL语句根据自己需要查找的字段,将SQL语句中的column_name替换为需要查找的字段名,其它无需更改直接复制到数据库进行查询即可。select a.name 表名,b.name 列名from sys.objects a,sys.columns bwhere object_name(b.object_id)=a.name and b.name='column_name' --column_name 为列名=============原创 2021-03-30 16:48:39 · 1919 阅读 · 0 评论 -
SQLserver:如何实现树状查询(同一个数据表)
应用场景本人生产环境中遇到需要根据某领导的工号找到其所有下属(多级)的信息,而数据表中员工信息仅有直属领导的信息,因此此时需要树状查询来拉取该领导下的所有下属信息。SQL语句实现注:本例为同表中实现树状查询。with f as (select * from TableA where [工号] = 1001union allselect a.* from TableA as a inner join f as b on a.[领导] = b.[工号])select * from f说明原创 2021-03-25 16:08:02 · 569 阅读 · 0 评论 -
SQLserver:长时间处于“正在执行查询”状态
问题实践过程中发现查询的数据量并不大,但是SQLserver一直在显示“正在执行查询”。原因这种情况可能是出现了数据库的死锁问题。可通过如下SQL语句进行验证:select request_session_id spid, OBJECT_NAME(resource_associated_entity_id) tableName from sys.dm_tran_locks where resource_type='OBJECT'观原创 2021-02-23 15:39:16 · 9127 阅读 · 5 评论 -
SQLserver:计算时间差并换算为年或月,且保留特定位小数
使用场景使用SQLserver计算数据中日期与当前日期的时间差,且换算为年保留一位小数。实现过程SQLserver代码SELECT [出厂日期] ,DATEDIFF(month,出厂日期,getdate())*1.0/12 as '使用年限/年' ,cast(DATEDIFF(month,出厂日期,getdate())*1.0/12 as decimal(18,1)) as '使用年限/年'FROM tableA说明1、DATEDIFF(datepart,s原创 2021-01-25 16:44:07 · 4711 阅读 · 1 评论 -
Python实现数据转移:SQL server ==> SQL server
实际运用过程中需要把数据库A中的数据转移到数据库B(均为SQL server数据库),本例使用Python来实现。文中两个.py文件中涉及的数据库连接信息以及SQL语句均以自己的实际需求为准。代码块1(把数据从数据库A中拿出来):import pymssql#数据库服务器信息server="数据库A服务器"user="账号"password="密码"database="数据库"conn=pymssql.connect(server,user,password,database)cur原创 2020-10-07 10:32:56 · 323 阅读 · 1 评论 -
Invalid length parameter passed to the LEFT or SUBSTRING function
使用python连接SQL server数据,抓取数据时报“Invalid length parameter passed to the LEFT or SUBSTRING function”。其中执行cur.execute(sql)时,sql语句使用到了SUBSTRING函数。关于这个函数的用法可自行学习,或者直接按照如下方式进行操作:在SQL server控制台中的查询是允许函数值出现负值的(更正确的说法时这里出现负值也是可以正常执行的),而使用python抓取数据时的cur.execute(sql原创 2020-10-06 10:59:51 · 3081 阅读 · 0 评论 -
Oracle数据库:cx_Oracle.LOB object at 0x000001E7071C7870怎么解决
使用python连接Oracle数据库时输出cx_Oracle.LOB object at 0x000001E7071C7870,即:汉字、字母编码问题。针对此种问题,将SQL语句查询的结果使用python语句保存到csv文件即可正常显示。即使用csv作为中间处理步骤(保存为excel应该也可以,网友可自行测试)。代码如下:# -*- coding: utf-8 -*-import cx_Oracle import pandasimport csvdef connection_orac原创 2020-09-28 18:22:30 · 1369 阅读 · 0 评论 -
MySQL8.0+版本1045错误解决办法
使用命令行登录MySQL报错1045 Access denied for user ‘root’@‘localhost’ (using password:YES),折腾半天才解决问题。一、管理员权限打开CMD二、CD到自己的MySQL安装目录此步骤请根据自己的安装目录进行操作。CD到相应的目录后键入回车即可到自己的安装目录,注意要到bin这一级的目录。三、停止MySQL服务或者通过CMD,键入net stop mysql停止MySQL服务。不管通过什么方式,旨在停止MySQL服务。四、键原创 2020-09-24 16:27:50 · 10484 阅读 · 17 评论