ココナラにブログ機能が追加されたのですね、、、
はじめまして。しめじと申します。
初投稿なので簡単に自己紹介しますと、
普段はDB周りのバックエンドエンジニアをやっておりまして、その傍
最近は営業の方や経理総務の方の定例ルーティン業務の自動化、ツール化等
社内SEもやっています。
あとは大学の時は機械学習、AIを専攻しておりましたので、趣味でkaggleに挑戦したりしております。
という訳で、これからマイペースではありますが、こちらココナラ内や本業務で質問いただいた内容から、みなさまのお役にも立つかもしれないトピックをご紹介していこうと思います。
(私の備忘録メモも兼ねておりますので、見にくい等あるかと存じますがご容赦ください。)
---
さて、今回はSQLとPythonということで、
SQLServerに適当なデータを大量に入れたい。というご相談をいただきました。
''適当な''というところが厄介で、ご認識の通りプログラムでは非常に難しく、ましてやSQLで書くのは個人的にしんどいです。(カーソルなどを使えばいけなくはないですが、、、)
そこで、PyhtonでODBC(Open Database Connectivity)という機能を使って簡単に実装してしまおうと思います。
Pythonであればループ処理や分岐、乱数などの機能や他ライブラリも非常に充実しており、文法もとてもわかりやすいのでSQLにくらべて比較的簡単に書くことができちゃいます。
PythonでSQLServerにINSERT文を投げるプログラムを以下に記載します。
$ import pyodbc
$ con = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};DB接続文字列')
$ cur = con.cursor()
$ cur,execute("いんさーととかでりーととか")
$ con.commit()
たったこれだけでSQLを流すことができちゃうんです。
あとは上記5行をループさせてINSERT文を適当に乱数などをつかって変化させれば100万件のランダムなデータセットがあっという間にできてしまいます。
こういった日常業務・作業のめんどくさいなーを
一緒に解決していきたいと思いますので、ぜひ一度ご相談くださいませ!
以上、しめじでした。