COPY TO<table>Command in Snowflake syntax and examples</table> (2023)

COPY TO <table> description

Load data from prepared files into an existing table. The files must already be prepared in one of the following locations:

COPY INTO <table> command syntax


/*Load default data */COPY OF EM [<namespace>.]<table name> VON { internal stage | external stage | external location }[ FILES = ( '<file name>' [ , '<file name>' ] [ , ... ] ) ][ STANDARD = '<regex_pattern>' ][ DATE FORMAT = ( { FORMAT_NAME = '[<namespace>.]<file_format_name>' | TYPICAL = { CSV | JSON | AVRO | ORK | PARQUE | XML } [ format type options ] } ) ][ copy options ][ VALIDATION_MODE = GIVE BACK_<n>_LINES | RETURN_ERRORS | RETURN_ALL_ERRORS ]/*Data load with transformation */COPY OF EM [<namespace>.]<table name> [ ( <column name> [ , <column name> ... ] ) ] VON ( CHOOSE [<Alias>ps<archive_col_num>[.<Element>] [ , [<Alias>ps<archive_col_num>[.<Element>] ... ] VON { internal stage | external stage } )[ FILES = ( '<file name>' [ , '<file name>' ] [ , ... ] ) ][ STANDARD = '<regex_pattern>' ][ DATE FORMAT = ( { FORMAT_NAME = '[<namespace>.]<file_format_name>' | TYPICAL = { CSV | JSON | AVRO | ORK | PARQUE | XML } [ format type options ] } ) ][ copy options ][ VALIDATION_MODE = GIVE BACK_<n>_LINES | RETURN_ERRORS | RETURN_ALL_ERRORS ]

Wo:

internal stage

internal stage ::= @[<namespace>.]<int_stage_name>[/<ruta>] | @[<namespace>.]%<table name>[/<ruta>] | @~[/<ruta>]
(Video) COPY INTO command (Table) in Snowflake

external stage

external stage ::= @[<namespace>.]<ext_stage_name>[/<ruta>]

external location(for Amazon S3 warehouse)

external location ::= 's3://<cube>[/<ruta>]' [ { STORAGE_INTEGRATION = <integrations name> } | { CREDENTIALS = ( { { AWS_KEY_ID = `<string>` AWS_SECRET_KEY = `<string>` [ AWS_TOKEN = `<string>` ] } | AWS_ROLE = `<string>` } ) ) }` ] [ CRYPTOGRAPHY = ( [ TYPICAL = 'AWS_CSE' ] [ MASTER KEY = '<string>' ] | [ TYPICAL = 'AWS_SSE_S3' ] | [ TYPICAL = 'AWS_SSE_KMS' [ KMS_KEY_ID = '<string>' ] | [ TYPICAL = NONE ] ) ]

external location(for Google Cloud Storage deposit)

external location ::= 'gcs://<cube>[/<ruta>]' [ STORAGE_INTEGRATION = <integrations name> ] [ CRYPTOGRAPHY = ( [ TYPICAL = 'GCS_SSE_KMS' ] [ KMS_KEY_ID = '<string>' ] | [ TYPICAL = NONE ] ) ]

external location(for Microsoft Azure containers)

external location ::= 'blue://<Account>.Jaded.basic.Ventana.liquid/<Container>[/<ruta>]' [ { STORAGE_INTEGRATION = <integrations name> } | { CREDENTIALS = ( [ AZURE_SAS_TOKEN = <string> ] ) }` ] [ CRYPTOGRAPHY = ( [ TYPICAL = { 'AZURE_CSE' | NONE } ] [ MASTER KEY = '<string>' ] ) ]
(Video) Know more about COPY INTO command (Table) in Snowflake

format type options(specific type)

format type options ::=-- If ARCHIVE_FORMAT = ( TYPE = CSV ... ) COMPRESSION = AUTO | GZIP | BZ2 | FRATERNAL | ZSTD | DRAIN | RAW_DEFLATE | NONE RECORD_DELIMITER = '<Character>' | NONE FIELD_DELIMITER = '<Character>' | NONE SKIP_HEADER = <integer> SKIP_BLANK_LINES = TRUE | INCORRECT DATE FORMAT = '<string>' | AUTO ZEITFORMAT = '<string>' | AUTO TIMESTAMP_FORMAT = '<string>' | AUTO BINARY_FORMAT = HEX | BASE64 | UTF8 FLEE = '<Character>' | NONE ESCAPE_NOT CLOSED_FIELD = '<Character>' | NONE TRIM_SPACE = TRUE | INCORRECT FIELD_OPTIONALLY_CLOSED_BY = '<Character>' | NONE NULL_IF = ( '<string>' [ , '<string>' ... ] ) ERROR_ON_COLUMN_COUNT_MISMATCH = TRUE | INCORRECT REPLACE_INVALID_CHARACTERS = TRUE | INCORRECT VALIDATE_UTF8 = TRUE | INCORRECT EMPTY_FIELD_AS_NULL = TRUE | INCORRECT SALTAR_BYTE_ORDER_MARK = TRUE | INCORRECT CODING = '<string>' | UTF8- If FILE_FORMAT = ( TYPE = JSON ... ) COMPRESSION = AUTO | GZIP | BZ2 | FRATERNAL | ZSTD | DRAIN | RAW_DEFLATE | NONE ENABLE_OCTAL = TRUE | INCORRECT ALLOW_DUPLICATE = TRUE | INCORRECT STRIP_OUTER_ARRAY = TRUE | INCORRECT STRIP_NULL_VALUES = TRUE | INCORRECT IGNORE_UTF8_ERRORS = TRUE | INCORRECT SALTAR_BYTE_ORDER_MARK = TRUE | INCORRECT-- If ARCHIVE_FORMAT = ( TYPE = AVRO ... ) COMPRESSION = AUTO | GZIP | BZ2 | FRATERNAL | ZSTD | DRAIN | RAW_DEFLATE | NONE-- If FILE_FORMAT = ( TYPE = ORC ... ) -- none (no options supported)-- If FILE_FORMAT = ( TYPE = PARQUET ... ) BINARIO_AS_TEXT = TRUE | INCORRECT-- If ARCHIVE_FORMAT = ( TYPE = XML ... ) COMPRESSION = AUTO | GZIP | BZ2 | FRATERNAL | ZSTD | DRAIN | RAW_DEFLATE | NONE IGNORE_UTF8_ERRORS = TRUE | INCORRECT PRESERVE_SPACE = TRUE | INCORRECT STRIP_OUTER_ELEMENT = TRUE | INCORRECT DISABLE_SNOWFLAKE_DATA = TRUE | INCORRECT DISABLE_AUTO_CONVERT = TRUE | INCORRECT SALTAR_BYTE_ORDER_MARK = TRUE | INCORRECT

copy options

copy options ::= ON_ERROR = { KEEP GOING | SKIP FILE | SKIP FILE_<Number> | SKIP FILE_<Number>% | ABORT_STATEMENT } SIZE_LIMIT = <Number> CLEAN = TRUE | INCORRECT RETURN_FAILED_ONLY = TRUE | INCORRECT MATCH_BY_COLUMN_NAME = LARGE AND LOWER CASE | CASE_INSENSITIVE | NONE ENFORCE_LENGTH = TRUE | INCORRECT TRUNCATECOLUNAS = TRUE | INCORRECT FORTALEZA = TRUE | INCORRECT LOAD_UNCERTAIN_FILES = TRUE | INCORRECT

COPY INTO <table> Command Examples


For examples of transformations to load data, see .

File upload from an internal stage

Loading files from a named external stage

Upload files directly from an external storage location

Load with pattern matching

Loading JSON data into a VARIANT column

(Video) Snowflake - Copy Command Options

reload files

Clean up files after upload

Validation of prepared files

Using the COPY INTO <table> command


  • When loading into a table from the same level as the table, the FROM clause is not required and can be omitted.

  • When transforming data on the fly (that is, using a query as a source for the COPY command):

    • File data selection is only supported for named stages (internal or external) and user stages. It does not support table levels.

    • CSV and semi-structured file types are supported; but also when uploading semi-structured data (eg JSON), you should set CSV as the file format type (default). You can use the appropriate file format (eg JSON), but any error in the transformation will stop the COPY operation, even if you set the ON_ERROR option to continue or skip the file.

      Also, set the file format optionFIELD_DELIMITER = NONE.

    • To transform JSON data during an upload, you must structure your data files in the standard format ("newline-delimited JSON"); Otherwise, the following error may occur:

      Error Analyze JSON: further Era as document they o Verboten

    • The DISTINCT keyword in SELECT statements is not fully supported. Specifying the keyword can result in inconsistent or unexpected behavior of the ON_ERROR copy option.

  • Upload from Google Cloud Storage only:The list of objects returned to an external stage may contain one or more "blob directories"; essentially paths that end in a slash (/), For example.:

    LIST @my_gcs_stage;+------------------------+------+--- --------------- ----------------------------+------------------ --------- -----+| name | size | md5 | last_modified ||---------------------------------------+------+-- - -------------+---------------- --------------|| my_gcs_stage/load/ | 12 | 12348f18bcb35e7b6b628ca12345678c | 11 de septiembre de 2019 16:57:43 GMT || my_gcs_stage/load/data_0_0_0.csv.gz | 147 | 9765daba007a643bdff4eae10d43218y | 11 de septiembre de 2019 18:13:07 GMT |+------------------------+------+--- --------------- ----------------------------+------------------ --------- -----+
    (Video) 1. Truncate Table in Snowflake| SNOWFLAKE SQL Command Reference| Snowflake Database| DML| VCKLY Tech

    These blobs are listed by creating directories in the Google Cloud Platform console instead of using another tool provided by Google.

    COPY statements that reference a level can fail if the list of objects contains directory blobs. To avoid errors, we recommend using file pattern matching to identify files to include (that is, the PATTERN clause) when a stage's file list contains directory blobs. For an example, see (in this topic). Alternatively, set ON_ERROR = SKIP_FILE in the COPY statement.

  • When referring to a file format in the current namespace (the active database and schema in the current user's session), you can omit the single quotes around the format identifier.

  • STORAGE_INTEGRATION,CREDENTIALS, zCRYPTOGRAPHYApplies only when uploading directly from a private/protected location:

    • If you are uploading from a public bucket, secure access is not required.

    • When you load from a named external stage, the stage provides all the credentials needed to access the repository.

  • If errors occur while executing the COPY command, after the command completes, you can validate the files that caused the errors with the spreadsheet function.

    supervision

    The VALIDATE function only returns the output for the COPY commands used to perform the standard data load; COPY commands that perform transformations during data loading (for example, loading a subset of data columns or reordering data columns) are not supported.

  • Unless specifically stated by youFORTALEZA = TRUEAs one of the copy options, the command ignores any prepared data files that have already been loaded into the table. To reload the data, you must specifyFORTALEZA = TRUEor modify the file and try again, which will generate a new checksum.

  • The COPY command does not validate data type conversions for Parquet files.

Convert your code to Snowflake online


Convert Teradata to Snowflake BigQuery TD Converter

(Video) How To Copy Data Into Snowflake Tables Using Stages | Snowflake Tutorial For Beginners

FAQs

How do you copy a table in a Snowflake? ›

In Snowflake, we will duplicate the table through “copy clone” and “copy as” commands. We can primarily use them for creating schemas, tables, and databases.

How to copy the data from one table to another table in Snowflake? ›

The Snowflake COPY command allows you to load data from staged files on internal/external locations to an existing table or vice versa. Snowflake offers two types of COPY commands: COPY INTO <location>: This will copy the data from an existing table to locations that can be: An internal stage table.

How do you make a Snowflake syntax table? ›

Creates a new table populated with the data returned by a query: CREATE [ OR REPLACE ] TABLE <table_name> [ ( <col_name> [ <col_type> ] , <col_name> [ <col_type> ] , ... ) ] [ CLUSTER BY ( <expr> [ , <expr> , ... ] ) ]

What is the command of copying a table? ›

Cloning or Copying a Table
  1. CREATE TABLE new_table LIKE original_table; ...
  2. INSERT INTO new_table SELECT * FROM original_table; ...
  3. mysql> CREATE TABLE employees_clone LIKE employees; ...
  4. mysql> INSERT INTO employees_clone SELECT * FROM employees; ...
  5. CREATE TABLE new_table SELECT * FROM original_table;

How do I copy an existing table? ›

Right-click the table you wish to duplicate, point to Script Table as, then point to CREATE to, and then select New Query Editor Window. Change the name of the table. Remove any columns that are not needed in the new table. Select Execute to create the new table.

How do I copy data from one table to another table? ›

Click the tab for the table with the columns you want to copy and select those columns. From the Edit menu, click Copy. Click the tab for the table into which you want to copy the columns. Select the column you want to follow the inserted columns and, from the Edit menu, click Paste.

How do I automatically copy data from one table to another? ›

Use Copy and Paste Link to automatically transfer data from one Excel worksheet to another
  1. Open two spreadsheets containing the same simple dataset.
  2. In sheet 1, select a cell and type Ctrl + C / Cmd + C to copy it.
  3. In sheet 2, right-click on the equivalent cell and go to the Paste > Link.
Feb 3, 2022

How do you create a table and copy data from another table? ›

A copy of an existing table can be created using a combination of the CREATE TABLE statement and the SELECT statement. The new table has the same column definitions. All columns or specific columns can be selected.

How do you create a new table in the same database? ›

Create a new table in an existing database
  1. Click File > Open, and click the database if it is listed under Recent. If not, select one of the browse options to locate the database.
  2. In the Open dialog box, select the database that you want to open, and then click Open.
  3. On the Create tab, in the Tables group, click Table.

What is clone table in Snowflake? ›

Cloning a table replicates the structure, data, and certain other properties (e.g. STAGE FILE FORMAT ) of the source table. However: A cloned table does not include the load history of the source table. One consequence of this is that data files that were loaded into a source table can be loaded again into its clones.

How do you create a syntax table? ›

Syntax. CREATE TABLE table_name( column1 datatype, column2 datatype, column3 datatype, ..... columnN datatype, PRIMARY KEY( one or more columns ) ); CREATE TABLE is the keyword telling the database system what you want to do. In this case, you want to create a new table.

What is Snowflake syntax? ›

Snowflake SQL: Query Syntax

For robust relational database querying, Snowflake's Data Cloud platform has a Data Warehouse workload that supports the most prevalent standardized version of SQL (ANSI). It can also combine semi-structured data, such as JSON, with structured data stored in SQL.

What SQL syntax is Snowflake? ›

Snowflake is a data platform and data warehouse that supports the most common standardized version of SQL: ANSI. This means that all of the most common operations are usable within Snowflake.

What is the syntax for copy command in SQL? ›

COPY Command Syntax. COPY {FROM database | TO database | FROM database TO database} {APPEND|CREATE|INSERT|REPLACE} destination_table [(column, column, column, ...)] Copies data from a query to a table in a local or remote database.

What is copy command in SQL with example? ›

With the COPY command, you can copy data between databases in the following ways: Copy data from a remote database to your local database. Copy data from your local (default) database to a remote database (most systems). Copy data from one remote database to another remote database (most systems).

How do you use the Copy command? ›

COPY is usually used to copy one or more files from one location to another. However, COPY can also be used to create new files. By copying from the keyboard console (COPY CON:) to the screen, files can be created and then saved to disk. The first filename you enter is referred to as the source file.

How do I copy a table in the same database? ›

The fastest way to copy a table in MySQL: dbForge Studio for MySQL
  1. Right-click the table you want to copy in Database Explorer and select Duplicate Object.
  2. In the dialog that opens, select the destination db.
  3. Select to copy the table data or structure only.
  4. Specify the name of the new table, and click OK.

How do I copy and paste a table with formatting? ›

Copy cell formatting
  1. Select the cell with the formatting you want to copy.
  2. Select Home > Format Painter.
  3. Drag to select the cell or range you want to apply the formatting to.
  4. Release the mouse button and the formatting should now be applied.

How do I move data from one database to another in snowflake? ›

Sharing Data from Multiple Databases
  1. Connect to your Snowflake account as a user with the ACCOUNTADMIN role or a role granted the CREATE SHARES global privilege. ...
  2. Create a share using CREATE SHARE.
  3. Grant the USAGE privilege on the database you wish to share using GRANT <privilege> …

What is fastest way to copy a data from 1 table to another table? ›

Using a SQL multi row fetch is the fastest way to copy data from one table to another (I was surprised how much faster it is when compared to CPYF). Using VARCHAR is slower than just a straight CHAR (not surprised).

How do you convert data into a table? ›

Try it!
  1. Select a cell within your data.
  2. Select Home > Format as Table.
  3. Choose a style for your table.
  4. In the Format as Table dialog box, set your cell range.
  5. Mark if your table has headers.
  6. Select OK.

How do I copy data from one table to another without duplicates? ›

1 Answer
  1. Try using NOT EXISTS like this: INSERT INTO TABLE_2. (id, name) SELECT t1.id, t1.name. FROM TABLE_1 t1. ...
  2. You can use NOT IN this way: INSERT INTO TABLE_2. (id, name) SELECT t1.id, t1.name. FROM TABLE_1 t1. ...
  3. Use LEFT JOIN/IS NULL this way: INSERT INTO TABLE_2. (id, name) SELECT t1.id, t1.name. FROM TABLE_1 t1.

How do I copy and create a new table in SQL? ›

In SQL, one would typically use CREATE TABLE and SELECT statements as follows: CREATE TABLE new_table; SELECT SELECT col, col2, col3 INTO new_table FROM existing_table; In the first statement, the database creates a new table with the name indicated in the CREATE TABLE statement.

How to copy table in SQL? ›

If you want to copy the data of one SQL table into another SQL table in the same SQL server, then it is possible by using the SELECT INTO statement in SQL. The SELECT INTO statement in Structured Query Language copies the content from one existing table into the new table.

How do I create a table from a SELECT statement? ›

You can create one table from another by adding a SELECT statement at the end of the CREATE TABLE statement: CREATE TABLE new_tbl [AS] SELECT * FROM orig_tbl; MySQL creates new columns for all elements in the SELECT .

Can we copy one table from another database? ›

One of the fastest ways to copy tables from one database to another database is using the SQL Server Export and Import wizard.

What is the difference between copy and clone Snowflake? ›

Cloning in Snowflake is much faster than cloning in other databases. Depending on the size of the source item, it could take several minutes. Until you make any changes, snowflake copying shares the same storage. However, as soon as you make adjustments, it begins its own lifetime for partition changes.

What is clone () method? ›

The clone() method of Object class is used to clone an object. The java. lang. Cloneable interface must be implemented by the class whose object clone we want to create. If we don't implement Cloneable interface, clone() method generates CloneNotSupportedException.

How do I copy a table from SQL Server to Snowflake? ›

To migrate data from Microsoft SQL Server to Snowflake, you must perform the following steps:
  1. Step 1: Export Data from SQL Server Using SQL Server Management Studio.
  2. Step 2: Upload the CSV File to an Amazon S3 Bucket Using the Web Console.
  3. Step 3: Upload Data to Snowflake From S3.
Feb 21, 2020

What is the syntax of table? ›

A syntax table specifies the syntactic role of each character in a buffer. It can be used to determine where words, symbols, and other syntactic constructs begin and end.

What Is syntax format? ›

Syntax Formatting uses rich text formatting based on program information. Source Insight uses information gathered from its parsers to format source code. Identifiers can be displayed in different fonts or font sizes, along with a variety of effects such as bold and italics.

Which syntax is used to insert data to a table? ›

The INSERT INTO statement is used to insert new records in a table.

What is query syntax? ›

What is Syntax? The term syntax refers to strict structural patterns used when creating a query. As soon as you enter the search criteria using the correct syntax, the query should execute, and the requested records retrieved from the target database.

Is SQL syntax different in Snowflake? ›

Microsoft SQL Server uses T-SQL and Snowflake SQL is ANSI SQL compatible. So, if you look for the differences between T-SQL and ANSI SQL, there might be resources available online. I have good news for you. Snowflake SQL follows the ANSI SQL standard.

How do you write a query in a Snowflake? ›

Snowflake supports querying using standard SELECT statements and the following basic syntax: [ WITH ... ] SELECT [ TOP <n> ] ... [ INTO ... ]

How to get SQL query in Snowflake? ›

Getting Started
  1. Prerequisites.
  2. Log into SnowSQL.
  3. Create Snowflake Objects.
  4. Stage the Data Files.
  5. Copy Data into the Target Table.
  6. Query the Loaded Data.
  7. Summary and Clean Up.

How do I run a SnowSQL command? ›

3.1 Logging in through interactive Password prompt
  1. Open a terminal Window.
  2. Use the below command to connect to Snowflake $ snowsql -a <account_identifier> -u <username> Parameter. Description. -a <account_identifier> ...
  3. Enter the password of the account in interactive password prompt to login.
Mar 13, 2022

How do you import data from Snowflake to SQL? ›

Method 1: Using SQL Commands for Loading Data to Snowflake
  1. 1) Staging the Files. ...
  2. 2) Loading the Data. ...
  3. Step 1: Use the demo_db Database. ...
  4. Step 2: Create the Contacts Table. ...
  5. Step 3: Populate the Table with Records. ...
  6. Step 4: Create an Internal Stage. ...
  7. Step 5: Execute a PUT Command to Stage the Records in CSV Files.
