Skip to main content

Fill your database Quickly with dummy data

Project description

sqlsy

Install

pip install sqlsy

A python module to easy filling in dummy data insde mysql databases.

from sqlsy.engine import Engine
from sqlsy.utils.schema import Int, VarChar      # sql datatypes to define schema

# config for mysql connection : uses mysql api inside
config = {
  'user':'username',
  'password':'pas@word',
  'host':'localhost',
  'database':'db_name'
}

# define the schema of the table to fill

# hook specifies what data to generate
schema = {
  'id':Int('id', hook='seq_choice', args=[0,100]),     # generates numbers 0 - 100 inclu
  'name':VarChar('name', hook='name'),        # here generate fake names
  'job':VarChar('job', hook='job')           # here generate fake jobs
}


# create engine instance
engine = Engine(config)

# call the method to fill in the table
# 101 rows as id can take values from 0 to 100 = 101
engine.fill_table("table_name", schema, 101)       # give it tablename, schema of table and no of rows.

# print the table if you want
engine.print_table("table_name")

# delete all the data added to the table
engine.clear_table("table_name")

# Thats IT :)

Schema Functions to specify datatypes

Int - means "INT" of SQL.

Char - means "CHAR" of SQL.

VarChar - means "VARCHAR" of SQL. # does not take size like in SQL.

Date - means DATE of sql, DateTime, Time and Timestamp

Hooks

Int

random_int : generates random integers

random_digits : generates random 0-9 digit.

seq_choice : generates sequenctial numbers from the range given using args.

schema = {
  'id':Int('id', hook='seq_choice', args=[50,100])
}

VarChar/Char

name : generates full names

first_name : generates first names

last_name : generates last names

address : generates fake addresses

male_name : generates male names

female_name : generates female names

job: generates a job name

phone_number : generates phone numbers

Date/DateTime/Time/Timestamp

future_datetime : generates a future datetime

past_datetime : generates a past datetime

future_date: generates a future date

past_date : generates a past date

time : generates time value HH:MM:SS

date: generates date value

Choose randomly from a list

For example if we want to choose values from a provided list at random we can use the hook random_choice.

schema = {
  'stream':VarChar('stream', hook='random_choice', args=[['Science', 'BCA', 'BTech']])
}
# stream will contain values from the given list in `args` at random.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sqlsy-0.0.4.tar.gz (6.8 kB view hashes)

Uploaded Source

Built Distribution

sqlsy-0.0.4-py3-none-any.whl (6.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page