SQL || HDF || Mongo
文章平均质量分 89
ikeepo
https://ikeepo.github.io/
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
初探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 · 520 阅读 · 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 · 324 阅读 · 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 · 717 阅读 · 0 评论 -
初识redis
OverviewRedis不使用表。Redis可以存储键和5种不同数据结构类型之间的映射。5种数据结构类型:STRING命令意义适用GET获取值,成功返回值,失败返回nilSET设置值,成功返回OKDEL删除值所有类型LISTLPUSHRPUSHLPOPRPOPLINDEXLRANGESETSADDSREMSISMEMBERHASH类似一个微缩版的redis。HSETHGETHGETALLHDE..原创 2020-10-19 22:53:15 · 236 阅读 · 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 · 4643 阅读 · 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 · 4694 阅读 · 0 评论 -
MySQL中binlog及其删除purge
binlogbinlog是MySQL中的二进制日志。它记录了所有的 DDL 和 DML 语句(除了数据查询语句select、show等),以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。binlog 的主要目的是复制和恢复。MySQL下有多种日志:日志类型写入日志的信息错误日志记录在启动,运行或停止mysqld时遇到的问题通...原创 2020-04-19 10:06:07 · 4994 阅读 · 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 · 5492 阅读 · 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 · 1986 阅读 · 0 评论 -
MySQL自增主键数值莫名增加
问题描述自增主键数值比计划中大,可能原因有很多。解决方案如果某次存储过程失败,也是会占用自增主键数值的。删除数据,已占用过的自增主键数值不会恢复,新插入数据会继续从删除之前的数值开始增加。所以,存储失败后,需要重新设置自增主键起始值。...原创 2020-04-11 08:24:01 · 978 阅读 · 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 · 2143 阅读 · 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 · 3483 阅读 · 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 · 2965 阅读 · 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 · 1381 阅读 · 0 评论 -
Python执行MySQL删除命令无效详细过程
问题描述用Python执行mysql的delete删除命令,实际数据库中并未删除。解决方案engine.commit()才是真正修改Referencespython的mysql数据库的删除操作原创 2020-04-06 22:41:33 · 1782 阅读 · 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 · 406 阅读 · 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 · 10920 阅读 · 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 · 464 阅读 · 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 · 1205 阅读 · 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 · 4699 阅读 · 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 · 5911 阅读 · 0 评论 -
SQLite基础用法
理解SQLite(官网 维百)SQLite是遵守ACID的关系数据库管理系统。SQLite不是一个客户端/服务器结构的数据库引擎,而是被集成在用户程序中。作为嵌入式数据库,是应用程序(可降低延迟,因为单进程中的函数调用比跨进程通信更有效率)。是一个零配置的数据库,不需要在系统中配置。SQLite教程极客学院GitBookW3Cschool极客教程菜鸟教程Lin...原创 2020-03-30 22:17:28 · 406 阅读 · 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 · 842 阅读 · 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 · 3383 阅读 · 0 评论 -
SQLite基础用法
理解SQLite(官网 维百)SQLite是遵守ACID的关系数据库管理系统。SQLite不是一个客户端/服务器结构的数据库引擎,而是被集成在用户程序中。作为嵌入式数据库,是应用程序(可降低延迟,因为单进程中的函数调用比跨进程通信更有效率)。是一个零配置的数据库,不需要在系统中配置。SQLite教程极客学院GitBookW3Cschool极客教程菜鸟教程...原创 2020-03-20 22:20:03 · 379 阅读 · 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 · 9130 阅读 · 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 · 23785 阅读 · 6 评论 -
关系数据库与对象数据库
关系数据库关系数据库(英语:Relational database),是创建在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。关系模型是由埃德加·科德于1970年首先提出的,并配合“科德十二定律”。现如今虽然对此模型有一些批评意见,但它还是数据存储的传统标准。标准数据查询语言SQL就是一种基于关系数据...原创 2019-08-12 16:01:38 · 5915 阅读 · 0 评论 -
数据库分区、分表、分库、分片
数据库分区(Database partition)1数据库分区是一种物理数据库设计技术,主要目的是为了在特定的SQL操作中减少数据读写的总量以缩减响应时间。把一张表的数据分成N个区块,在逻辑上看最终还是一张表,但底层是由N个物理区块组成。系统读写时,操作的还是大表名字,db自动组织分区的数据。分区形式主要有两种水平分区(Horizontal Partitioning)水平分...原创 2019-09-29 19:14:14 · 2717 阅读 · 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 · 630 阅读 · 0 评论 -
Python数据库用sqlalchemy包详解
SQLALchemy是Python下关于数据库的包。提供了SQL工具包及对象关系映射(ORM,Object Relational Mapper)工具。Github 官方网站 官方文档 维基百科SQLAlchemy的理念SQL数据库的量级和性能重要于对象集合;对象集合的抽象又重要于表和行。因此,SQLAlchmey采用了类似于Java里Hibernate的数据映射模型,...原创 2019-08-12 17:07:30 · 1618 阅读 · 0 评论 -
什么是数据映射模型
数据映射Data Mapping在两个数据模型之间建立起数据元素的对应关系,这一过程称为数据映射。数据映射是很多数据集成任务的第一步,例如:数据迁移(data migration)、数据清洗(data cleaning)、数据集成、语义网构造、p2p信息系统。数据映射有两种实现方式:手工编码hand-coded手工编码是直接用类似XSLT,JAVA,*C++*这样的编程语言定义数...原创 2019-08-12 16:32:44 · 7895 阅读 · 0 评论 -
什么是对象关系映射ORM
对象关系映射1(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。如今已有很多免费和付费的ORM产品,而有些程序员更倾向于创建自己的ORM工具。关于对象数据库参见:《关系数据库与对象数据库...原创 2019-08-12 16:06:24 · 714 阅读 · 0 评论 -
MySQL数据库语言之授权GRANT||回收权限REVOKE
MySql数据可可以给不同用户分配不同权限。GRANT授权GRANT privilege_name ON object_name TO {user_name |PUBLIC |role_name} [WITH GRANT OPTION]; GRANT 权限 ON 数据库名.表名 TO 用户名@登录方式 IDENTIFIED BY ‘password’;举例,对localh...原创 2019-04-29 19:00:12 · 1003 阅读 · 0 评论 -
廖雪峰SQL教程读书笔记(二):关系模型
关系模型的本质就是若干储存数据的二维表,表的每一行称为记录(Record),记录是一个逻辑意义上的数据;每一列称为字段(Column),同一个表的每一行记录都有相同的若干字段。字段定义了数据类型,及是否允许为NULL,NULL表示字段数据不存在但并不是0或空‘’。关系表中,两条记录不能重复。不是指两条记录不完全相同,而是指能够通过某个字段唯一区分出不同的记录,此字段就是主键。主键是关系表中唯...原创 2019-01-04 13:57:24 · 541 阅读 · 0 评论 -
廖雪峰SQL教程读书笔记(三):查询数据
# 基本查询,SELECT查询结果是一个二维表SELECT * FROM students; # 从students表格中选取所有数据SELECT 100+200 # 不带FROM可以直接运算得到300,用来检测当前数据库的连接是否有效----------------------------------------------------------# 条件查询,WHERE关键字...原创 2019-01-04 18:39:09 · 365 阅读 · 0 评论 -
廖雪峰SQL教程读书笔记(四):修改数据
关系型数据库的基本操作就是增删改查,即CRUD:Create、Retreive、Update、Delete。分别对应SELECT、INSERT、UPDATE、DELETE语句。INSERT插入记录INSERT INTO <表名> (字段1, 字段2, …) VALUES (值1, 值2, …); # 语法INSERT INTO students (class_id, na...原创 2019-01-04 18:58:24 · 242 阅读 · 0 评论 -
廖雪峰SQL教程读书笔记(五):SQl语句小技巧及MySQL中的应用
MySQL安装完MySQL后,除了MySQL Server,即真正的MySQL服务器外,还附赠一个MySQL Client程序。MySQL Client是一个命令行客户端,可以通过MySQL Client登录MySQL,mysql -u root -p。然后,输入SQL语句并执行。也可以使用可视化图形界面MySQL Workbench管理MySQL。MySQL Client的可执行程序...原创 2019-01-04 21:30:23 · 437 阅读 · 0 评论 -
廖雪峰SQL教程读书笔记(六):数据库事务&隔离级别
数据库事务:把多条语句作为一个整体进行操作的功能。数据库事务可以确保该事务范围内的所有操作都可以全部成功或者全部失败。如果事务失败,那么效果就和没有执行这些SQL一样,不会对数据库数据有任何改动。数据库事务具有ACID这4个特性:A:Atomic,原子性,将所有SQL作为原子工作单元执行,要么全部执行,要么全部不执行;C:Consistent,一致性,事务完成后,所有数据的状态都是一致...原创 2019-01-04 22:05:35 · 396 阅读 · 0 评论 -
hdf知道这些就够了
pandas.read_hdf()函数pandas.read_hdf(path_or_buf, key=None, mode='r', **kwargs)key : object, optionalThe group identifier in the store. Can be omitted if the HDF file contains a single pandas obje...原创 2019-01-08 21:24:01 · 2451 阅读 · 0 评论
分享