Skip to main content

Easily send data to MySQL

Project description

1) Installation

Open a terminal and install pymy package

pip install pymy

2) Use

  1. Be sure that you have set environment variables with Redshift credentials like this:

export MYSQL_{INSTANCE}_DATABASE=""
export MYSQL_{INSTANCE}_USERNAME=""
export MYSQL_{INSTANCE}_HOST=""
export MYSQL_{INSTANCE}_PORT=""
export MYSQL_{INSTANCE}_PASSWORD=""
  1. Be also sure that your IP address is authorized for the mysql cluster/instance.

  2. Prepare your data like that:

data = {
        "table_name"    : 'name_of_the_redshift_schema' + '.' + 'name_of_the_redshift_table'
        "columns_name"  : [first_column_name,second_column_name,...,last_column_name],
        "rows"      : [[first_raw_value,second_raw_value,...,last_raw_value],...]
    }
  1. Send your data (use the same {INSTANCE} parameter as environment variables):

import pymy
pymy.send_to_redshift(instance, data, replace=True, batch_size=1000, types=None, primary_key=(), create_boolean=False)
  • replace (default=True) argument allows you to replace or append data in the table

  • batch_size (default=1000) argument also exists to send data in batchs

  • types, primary_key and create_boolean are explained below

3) First Example

You have a table called dog in you animal scheme. This table has two columns : ‘name’ and ‘size’. You want to add two dogs (= two rows) : Pif which is big and Milou which is small. data will be like that:

import pymy
data = {
        "table_name"    : 'animal.dog'
        "columns_name"  : ['name','size'],
        "rows"      : [['Pif','big'], ['Milou','small']]
    }
pymy.send_to_redshift({INSTANCE},data)

4) Function create_table

pymy has a create_table function with this signature:

import pymy
pymy.create_table({INSTANCE}, data, primary_key=(), types=None)

This function is automatically called in the send_to_redshift function if the table is not created. You can also call it with the “create_boolean” parameter of the send_to_reshift function or by setting “primary_key” or “types” parameters.

  • primary_key : if you have 3 columns (ie: columns_name=[a,b,c]) and you want to set b as primary key, set primary_key=(b)

  • types: create_table function guesses types of each column. But you can set a “types” argument. It is a dictionary like {‘b’: ‘VARCHAR(12)’} or {‘b’: ‘INTEGER NOT NULL’} to set types of b column.

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

pymy-0.0.4.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pymy-0.0.4-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file pymy-0.0.4.tar.gz.

File metadata

  • Download URL: pymy-0.0.4.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.6

File hashes

Hashes for pymy-0.0.4.tar.gz
Algorithm Hash digest
SHA256 3192575c4382a0c602f210f9e0fea2b5fba13ecb4ea1fa3e68459520d03eabcf
MD5 532f67bab85b5d00942663650ad49ca4
BLAKE2b-256 fa967db9f515fe9ff6b1105b5abe2cf8b78ccc267ab4bf003ce383cbf7c6f629

See more details on using hashes here.

File details

Details for the file pymy-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: pymy-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.6

File hashes

Hashes for pymy-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 46619d75e82096098b0d7bc5bb58a302cc5a1224e82ebee9aa579aadd4c9c4ca
MD5 8bcc1f65957ecb40c3c3b04267836d72
BLAKE2b-256 1aedc9a3802a97d5b87d2d51c51ce2178e1842adcd413804ddeab80db8a89e50

See more details on using hashes here.

Supported by

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