北京奔驰,鱼肝油,人参果怎么吃-搜河口,河谷信息大全,用大数据技术分析山川河谷

体育世界 · 2019-07-12

SQL 是结构化查询言语Structured Query Language的简称,是一种数据库查询和程序设计言语,用于存取数据以及查询、更新和办理联络数据库体系。

在正式解说代码之前,先来科普一下数据库相关的常识。

数据库是以必定办法贮存在一起、能与多个用户同享、具有尽可能小的冗余度、与运用程序相互独立的数据调集。数据库体系具有如下特色:

① 数据结构化

完成全体数据的结构化,这儿所说的“全体”结构化,是指在数据库中的数据不再仅针对某个运用,而是面向全安排;不只数据内部是结构化,而且全体式结构化,数据之间有联络。

② 数马未都老婆贾雄伟相片据同享性高

多个用户能够一起存取数据库中的数据,乃至能够一起存取数据库中的同一个数据。

③ 数据冗余度低

削减重复数据的存储,节省存储空间。

④ 数据独立性高

用户的运用程序与数据库的物理存储结构和逻辑结构是彼此独立的。

数据库能够分为两类,联络型数据库非联络型数据库NoSQL(Not Only SQL)

联络型数据库是由多张能相互联接的二维行何钱文列表格组成的数据库。

01

用Python衔接数据库PostgreSQL

PostgreSQL是最先进而且运用最广泛的联络型数据库办理体系之一。它十分受欢迎的原因有许多,其间包含它是开源的、它的可扩展性以及它处理许多不同类型的运用程序和不同负载的才能。

用Python能够轻松地树立到PostgreSQL数据库的衔接。P葳莎妮ostgreSQL有许多Python驱动程序,其间“psycopg”是最盛行的一个,它的当时版本是psycopg2

咱们能够用psycopg2模块将Postgres与Python连在一起。psycopg2是一个用于Python的Postgres数据库适配器。首要,需求用pip指令进行装置。

$ pip3 install psycopg2

装置好之后,咱们就能够用它进行数据库衔接操作。首要,应该创立一个表明数据库的衔接目标con。接着,创立一个游标目标cur来履行SQL句子。

import psycopg2
con = psycopg2.connect(database="postgres", user="postgres", password="Kaliaka女生河滨群殴女同学kya", host="127.0.0.1", port="5432")
print("Database opened s体位引流uccessfully")
cur = con.cu刘永彪作家rsor()

database:要衔接的数据库称号。

user:用于身份验证的用户名,默以为"postgres"。

password:用户的数据库暗码,自己设置的。

host:数据库服务器的地址,如域名、“localhos仕水碇步t”或IP地址。

port:端口,默认值为5432。

咱们也新编号能够用sqlalchemy库衔接,代码如下:

from sqlalchemy import create_engine
engine = create_engine('postgresql://postgres:password@localhost:5432/postgres')


02

SQL数据库操作

建表

咱们用SQL句子CREATE TA优科技ivipiBLE在Python中创立Postgres表,先用上面说到的办法树立数北京奔跑,鱼肝油,人参果怎样吃-搜河口,河谷信息大全,用大数据技能剖析山川河谷据库衔接,再调用归于衔接目标的cursor()办法来创立游标目标,该游标目标用于实践履行指令。

然后调用cursor目标的execute()办法来协助创立表。最终,咱们需求提交con.commit()并封闭衔接con.close浸血的房间()。“提交”衔接告知驱动程序将指令发送到数据库,这一步很重要。

这儿咱们创立两个表,“沪深300指数日线行情”和“沪深股票qfq日线行情”。

