MySQLやMaria DBでも、JSON を使える
create tableでJSON型を指定
CREATE TABLE AlphaVantage ( t_date date NOT NULL, ticker VARCHAR(255) NOT NULL, income_stmt JSON, CHECK (JSON_VALID(income_stmt)), balance JSON, CHECK (JSON_VALID(balance)), PRIMARY KEY (t_date,ticker) );
insert 文. json.dump
url = 'https://www.alphavantage.co/query?function=INCOME_STATEMENT~'
r = requests.get(url)
income_data = r.json()
url = 'https://www.alphavantage.co/query?function=BALANCE_SHEET~'
r = requests.get(url)
balance_data = r.json()
try :
sql = ('INSERT INTO AlphaVantage (t_date, ticker, income_stmt,balance) VALUES (now(6), %s, %s,%s) ON DUPLICATE KEY UPDATE income_stmt = VALUES (income_stmt),balance=VALUES(balance);')
data = [
(ticker_name, json.dumps(income_data),json.dumps(balance_data))
]
cur.executemany(sql, data)
select は JSON_EXTRACTで
select JSON_EXTRACT(balance, '$.annualReports[0].totalShareholderEquity') from AlphaVantage;









