skillup

技術ブログ

Database

データベースによるテストデータ作成

投稿日:2016年8月30日 更新日:

テスト環境を作る際に、テストデータを作るのが面倒・・・なんかライブラリでもないかな・・と思っていたんですが、MySQLでいろいろと簡単にできます。

数字

rand()は通常のプログラムと同じで0~1での数字を任意に出力します。当然100のところを好きな数字にしてあげれば1~その数までとなります。

任意の文字

ランダムな半角英数字を作れます。上記の例は1~10まで。パスワードと同じ原理かと思います。concatを使えばさらに任意の文字と組み合わせることができます。

日付

date_addは下記リンクを参考に。

DATE_ADD(date,INTERVAL expr unit)

一番最後の構文は説明が必要でしょう。

contact_wsは単純な連結です。

addtimeは任意の日付の加算を行うことができます。加算式がやや複雑です。

w3resource MySQL ADDTIME() function

私が説明するよりこのリンクがはるかにわかりやすい・・英語ですが、式だけでわかると思います。

sec_to_time

数字をHH:MM:SSで表記します。

MySQL @Wiki 実用リファレンス SEC_TO_TIME

date_formatはその名のとおり通常のフォーマットです。

日付に関しては結構いろいろなことができるのでもっと知っておけばよかったです・・・

参考

テストのダミーデータ作成

ちょうど去年書きましたが、めちゃくちゃ役に立ちました。リンクが(爆)

MySQLで簡単にランダムなテストデータを作成する方法

この記事自体ここのパクリに近いです(爆)。

-Database
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

ユニークキーの設定

MySQLでのユニークキーの設定に関して。 ユニークキーの設定は下記の通り。

ユニークキーを作成した後に確認するのは下記コマンドで。 …

no image

cakePHPでの直SQL

今回はCakePHPにて直のSQLを書く方法を。 cakePHPにて大概の処理はもともと備わっているコマンドでなんとかなりますが、まれに直SQLを書いたほうがらくなこともあります。 書き方その1 [c …

no image

論理設計のアンチパターン その2

今回は論理設計のアンチパターンの続きです。 今までに比べると何も意図がないというものではなく、パフォーマンスを考えて設計されているようなものが多いです。 ただし、中には絶対に許されないタイプのものもあ …

no image

MySQLのレプリケーションについて

MySQLのレプリケーションについて調べたことなどを。 Contents1 レプリケーションの基礎知識1.1 定義1.2 構成1.3 メリット1.3.1 参照性能の向上1.3.2 可用性の向上1.4 …

no image

NULLについて

「達人に学ぶSQL徹底指南書」を読み進めていきましたがNULLについていろいろ書いてあるのでメモリます。 Contents1 NULLには未知と適用不能の2パターンがある2 = NULL が使えず I …

アーカイブ