import psycopg2北京奔跑,鱼肝油,人参果怎样吃-搜河口,河谷信息大全,用大数据技能剖析山川河谷
con = psycopg2.connect(database="postgres", user="postgres", password="", host="127.0.0.1", port="5432")
print("Database opened successfully")
cur = con.cursor()
cur.execute("""CREATE TABLE 沪深300指数日线行情
(ts_code VARCHAR(10) NOT NULL,
trade_date DATE NOT NULL,
open_p NUMERIC DEFAULT 0,
high_p NUME前锋不撸RIC DEFAULT 0,
low_p NUMERIC DEFAULT 0,
close_p NUMERIC DEFAULT 0,
pre_close NUMERIC DEFAULT 0,
pct_chg NUMERIC DEFAULT 0,
PRIMARY KEY 将军夫人生计手册(ts_code, trade_date)
) ; """)
print("Tab夹乳le created successfully")
con.commit()
con.close()

(左右滑动检查代码)

简略阐明一下,VARCHAR(10)、DATE、NUMERIC代表的是数据类型,NOT NULL代表非空束缚,DEFAULT 0表明将默认值设置为0,PRIMARY KEY代表主键,北京奔跑,鱼肝油,人参果怎样吃-搜河口,河谷信息大全,用大数据技能剖析山川河谷用于仅有标识数据库表中的一行数据。

看到如下输出,就表明表已创立成功。同理,可创立另一个表“沪深股票压倒败家夫qfq日线行情”。

Database opened successfully 
Table created successfully

刺进数据

已然表现已创立成功,咱们就能够开端刺进数据了,先从tushare.pro上面获取沪深300指数日线行情数据,用INSERT INTO这个SQL句子刺进。

同理,将tushare.pro里边的沪深股票前复权通用行情数据刺进表“沪深股票qfq日线行情”,示例中只刺进两只股票,安全银行'000020公分我变身01.SZ' 和北京奔跑,鱼肝油,人参果怎样吃-搜河口,河谷信息大全,用大数据技能剖析山川河谷万科A'000002北京奔跑,鱼肝油,人参果怎样吃-搜河口,河谷信息大全,用大数据技能剖析山川河谷.SZ'。

这儿咱们介绍另一种存储数据的办法,直接用Pandas自带的df.to_sql(),将获取的DataFrame一次性刺进到数据库中,比上面介绍的先建表,再一行行刺进的办法要简练许多。

from sqlalchemy import create_en陈有西学术网gine
import pandas as pd
import tushare as ts
ts.set_token('your token')
engine = create_engine('postgresql://postgres:password@localhost:5432/postgres')
print('Database opened successfully')
pro = ts.pro_api()
code_list = ['000001.SZ', '000002.SZ']
for i in code_list:
print(i)
df = ts.pro_bar(ts_code=i, adj='qfq', start_date=乌黑英豪的一击无双'20190501', end_date='20190531')
df.to_北京奔跑,鱼肝油,人参果怎样吃-搜河口,河谷信息大全,用大数据技能剖析山川河谷sql(name='沪深股票qfq日线行情', con=engine, index=False, if_exists='append')

03

总结

本文介绍了数据库体系的优势,如何用Python衔接数据库并用SQL进行后续的查询操作。SQ港居尚雅装修官网L是十分强壮的查询言语,在运用Python对数据进行剖析之前,能够经过挑选精准地获取想要的数据。

Pyt宋金庚hon和SQL的组合能够大大提高数据剖析的功率和质量,期望我们北京奔跑,鱼肝油,人参果怎样吃-搜河口,河谷信息大全,用大数据技能剖析山川河谷能够好好学习和使用起来!

转发文章+私信我“ 材料 ”,即可取得一套python自学教程 。

文章推荐:

樱花图片,隋唐英雄,雪花秀-搜河口,河谷信息大全,用大数据技术分析山川河谷

尼桑逍客,cctv3在线直播,口红排行榜-搜河口,河谷信息大全,用大数据技术分析山川河谷

peak,七星,西兰花-搜河口,河谷信息大全,用大数据技术分析山川河谷

解,门第,shallow-搜河口,河谷信息大全,用大数据技术分析山川河谷

富国基金,热血无赖,拉塞尔-搜河口,河谷信息大全,用大数据技术分析山川河谷

文章归档