SQL || HDF || Mongo
文章平均质量分 89
PerpetualLearner
这个作者很懒,什么都没留下…
展开
-
初探The History of Database
Overview越来越多的用到数据库,各种数据库各种类型,感觉有必要了解一下数据库的发展历史,特别是每一种数据库之所以出现的那个当时已有数据库解决不了的痛点是什么?DatabaseA database is an organized collection of data, generally stored and accessed electronically from a computer system.The database management system (DBMS) is th..原创 2021-03-29 10:34:04 · 400 阅读 · 2 评论 -
理解History of Standard SQL
SQLStructured Query Language is a domain-specific language used in programming and designed for managing data held in a relational database management system (RDBMS), or for stream processing in a relational data stream management system (RDSMS).Hist..原创 2021-03-29 10:31:55 · 179 阅读 · 0 评论 -
理解SQL Stored Procedure
ProcedureA way of doing something, especially the correct or usual way;A medical operation that is done in a particular way.Data dictionaryA data dictionary, or meta data repository:as defined in the IBM Dictionary of Computing, is a “centralized..原创 2021-02-07 10:08:36 · 580 阅读 · 0 评论 -
初识redis
OverviewRedis不使用表。Redis可以存储键和5种不同数据结构类型之间的映射。5种数据结构类型:STRING命令意义适用GET获取值,成功返回值,失败返回nilSET设置值,成功返回OKDEL删除值所有类型LISTLPUSHRPUSHLPOPRPOPLINDEXLRANGESETSADDSREMSISMEMBERHASH类似一个微缩版的redis。HSETHGETHGETALLHDE..原创 2020-10-19 22:53:15 · 183 阅读 · 0 评论 -
理解pd.read_parquet
pandas.read_parquet(path, engine:str='auto', columns= None, **kwargs)Load a parquet object from the file path, returning a DataFrame.ParametersParam格式意义pathstr, path object or file-like objectengine{‘auto’, ‘pyarraw’, ‘fastparqu..原创 2020-08-14 20:15:32 · 4337 阅读 · 0 评论 -
Python如何解决sqlite3.DatabaseError: database disk image is malformed
SQLiteSQLite is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine.SQLite is an embedded SQL database engine. Unlike most other SQL databases, SQLite does not have a seprate server p..原创 2020-06-06 17:15:27 · 4227 阅读 · 0 评论 -
MySQL中binlog及其删除purge
binlogbinlog是MySQL中的二进制日志。它记录了所有的 DDL 和 DML 语句(除了数据查询语句select、show等),以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。binlog 的主要目的是复制和恢复。MySQL下有多种日志:日志类型写入日志的信息错误日志记录在启动,运行或停止mysqld时遇到的问题通...原创 2020-04-19 10:06:07 · 4746 阅读 · 1 评论 -
(已解决)ERROR 3683 (HY000): The option expire_logs_days and binlog_expire_logs_seconds cannot be used
问题描述设置expire_logs_days参数出现如下问题:ERROR 3683 (HY000): The option expire_logs_days and binlog_expire_logs_seconds cannot be used together. Please use binlog_expire_logs_seconds to set the expire time ...原创 2020-04-19 09:31:16 · 4916 阅读 · 0 评论 -
Warning: (3719, "'utf8' is currently an alias for the character set UTF8MB3, but will be an alias
问题描述在Python使用pymysql出现如题错误:/home/data/anaconda3/lib/python3.7/site-packages/pymysql/cursors.py:170: Warning: (3719, "'utf8' is currently an alias for the character set UTF8MB3, but will be an alia...原创 2020-04-11 08:29:20 · 1845 阅读 · 0 评论 -
MySQL自增主键数值莫名增加
问题描述自增主键数值比计划中大,可能原因有很多。解决方案如果某次存储过程失败,也是会占用自增主键数值的。删除数据,已占用过的自增主键数值不会恢复,新插入数据会继续从删除之前的数值开始增加。所以,存储失败后,需要重新设置自增主键起始值。...原创 2020-04-11 08:24:01 · 855 阅读 · 0 评论 -
MySQL依据时间格式筛选WHERE
问题描述依据datetime时间格式筛选。解决方案格式转换SELECT FROM_UNIXTIME(1563255818,"%Y-%m-%d %H:%i:%s") as time;datetimeSELECT * FROM web_attack_ip WHERE UNIX_TIMESTAMP(attack_time) BETWEEN UNIX_TIMESTAMP('2...原创 2020-04-11 08:23:05 · 1988 阅读 · 0 评论 -
170: Warning: (1681, 'Integer display width is deprecated and will be removed in a future release.')
问题描述在Python中使用pymysql出现如题警告:/home/data/anaconda3/lib/python3.7/site-packages/pymysql/cursors.py:170: Warning: (1681, 'Integer display width is deprecated and will be removed in a future release.')...原创 2020-04-11 08:12:16 · 3326 阅读 · 0 评论 -
(20200407已解决)(pymysql.err.InternalError) (1050, "Table 'table_name' already exists")
问题描述pd.io.sql.to_sql存入数据时,出现如题错误。在使用pd.io.sql.to_sql之前,table_name已经建好,初次调用pd.io.sql.to_sql会报错,二次及以后调用pd.io.sql.to_sql并不会再报错。解决方案仔细查看过程,会发现第一次调用pd.io.sql.to_sql包含两个过程:创建表存入数据。这里涉及到数据库连...原创 2020-04-11 08:10:42 · 2857 阅读 · 1 评论 -
Ubuntu使用ODBC读取SQLite安装及使用过程
前言ODBC是一个接口《理解ODBC:DSN、ODBC管理器、驱动程序》;ODBC的使用需要odbc驱动管理器,在Linux平台上是unixODBC;还需要针对sqlite的odbc驱动;因此需要安装两个组件:unixODBC、odbcdriver安装环节一、安装unixODBCunixODBC项目官网。unixODBC是Linux上的odbc管理器。Ubuntu中安...原创 2020-04-07 21:57:55 · 1146 阅读 · 0 评论 -
Python执行MySQL删除命令无效详细过程
问题描述用Python执行mysql的delete删除命令,实际数据库中并未删除。解决方案engine.commit()才是真正修改Referencespython的mysql数据库的删除操作原创 2020-04-06 22:41:33 · 1614 阅读 · 0 评论 -
MySQL自增长键理解
自增长键# 查看自增长键配置>>> SHOW VARIABLES LIKE 'auto_inc%';auto_increment_increment 1 # 步长auto_increment_offset 1 # 初始值假设,某次要插入的值是X,当前的自增值是Y如果X<Y,那么这个表的自增值不变如果X>=Y,就需要...原创 2020-04-06 22:40:51 · 329 阅读 · 0 评论 -
MySQL中TEXT的长度是字符还是字节?以及查询方法
问题描述MySQL中设置text数据类型为索引时需要指定长度,这里的长度是指:字节?还是字符?还是位?MySQL中字符串数据类型有(M表示可以指定长度):MySQL5.0.3之前varchar(n)这里的n表示字节数MySQL5.0.3之后varchar(n)这里的n表示字符数。mysql varchar(50) 不管中文 还是英文 都是存50个的,但是一个表中所有va...原创 2020-04-06 22:39:29 · 10049 阅读 · 0 评论 -
MySQL容器内:ERROR 1044 (42000): Access denied for user 'use_name'@'%' to database 'somedb'
问题描述在mysql容器内创建新的数据库失败。解决方案因为use_name没有创建数据库的权限,需要用root用户来创建数据库。此时,在use_name用户下还是看不到root用户创建的数据库,需要给use_name用户授权此数据库。# 进入root用户mysql -u root -p# 创建数据库create database somedb;# 查看用户权限use m...原创 2020-04-06 22:38:04 · 325 阅读 · 0 评论 -
(已部分解决)MySQL:IntegrityError(1062, "Duplicate entry 'NULL' for key 'id'")
问题描述ALTER TABLE <table_name> ADD UNIQUE INDEX (<text_column_name>(20)) 设置某列(text格式)为INDEX,出现如题错误。解决方案问题原因很简单,<text_column_name>这一列出现了重复值,因此设置uniqueindex失败。问题场景在于没得选,只能选这一列。...原创 2020-04-06 22:36:08 · 1045 阅读 · 0 评论 -
理解ODBC:DSN、ODBC管理器、驱动程序
ODBCOpen Database Connectivity(开放数据库互连,维基百科)提供了一种标准的API方法来访问数据库管理系统(DBMS)。这些API利用SQL来完成大部分任务。微软于1992.9发表,为解决异构数据库间的数据共享而产生。WOSA(The Windows Open System Architecture(Windows开放系统体系结构))的主要部分(百度百科)。...原创 2020-03-30 22:21:50 · 4201 阅读 · 0 评论 -
理解isql是什么及基础用法
isql(维基百科)isql是数据库领域的多重指代的缩写。包括:isql, a Sybase clientisql, a unixODBC programiSQL, an Altibase utilityiSQL*Plus, a web-based interface to Oracle’s SQL*PlusISQL, Informix SQL - an Informix too...原创 2020-03-30 22:20:45 · 5462 阅读 · 0 评论 -
SQLite基础用法
理解SQLite(官网 维百)SQLite是遵守ACID的关系数据库管理系统。SQLite不是一个客户端/服务器结构的数据库引擎,而是被集成在用户程序中。作为嵌入式数据库,是应用程序(可降低延迟,因为单进程中的函数调用比跨进程通信更有效率)。是一个零配置的数据库,不需要在系统中配置。SQLite教程极客学院GitBookW3Cschool极客教程菜鸟教程Lin...原创 2020-03-30 22:17:28 · 313 阅读 · 0 评论 -
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your
问题描述ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘-4Z._os’ at line 1有个表名somt-4Z._os,存...原创 2020-03-30 22:15:15 · 768 阅读 · 0 评论 -
(20200327已解决)used in key specification without a key length
问题描述设置text类型的列为主键时,出现上述问题。解决方案设为MySQL主键的列,数据类型需要能够明确长度值,这样才能保证唯一性。MySQL不支持对TEXT/BLOB类型进行长度限制。ALTER TABLE 表名 MODIFY COLUMN 字段名 类型;比如将TEXT修改成bigintReference添加索引:BLOB/TEXT column ‘xxx’...原创 2020-03-30 22:07:48 · 3050 阅读 · 0 评论 -
SQLite基础用法
理解SQLite(官网 维百)SQLite是遵守ACID的关系数据库管理系统。SQLite不是一个客户端/服务器结构的数据库引擎,而是被集成在用户程序中。作为嵌入式数据库,是应用程序(可降低延迟,因为单进程中的函数调用比跨进程通信更有效率)。是一个零配置的数据库,不需要在系统中配置。SQLite教程极客学院GitBookW3Cschool极客教程菜鸟教程...原创 2020-03-20 22:20:03 · 295 阅读 · 0 评论 -
MySQL设置索引used in key specification without a key length
MySQL原因是设置的主键必须是定长的,不然,可变长度无法保证唯一性。将目标列长度固定即可。Referencespandas对象保存到mysql出错提示“BLOB/TEXT column used in key specification without a key length”解决办法...原创 2019-10-30 11:17:29 · 8870 阅读 · 0 评论 -
SQL语句查询表的最后一条数据
SQL语句有时只需要取最后一条信息,避免信息过大。TOP方法1SELECT TOP 1 * FROM table_nameSELECT TOP 1 * FROM user order by id desc; # 降序排列LIMIT方法SELECT * FROM table_name LIMIT 1;SELECT * FROM table_name ORDER BY co...原创 2019-10-28 16:34:53 · 22150 阅读 · 6 评论 -
Python数据库用sqlalchemy包详解
SQLALchemy是Python下关于数据库的包。提供了SQL工具包及对象关系映射(ORM,Object Relational Mapper)工具。Github 官方网站 官方文档 维基百科SQLAlchemy的理念SQL数据库的量级和性能重要于对象集合;对象集合的抽象又重要于表和行。因此,SQLAlchmey采用了类似于Java里Hibernate的数据映射模型,...原创 2019-08-12 17:07:30 · 1425 阅读 · 0 评论 -
pymysql知道这些就够了
pymysql是Python3中链接MySQL的库,在Python2中使用的是mysqldb这个库。在Python3中可以通过如下方式导入mysqldb。pymysql与mysqldb的用法完全一样,直接import pymysql使用中其自身代码会涉及到mysqldb。所以用下列语句导入。import pymysqlpymysql.install_as_MySQLdb()...原创 2019-01-22 21:17:59 · 533 阅读 · 0 评论 -
数据库分区、分表、分库、分片
数据库分区(Database partition)1数据库分区是一种物理数据库设计技术,主要目的是为了在特定的SQL操作中减少数据读写的总量以缩减响应时间。把一张表的数据分成N个区块,在逻辑上看最终还是一张表,但底层是由N个物理区块组成。系统读写时,操作的还是大表名字,db自动组织分区的数据。分区形式主要有两种水平分区(Horizontal Partitioning)水平分...原创 2019-09-29 19:14:14 · 2503 阅读 · 0 评论 -
MySQL数据库语言之connect()对象及其方法commit()||rollback()||cursor()结构及用法
MySQLdb.connect()Python对MySQL数据库的调用,可以采用MySQLdb模块通过建立连接MySQLdb.connect()完成。# 建立连接,就是实例化一个connect()对象con = MySQLdb.connect(host="localhost",user="root",passwd="123123",db="qiwsirtest",charset="u...原创 2019-04-30 16:48:36 · 4894 阅读 · 0 评论 -
pd.read_sql()知道这些就够用了
pandas.read_sql(sql, con, index_col=None, coerce_float=True, params=None, parse_dates=None, columns=None, chunksize=None)各参数意义sql:SQL命令字符串con:连接sql数据库的engine,一般可以用SQLalchemy或者pymysql之类的包建立inde...原创 2019-01-22 21:38:31 · 69410 阅读 · 4 评论 -
什么是数据映射模型
数据映射Data Mapping在两个数据模型之间建立起数据元素的对应关系,这一过程称为数据映射。数据映射是很多数据集成任务的第一步,例如:数据迁移(data migration)、数据清洗(data cleaning)、数据集成、语义网构造、p2p信息系统。数据映射有两种实现方式:手工编码hand-coded手工编码是直接用类似XSLT,JAVA,*C++*这样的编程语言定义数...原创 2019-08-12 16:32:44 · 7429 阅读 · 0 评论 -
什么是对象关系映射ORM
对象关系映射1(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。如今已有很多免费和付费的ORM产品,而有些程序员更倾向于创建自己的ORM工具。关于对象数据库参见:《关系数据库与对象数据库...原创 2019-08-12 16:06:24 · 600 阅读 · 0 评论 -
关系数据库与对象数据库
关系数据库关系数据库(英语:Relational database),是创建在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。关系模型是由埃德加·科德于1970年首先提出的,并配合“科德十二定律”。现如今虽然对此模型有一些批评意见,但它还是数据存储的传统标准。标准数据查询语言SQL就是一种基于关系数据...原创 2019-08-12 16:01:38 · 5598 阅读 · 0 评论 -
MySQLdb模块结构及用法
MySql模块官方文档 源代码Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口。目前支持大部分数据库。Python DB-API使用流程:引入 API 模块获取与数据库的连接执行SQL语句和存储过程关闭数据库连接MySQLdb就是Python链接Mysql数据库的接口,它实现了 Python 数据库 ...原创 2019-04-28 15:07:35 · 526 阅读 · 0 评论 -
(已解决)ERROR 2013 (HY000):连接MySql出错
ERROR 2013 (HY000): Lost connection to MySQL server at ‘reading initial communication packet’, system error: 0连接Mysql报错如题。代理问题,因为我开了Proxifier实现全局代理,当关闭全局代理之后,就可以正常运行了。...原创 2019-04-28 14:25:21 · 7107 阅读 · 0 评论 -
ping通服务器和telnet通端口
什么叫ping通服务器?在cmd黑窗口中输入ping IP地址或域名,出现已发送=4,已接收=4,就说明ping通了。Ping(Packet Internet Groper,因特网包探索器)是Windows、Unix和Linux系统下的一个命令。ping也属于一个通信协议,是TCP/IP协议的一部分。利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。应用格...原创 2019-03-22 19:43:22 · 4017 阅读 · 0 评论 -
服务器常用术语汇总||实例||ECS||公IP...
最近用阿里云服务器,需求越来越多,需要面对的术语也越来越多。实例云服务器实例(以下简称 ECS 实例)是一个虚拟的计算环境。包含 CPU、内存、操作系统、带宽、磁盘等最基础的计算组件。您可以将一个 ECS 实例理解为一个独立的虚拟机。ECS 实例是云服务器最为核心的概念,其他的资源,比如磁盘、IP、镜像、快照等,只有与 ECS 实例结合后才能使用。ECS那什么是ECS呢...原创 2019-03-22 18:19:05 · 576 阅读 · 0 评论 -
MySQL、sqlalchemy、pymysql、mysqldb、DBAPI之间关系梳理(终于明白了)
问题背景用Python处理MySQL数据库相关问题时,需要用到相关库,主要有pymysql、sqlalchemy等,各种术语比较多,需要做一下系统梳理。问题解释Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口。Python 数据库接口支持非常多的数据库,- GadFly - mSQL - MySQL -...原创 2019-01-22 23:22:52 · 4111 阅读 · 0 评论