MySqlでDB、テーブル作成メモ(条件はユーザはすでに作成済)
株式市場の企業の株価と出来高を登録する。
pythonを使ったスクレイピング処理をこれから行う。この記事にはPythonの記載はない。
mysqldbを使用していたがmysql-connector-pythonが良いらしいのでpip install済
ターミナルでの作業
最近忘れっぽくて、使っていないコマンドをどんどん忘れている。SQL文も忘れてるので、備忘録メモとして記載しておく。記憶力の低下に抵抗せずに、メモをしていつでも思い出せるかメモを見ながら作業するようにする。
・ユーザはmaseda mysql -u maseda -p psssはTes*****にした。上に記載。このパスワードはデモ用なので知られてOK ・DBを作成 CREATE DATABASE YahooFinance DEFAULT CHARACTER SET utf8mb4; ・DBを指定する use YahooFinance; 重複を避けるときはUNIQUEを使う UNIQUE uni_Code int(5) NOT NULL, >>今回は使用せず mysqlのコメントは #,--(ハイフン2つ) /* */ がある CodeについてはUNIQUEユニークにしない、毎回同じ企業コードが入るかも ・テーブルを作成 CREATE TABLE Table_Dekidaka( ID int(11) NOT NULL AUTO_INCREMENT, Code int(5) NOT NULL, Market text, Name text, Price int(11) , Volume int(14), PreviousVolume int(14), VolumePer float, StockDate DATE, CreateDate DATETIME, Yobi text, PRIMARY KEY (ID) )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; >>オートインクリメントのIDは、PRIMARY KEY(ID)が必要。ないとエラーになる。 mysql> show tables; mysql> show columns from Table_Dekidaka; +----------------+----------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------------+----------+------+-----+---------+----------------+ | ID | int | NO | PRI | NULL | auto_increment | | Code | int | NO | | NULL | | | Market | text | YES | | NULL | | | Name | text | YES | | NULL | | | Price | int | YES | | NULL | | | Volume | int | YES | | NULL | | | PreviousVolume | int | YES | | NULL | | | VolumePer | float | YES | | NULL | | | StockDate | date | YES | | NULL | | | CreateDate | datetime | YES | | NULL | | | Yobi | text | YES | | NULL | | +----------------+----------+------+-----+---------+----------------+ 11 rows in set (0.03 sec) mysql> 権限がないときは、権限を与える。 GRANT SHOW DATABASES ON *.* to maseda@localhost; これでいいはず。もしこれでだめな場合は、必要な権限を与えて。 --- python mysqldbを使用していたがmysql-connector-pythonが良いらしい。 pip install mysql-connector-python pip list 一覧表示 OK