Dec 13, 2021

How do I copy and paste a table with the same format? ›

Copy cell formatting
  1. Select the cell with the formatting you want to copy.
  2. Select Home > Format Painter.
  3. Drag to select the cell or range you want to apply the formatting to.
  4. Release the mouse button and the formatting should now be applied.

How do you clone a table in Snowflake without data? ›

Snowflake SQL provides “ CREATE TABLE LIKE ” statement to create a new table with just the structure of the existing table without copying the data. CREATE TABLE LIKE copies the following from existing table.

How do I copy and paste from one table to another? ›

Click the tab for the table with the columns you want to copy and select those columns. From the Edit menu, click Copy. Click the tab for the table into which you want to copy the columns. Select the column you want to follow the inserted columns and, from the Edit menu, click Paste.

Can we clone external table in Snowflake? ›

Cloning a database or schema does not clone objects of the following types in the database or schema: External tables. Internal (Snowflake) stages.

How do you copy data to a Snowflake? ›

Getting Started
  1. Prerequisites.
  2. Log into SnowSQL.
  3. Create Snowflake Objects.
  4. Stage the Data Files.
  5. Copy Data into the Target Table.
  6. Query the Loaded Data.
  7. Summary and Clean Up.

What is the difference between copy and clone in Snowflake? ›

