skillup

技術ブログ

Database

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

投稿日:

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

数字

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

任意の文字

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

日付

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

http://mysql.recipe123.net/man/sub/functions/function_date-add.html

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

contact_wsは単純な連結です。

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

http://www.w3resource.com/mysql/date-and-time-functions/mysql-addtime-function.php

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

sec_to_time

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

http://www9.atwiki.jp/my-sql/pages/132.html

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

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

参考

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

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

http://qiita.com/tayasu/items/c5ddfc481d6b7cd8866d

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

-Database
-,

執筆者:


comment

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

関連記事

no image

SQL基礎 結合に関して

SQL実践入門を読んで勉強しておりますが、本日は結合に関して。 Contents1 クロス結合2 内部結合3 外部結合4 結合のアルゴリズムとパフォーマンス4.1 NestedLoops4.2 Has …

no image

SQLクエリ比較

クエリの比較 SQLにおいては全く同じ結果を返すのであってもその検索結果が異なるということはよくあります。 例えば下記のようなテーブルがあった場合 co_cd | district —&# …

no image

アンチパターン 参照渡しと値渡し+キー情報の設定+同一値を複数テーブルに配置+正規化が不十分+集計表+不適切なステータス値

本日は自分がデータベースの設計をしていて気を付かないといけないなーと思った点などを。 注意点としては設計のミスは実装で取り返しにくいことが多いので極力気を付けましょう。あといろいろなテーブルのパターン …

no image

データベース設計のアンチパターン リトライ+バッチ分割+バッチの再利用不可

Contents1 リトライ1.1 デメリット1.2 対策2 バッチ分割2.1 デメリット2.2 対策3 バッチ再利用不可3.1 デメリット3.2 対策 リトライ ※OLTP=オンライントランザクショ …

no image

アンチパターン バインド変数の未使用+直積組み合わせ+データ量爆発+インデックス関連

本日はSQLコーディングに関して。 ここら辺は実際にプログラムを書く際に重要になってくるネタ。 Contents1 バインド変数1.1 デメリット1.2 対策2 直積により組み合わせが爆発する2.1 …