金子邦彦研究室プログラミングRuby による Web/データベース・プログラミングリレーショナルデータベースのテーブルをランダム・データで埋める

リレーショナルデータベースのテーブルをランダム・データで埋める

◆ Ruby プログラム

LEN = 8
c = 0
LINES=ARGV[0].to_i

puts "# id, x, y, price, name"

for i in 1..LINES do 
  id = c
  x = 100 * rand 
  y = 100 * rand 
  price = ( 1000 * rand ).ceil
  name = (("a".."z").to_a + ("A".."Z").to_a + (0..9).to_a).shuffle[0..(LEN-1)].join

  printf("%d, %f, %f, %d, %s\n", id, x, y, price, name)
  c = c + 1
end

上の Ruby プログラムを hoge.rb のようなファイル名で保存し、次のコマンドを実行する

rm -f /tmp/1.csv
ruby hoge.rb 10000 | fgrep -v '#' > /tmp/1.csv
rm -f /tmp/1.db
sqlite3 /tmp/1.db
create table dat (
  id     integer, 
  x      number, 
  y      number, 
  price integer, 
  name  text ); 
.mode csv
.import /tmp/1.csv dat
.exit

[image]

確認表示

sqliteman 1.db

[image]