Cloning in Snowflake is much faster than cloning in other databases. Depending on the size of the source item, it could take several minutes. Until you make any changes, snowflake copying shares the same storage. However, as soon as you make adjustments, it begins its own lifetime for partition changes.

How do you copy a table without data? ›

The first method is called Simple Cloning and as its name implies it create a table from another table without taking into account any column attributes and indexes.
  1. CREATE TABLE new_table SELECT * FROM original_table;
  2. CREATE TABLE adminUsers SELECT * FROM users;
  3. CREATE TABLE new_table LIKE original_table;
Jun 24, 2020

How do I move data from one table to another? ›

The INSERT INTO SELECT statement copies data from one table and inserts it into another table. The INSERT INTO SELECT statement requires that the data types in source and target tables match. Note: The existing records in the target table are unaffected.

How to use copy command in SQL? ›

COPY Command Syntax. COPY {FROM database | TO database | FROM database TO database} {APPEND|CREATE|INSERT|REPLACE} destination_table [(column, column, column, ...)] Copies data from a query to a table in a local or remote database.

Which query is correct for cloning in Snowflake? ›

CREATE <object> … CLONE. Creates a copy of an existing object in the system. This command is primarily used for creating zero-copy clones of databases, schemas, and tables; however, it can also be used to quickly/easily create clones of other schema objects (i.e. external stages, file formats, and sequences).

Which table types can be cloned in Snowflake? ›

Individual external named stages can be cloned. An external stage references a bucket or container in external cloud storage; cloning an external stage has no impact on the referenced cloud storage. Internal (i.e. Snowflake) named stages cannot be cloned.

Videos

1. Snowflake: How to load data - using SnowSQL CLI
(Snowflake Tutorial)
2. How to Load CSV file with/with out Headers into Snowflake Table?|Copy Command|VVCKLY Tech|Snowflake
(VCKLY Tech)
3. Load CSV data to create a new table in Snowflake
(Kahan Data Solutions)
4. Create zero-copy clones on Snowflake
(Kahan Data Solutions)
5. Snowflake Scripting Stored Procedure
(LearnWithVijay)
6. Snowflake Interview Questions Part - I
(Janardhan Reddy Bandi)

References

Top Articles
Latest Posts
Article information

Author: Kieth Sipes

Last Updated: 05/05/2023

Views: 5588

Rating: 4.7 / 5 (67 voted)

Reviews: 90% of readers found this page helpful

Author information

Name: Kieth Sipes

Birthday: 2001-04-14

Address: Suite 492 62479 Champlin Loop, South Catrice, MS 57271

Phone: +9663362133320

Job: District Sales Analyst

Hobby: Digital arts, Dance, Ghost hunting, Worldbuilding, Kayaking, Table tennis, 3D printing

Introduction: My name is Kieth Sipes, I am a zany, rich, courageous, powerful, faithful, jolly, excited person who loves writing and wants to share my knowledge and understanding with you.