Lecture 1 - Working with Structured Data - SQL

The Art of Analyzing Big Data - The Data Scientist’s Toolbox - Lecture 1 Part A

By Dr. Michael Fire


The following notebook has three parts. In the first part, we will setup the Kaggle package and use it to download a dataset. In the second part, we will present several examples of how to use Python & SQLite to analyze structure data. Lastly, we see some examples of how to work with Object-Relational Mapping (ORM) and the Pony ORM package.

1. Setting Kaggle's Datasets API

This is our first notebook. So first, let's get a Kaggle API key, and create easy access to download Kaggle's datasets. More details on Kaggle's API can be found in the following link. Moreover, a quick explanation on how to get an API key and use it can be found in the following link

In [1]:
#!mkdir '~/.kaggle' # the directory where you need to put Kaggle.json - see https://github.com/Kaggle/kaggle-api/issues/15
In [1]:
import json
import os

# Installing the Kaggle package
!pip install kaggle 

#Important Note: complete this with your own key - after running this for the first time remmember to **remove** your API_KEY
#api_token = {"username":"<Insert Your Kaggle User Name>","key":"<Insert Your Kaggle API key>"}

# creating kaggle.json file with the personal API-Key details 
# You can also put this file on your Google Drive
with open('~/.kaggle/kaggle.json', 'w') as file:
  json.dump(api_token, file)
!chmod 600 ~/.kaggle/kaggle.json
Requirement already satisfied: kaggle in /anaconda3/envs/massivedata/lib/python3.6/site-packages (1.5.6)
Requirement already satisfied: certifi in /anaconda3/envs/massivedata/lib/python3.6/site-packages (from kaggle) (2019.9.11)
Requirement already satisfied: python-slugify in /anaconda3/envs/massivedata/lib/python3.6/site-packages (from kaggle) (4.0.0)
Requirement already satisfied: urllib3<1.25,>=1.21.1 in /anaconda3/envs/massivedata/lib/python3.6/site-packages (from kaggle) (1.24.2)
Requirement already satisfied: tqdm in /anaconda3/envs/massivedata/lib/python3.6/site-packages (from kaggle) (4.36.1)
Requirement already satisfied: requests in /anaconda3/envs/massivedata/lib/python3.6/site-packages (from kaggle) (2.22.0)
Requirement already satisfied: python-dateutil in /anaconda3/envs/massivedata/lib/python3.6/site-packages (from kaggle) (2.8.0)
Requirement already satisfied: six>=1.10 in /anaconda3/envs/massivedata/lib/python3.6/site-packages (from kaggle) (1.12.0)
Requirement already satisfied: text-unidecode>=1.3 in /anaconda3/envs/massivedata/lib/python3.6/site-packages (from python-slugify->kaggle) (1.3)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /anaconda3/envs/massivedata/lib/python3.6/site-packages (from requests->kaggle) (3.0.4)
Requirement already satisfied: idna<2.9,>=2.5 in /anaconda3/envs/massivedata/lib/python3.6/site-packages (from requests->kaggle) (2.8)

Let's check if we can use Kaggle API and download the US Baby Names dataset

In [3]:
# searching for the dataset
!kaggle datasets list -s baby
ref                                                      title                                         size  lastUpdated          downloadCount  voteCount  usabilityRating  
-------------------------------------------------------  -------------------------------------------  -----  -------------------  -------------  ---------  ---------------  
kaggle/us-baby-names                                     US Baby Names                                173MB  2017-11-21 22:18:15          16984        242  0.7058824        
new-york-city/nyc-baby-names                             NYC Baby Names                               136KB  2017-09-08 20:04:20            552          9  0.8235294        
roopalik/amazon-baby-dataset                             Amazon baby dataset                           18MB  2017-02-01 21:01:16            545         11  0.61764705       
samrat77/baby-names-dataset                              Baby Names DataSet                            85KB  2019-03-21 06:21:34            280          8  0.5882353        
ytmytm/babyfeeds                                         Baby girl breast feeds                        41KB  2019-07-14 18:31:46             90          4  0.9411765        
new-york-city/nyc-most-popular-baby-names                NYC Most Popular Baby Names                  150KB  2019-12-02 21:59:21            364         12  0.7941176        
jpmiller/publicassistance                                US Public Assistance for Women and Children    3MB  2020-01-26 17:43:43           6274        121  0.9117647        
xvivancos/barcelona-data-sets                            Barcelona data sets                            1MB  2020-02-15 23:29:29           9804        260  1.0              
shrutikunapuli/baby-cry                                  baby cry audio                                78MB  2019-08-27 06:35:56              0          2  0.75             
netanel246/jewish-baby-names                             Jewish Baby Names                              4KB  2017-05-07 20:40:09             77          2  0.64705884       
hassenmorad/us-state-baby-names                          US State Baby Names                           41MB  2018-09-14 18:25:40             70          2  0.5              
des137/us-births-2018                                    US births (2018)                             120MB  2019-11-28 09:26:32            186          7  1.0              
hassenmorad/us-national-baby-names-18802017              US National Baby Names (1880-2017)             8MB  2018-09-14 17:35:52             65          2  0.47058824       
deepfriedtofu/baby-sloths                                Baby Sloths                                    2MB  2019-08-20 04:45:42              6          0  0.5625           
sameersmahajan/reviews-of-amazon-baby-products           Reviews of Amazon Baby Products               29MB  2019-02-13 10:55:33            100          2  0.29411766       
cocowaffle/baby-photos                                   Baby Photos                                  115KB  2017-04-11 18:18:23            330          0  0.75             
fivethirtyeight/fivethirtyeight-drug-use-by-age-dataset  FiveThirtyEight Drug Use By Age Dataset        2KB  2019-04-26 15:02:02           1068         31  0.8235294        
austinreese/dril-tweets                                  Dril Tweets                                  663KB  2020-01-20 11:56:47             17          3  1.0              
fogallego/reviews-with-conditions                        Reviews with conditions                      339MB  2018-05-31 07:58:52            330         18  0.8235294        
pktippa/baby-names-analysis-dataset                      baby_names_analysis                            8MB  2019-08-11 06:23:15             18          0  0.47058824       
In [4]:
# Creating a dataset directory
!mkdir ./datasets
!mkdir ./datasets/us-baby-name

# download the dataset from Kaggle and unzip it
!kaggle datasets download kaggle/us-baby-names -f database.sqlite -p ./datasets/us-baby-name/database.sqlite
!chdir ./datasets/us-baby-name/database.sqlite/
!unzip ./datasets/us-baby-name/database.sqlite/*.zip  -d ./datasets/us-baby-name/database.sqlite
Downloading database.sqlite.zip to ./datasets/us-baby-name/database.sqlite
100%|███████████████████████████████████████▉| 131M/131M [00:23<00:00, 7.21MB/s]
100%|████████████████████████████████████████| 131M/131M [00:23<00:00, 5.96MB/s]
/bin/sh: chdir: command not found
Archive:  ./datasets/us-baby-name/database.sqlite/database.sqlite.zip
  inflating: ./datasets/us-baby-name/database.sqlite/database.sqlite  

2. Working with SQLite

Code Example - US Baby Names Dataset

In the first part, we downloaded an SQLite database into Colab. Let's connect to the dataset using the sqlite3 package: First, let's import the required packages, and answer several questions about the data.

In [5]:
import sqlite3
import matplotlib
import matplotlib.pyplot as plt
import os
%matplotlib inline

DB_PATH = './datasets/us-baby-name/database.sqlite'

Question 1: How many names in the dataset?

To answer this question, we need to run a query on the database. This can be done by doing following actions:

  1. We connect to the database, which is a local file, using the connect function.
  2. We create a cursor object.
  3. We call the execute function to run a query
  4. We fetch the results using the fetchone function
In [6]:
conn = sqlite3.connect(f'{DB_PATH}/database.sqlite') # connecting to the database
c = conn.cursor() # creating a cursor object
print("The number of national names in the dataset: %s" % c.execute("SELECT count(*) FROM NationalNames" ).fetchone()) # execute a query & fetch the results
print("The number of state names in the dataset: %s" % c.execute("SELECT count(*) FROM StateNames" ).fetchone()) 
c.close() # close the cursor
The number of national names in the dataset: 1825433
The number of state names in the dataset: 5647426

Question 2: How many distinct names in the Washington State? and in New York State?

We can answer this question, by using the [Select Distinct] statment(https://www.w3schools.com/sql/sql_distinct.asp):

In [7]:
c = conn.cursor()
print("The number of distinct names in WA state is: %s" % c.execute("SELECT count(*) FROM StateNames Where State='WA'" ).fetchone())
print("The number of distinct names in NY state is: %s" % c.execute("SELECT count(*) FROM StateNames Where State='NY'" ).fetchone())
c.close()
The number of distinct names in WA state is: 114240
The number of distinct names in NY state is: 277809

Question 3: What are the most common/rare names?

To answer this question, we need to count the number of times each name appeared in the dataset. This can be done by using the following steps: First, we will use the Group By statement, and SQL Sum function. Second, we will use the Order By keyword to order the results. Lastly, we iterate through the retrieved results using a for loop:

In [8]:
c = conn.cursor()  
rows = c.execute("""SELECT Name, Sum(Count) as TotalNumberOfBabies
             FROM NationalNames
             Group By Name
             Order by Sum(Count)""" ) 
i = 1 
for r in rows:
  if i > 20:
    break
  print(f"{i}. {r[0]}, {r[1]}")
  i += 1
c.close() # close the cursor
1. Aabid, 5
2. Aadhyan, 5
3. Aadian, 5
4. Aadrian, 5
5. Aadrit, 5
6. Aafreen, 5
7. Aagot, 5
8. Aahron, 5
9. Aaiyana, 5
10. Aaja, 5
11. Aakanksha, 5
12. Aakira, 5
13. Aakiyah, 5
14. Aaleeya, 5
15. Aalias, 5
16. Aalicia, 5
17. Aaliyaa, 5
18. Aallyah, 5
19. Aalon, 5
20. Aalyia, 5

Now let's print the names in descending order:

In [9]:
c = conn.cursor()  
rows = c.execute("""SELECT Name, Sum(Count) as TotalNumberOfBabies
             FROM NationalNames
             Group By Name
             Order by Sum(Count) DESC""" ) 
i = 1 
for r in rows:
  if i > 20:
    break
  print(f"{i}. {r[0]}, {r[1]}")
  i += 1
c.close() # close the cursor
1. James, 5129096
2. John, 5106590
3. Robert, 4816785
4. Michael, 4330805
5. Mary, 4130441
6. William, 4071368
7. David, 3590557
8. Joseph, 2580687
9. Richard, 2564867
10. Charles, 2376700
11. Thomas, 2291517
12. Christopher, 2004177
13. Daniel, 1876880
14. Elizabeth, 1606282
15. Patricia, 1575529
16. Matthew, 1558671
17. Jennifer, 1467573
18. George, 1464430
19. Linda, 1454599
20. Barbara, 1437083

We can see that the most common names are James, and the rarest names are names that appeared a total of 5 times. Can you guess why aren't any unique names in the database?

3. Working with Pony ORM

Object-relational mapping (ORM) is very useful for analyzing datasets. I like Pony ORM because it is really easy to use and work with. Moreover, Pony has easy to follow documentation. In this part of the notebook, we are going to work with Pony to transfer the database to object and objects into databases. Let's start by installing Pony ORM, and downloading the Pokemon Dataset and convert it into a database.

In [10]:
!pip install pony
Collecting pony
  Downloading https://files.pythonhosted.org/packages/fe/5e/f133d0559ca5015f0bd1089779c4b5ce115e728a6dd606a18dc529550fbb/pony-0.7.12.tar.gz (286kB)
     |████████████████████████████████| 286kB 475kB/s eta 0:00:01
Building wheels for collected packages: pony
  Building wheel for pony (setup.py) ... done
  Created wheel for pony: filename=pony-0.7.12-cp36-none-any.whl size=351612 sha256=c3781cb72318a5f8613bbb80feff523e2a4980184e2a55b2b64fb7cf45a1235a
  Stored in directory: /Users/michael/Library/Caches/pip/wheels/c8/17/43/4f7d5034e6941b2837f090a788c3abfde02a2c6ddb542e98d7
Successfully built pony
Installing collected packages: pony
Successfully installed pony-0.7.12
In [11]:
!kaggle datasets list -s pokemon
ref                                                  title                                       size  lastUpdated          downloadCount  voteCount  usabilityRating  
---------------------------------------------------  -----------------------------------------  -----  -------------------  -------------  ---------  ---------------  
abcsds/pokemon                                       Pokemon with stats                          15KB  2016-08-29 06:01:43          44317       1298  0.88235295       
terminus7/pokemon-challenge                          Pokemon- Weedle's Cave                     285KB  2017-09-21 08:43:04          25691        301  0.7352941        
rounakbanik/pokemon                                  The Complete Pokemon Dataset                47KB  2017-09-29 19:49:32          17373        429  0.8235294        
vishalsubbiah/pokemon-images-and-types               Pokemon Image Dataset                        2MB  2018-12-17 01:01:39           3845        118  0.9411765        
thedagger/pokemon-generation-one                     Pokemon Generation One                       2GB  2018-08-02 06:47:33           2447         95  0.625            
kvpratama/pokemon-images-dataset                     Pokemon Images Dataset                      79MB  2017-12-12 03:45:47           3284         69  0.75             
mlomuscio/pokemon                                    Pokemon                                     14KB  2019-09-03 01:14:49            150          5  0.7058824        
mylesoneill/pokemon-sun-and-moon-gen-7-stats         Pokemon Sun and Moon (Gen 7) Stats         271KB  2019-11-17 22:16:07           1964         66  0.9705882        
brilja/pokemon-mugshots-from-super-mystery-dungeon   Pokemon Mugshots                            81MB  2019-05-21 04:09:03            160         13  0.5625           
aaronyin/oneshotpokemon                              One-Shot-Pokemon Images                      2GB  2018-05-29 05:32:03            876         62  0.75             
lantian773030/pokemonclassification                  Pokemon Classification                     417MB  2019-11-09 23:15:13            130         13  0.8125           
tristan581/17k-apple-app-store-strategy-games        17K Mobile Strategy Games                    8MB  2019-08-26 08:22:16          15705        564  1.0              
semioniy/predictemall                                Predict'em All                             140MB  2016-10-11 23:33:54           5833        124  0.5882353        
lrcusack/pokemontrainers                             Pokemon Trainers Dataset                   801KB  2017-04-08 06:59:35            494         10  0.7941176        
brkurzawa/original-150-pokemon-image-search-results  Original 151 Pokemon Image Search Results   20GB  2018-11-21 17:17:04            368         19  0.875            
dollarakshay/pokemon-images                          Pokemon Images                              57MB  2017-11-27 20:12:53            795         24  0.6875           
abcsds/pokemongo                                     PokemonGO                                    4KB  2016-08-26 04:57:19           1747         21  0.8235294        
kveykva/sf-bay-area-pokemon-go-spawns                SF Bay Area Pokemon Go Spawns                4MB  2016-09-15 04:12:39           1104         20  0.5882353        
n2cholas/competitive-pokemon-dataset                 Complete Competitive Pokemon Dataset       172KB  2018-06-24 05:47:05            328          9  0.7058824        
sekarmg/pokemon                                      Pokemon                                    285KB  2017-11-29 03:01:57            475          7  0.4117647        
In [12]:
!kaggle datasets download abcsds/pokemon -p ./datasets/
!unzip ./datasets/pokemon.zip -d ./datasets/pokemon/
Downloading pokemon.zip to ./datasets
  0%|                                               | 0.00/14.9k [00:00<?, ?B/s]
100%|██████████████████████████████████████| 14.9k/14.9k [00:00<00:00, 9.78MB/s]
Archive:  ./datasets/pokemon.zip
  inflating: ./datasets/pokemon/Pokemon.csv  
In [13]:
!ls ./datasets/pokemon
Pokemon.csv

3.1 Creating DB using Objects

Now let's use the Pokemon dataset and Pony to create a database. The first step is to create classes that will map to tables in the generate database:

In [16]:
from pony.orm import *
import os
# Creating a new database
db = Database()
db.bind(provider='sqlite', filename=f'{os.getcwd()}/datasets/pokemon/pokemon.pony.db', create_db=True) # notice we can easily use other type of databases instead of SQLite

# Each class will be map to a table
class Trainer(db.Entity):
    name = Required(str)
    age = Required(int)
    pokemons_list = Set('Pokemon') # Connected to the Pokemon class
    
class Pokemon(db.Entity):
    name = Required(str) # cannot be None
    age  = Optional(int)
    attack_power = Required(int)
    defense_power = Required(int)
    trainer = Optional(Trainer) # Connected to the Trainer class
In [17]:
show(Trainer)
class Trainer(Entity):
    id = PrimaryKey(int, auto=True)
    name = Required(str)
    age = Required(int)
    pokemons_list = Set(Pokemon)

Notice that Pony adds a PrimaryKey to the Trainer class. Let's create the actual tables:

In [18]:
set_sql_debug(True) # helps to see what SQL commands are running
db.generate_mapping(create_tables=True) # create tables
GET CONNECTION FROM THE LOCAL POOL
PRAGMA foreign_keys = false
BEGIN IMMEDIATE TRANSACTION
CREATE TABLE "Trainer" (
  "id" INTEGER PRIMARY KEY AUTOINCREMENT,
  "name" TEXT NOT NULL,
  "age" INTEGER NOT NULL
)

CREATE TABLE "Pokemon" (
  "id" INTEGER PRIMARY KEY AUTOINCREMENT,
  "name" TEXT NOT NULL,
  "age" INTEGER,
  "attack_power" INTEGER NOT NULL,
  "defense_power" INTEGER NOT NULL,
  "trainer" INTEGER REFERENCES "Trainer" ("id") ON DELETE SET NULL
)

CREATE INDEX "idx_pokemon__trainer" ON "Pokemon" ("trainer")

SELECT "Pokemon"."id", "Pokemon"."name", "Pokemon"."age", "Pokemon"."attack_power", "Pokemon"."defense_power", "Pokemon"."trainer"
FROM "Pokemon" "Pokemon"
WHERE 0 = 1

SELECT "Trainer"."id", "Trainer"."name", "Trainer"."age"
FROM "Trainer" "Trainer"
WHERE 0 = 1

COMMIT
PRAGMA foreign_keys = true
CLOSE CONNECTION

We can see that Pony create the Pokemon & the Trainer tables in the database. Next, we will use the Pandas package to insert data into these tables:

In [19]:
import pandas as pd # we will talk more about pandas in our next lecture
df = pd.read_csv('./datasets/pokemon/Pokemon.csv')
df
Out[19]:
# Name Type 1 Type 2 Total HP Attack Defense Sp. Atk Sp. Def Speed Generation Legendary
0 1 Bulbasaur Grass Poison 318 45 49 49 65 65 45 1 False
1 2 Ivysaur Grass Poison 405 60 62 63 80 80 60 1 False
2 3 Venusaur Grass Poison 525 80 82 83 100 100 80 1 False
3 3 VenusaurMega Venusaur Grass Poison 625 80 100 123 122 120 80 1 False
4 4 Charmander Fire NaN 309 39 52 43 60 50 65 1 False
... ... ... ... ... ... ... ... ... ... ... ... ... ...
795 719 Diancie Rock Fairy 600 50 100 150 100 150 50 6 True
796 719 DiancieMega Diancie Rock Fairy 700 50 160 110 160 110 110 6 True
797 720 HoopaHoopa Confined Psychic Ghost 600 80 110 60 150 130 70 6 True
798 720 HoopaHoopa Unbound Psychic Dark 680 80 160 60 170 130 80 6 True
799 721 Volcanion Fire Water 600 80 110 120 130 90 70 6 True

800 rows × 13 columns

Let's iterate on the dataframe rows and create a Pokemon object from each row:

In [20]:
import random

for idx, row in df.iterrows():
    Pokemon(name=row['Name'],age=random.randint(0,500),attack_power=row['Sp. Atk'], defense_power=row['Sp. Def'])

We have created 800 objects, one for each row. However, none of them was committed to the DB yet. Let's commit!

In [21]:
commit()
GET NEW CONNECTION
BEGIN IMMEDIATE TRANSACTION
INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Bulbasaur', 194, 65, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Ivysaur', 41, 80, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Venusaur', 339, 100, 100]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['VenusaurMega Venusaur', 176, 122, 120]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Charmander', 274, 60, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Charmeleon', 185, 80, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Charizard', 219, 109, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['CharizardMega Charizard X', 355, 130, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['CharizardMega Charizard Y', 57, 159, 115]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Squirtle', 487, 50, 64]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Wartortle', 263, 65, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Blastoise', 363, 85, 105]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['BlastoiseMega Blastoise', 415, 135, 115]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Caterpie', 223, 20, 20]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Metapod', 229, 25, 25]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Butterfree', 89, 90, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Weedle', 98, 20, 20]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Kakuna', 39, 25, 25]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Beedrill', 267, 45, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['BeedrillMega Beedrill', 26, 15, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Pidgey', 180, 35, 35]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Pidgeotto', 386, 50, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Pidgeot', 391, 70, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['PidgeotMega Pidgeot', 452, 135, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Rattata', 249, 25, 35]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Raticate', 82, 50, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Spearow', 189, 31, 31]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Fearow', 446, 61, 61]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Ekans', 392, 40, 54]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Arbok', 492, 65, 79]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Pikachu', 470, 50, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Raichu', 387, 90, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Sandshrew', 397, 20, 30]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Sandslash', 210, 45, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Nidoran♀', 440, 40, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Nidorina', 301, 55, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Nidoqueen', 264, 75, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Nidoran♂', 249, 40, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Nidorino', 432, 55, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Nidoking', 348, 85, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Clefairy', 265, 60, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Clefable', 271, 95, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Vulpix', 490, 50, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Ninetales', 457, 81, 100]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Jigglypuff', 380, 45, 25]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Wigglytuff', 243, 85, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Zubat', 394, 30, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Golbat', 407, 65, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Oddish', 358, 75, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Gloom', 268, 85, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Vileplume', 411, 110, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Paras', 298, 45, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Parasect', 139, 60, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Venonat', 468, 40, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Venomoth', 358, 90, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Diglett', 108, 35, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Dugtrio', 297, 50, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Meowth', 366, 40, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Persian', 7, 65, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Psyduck', 398, 65, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Golduck', 323, 95, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Mankey', 310, 35, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Primeape', 162, 60, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Growlithe', 389, 70, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Arcanine', 323, 100, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Poliwag', 127, 40, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Poliwhirl', 8, 50, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Poliwrath', 376, 70, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Abra', 255, 105, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Kadabra', 366, 120, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Alakazam', 135, 135, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['AlakazamMega Alakazam', 148, 175, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Machop', 26, 35, 35]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Machoke', 371, 50, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Machamp', 469, 65, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Bellsprout', 301, 70, 30]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Weepinbell', 367, 85, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Victreebel', 28, 100, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Tentacool', 190, 50, 100]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Tentacruel', 220, 80, 120]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Geodude', 269, 30, 30]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Graveler', 326, 45, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Golem', 249, 55, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Ponyta', 446, 65, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Rapidash', 161, 80, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Slowpoke', 157, 40, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Slowbro', 296, 100, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['SlowbroMega Slowbro', 110, 130, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Magnemite', 135, 95, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Magneton', 140, 120, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
["Farfetch'd", 477, 58, 62]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Doduo', 257, 35, 35]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Dodrio', 374, 60, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Seel', 264, 45, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Dewgong', 301, 70, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Grimer', 388, 40, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Muk', 494, 65, 100]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Shellder', 252, 45, 25]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Cloyster', 441, 85, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Gastly', 20, 100, 35]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Haunter', 40, 115, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Gengar', 251, 130, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['GengarMega Gengar', 29, 170, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Onix', 260, 30, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Drowzee', 208, 43, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Hypno', 365, 73, 115]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Krabby', 140, 25, 25]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Kingler', 236, 50, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Voltorb', 1, 55, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Electrode', 229, 80, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Exeggcute', 143, 60, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Exeggutor', 176, 125, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Cubone', 343, 40, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Marowak', 316, 50, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Hitmonlee', 396, 35, 110]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Hitmonchan', 352, 35, 110]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Lickitung', 112, 60, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Koffing', 17, 60, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Weezing', 319, 85, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Rhyhorn', 161, 30, 30]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Rhydon', 490, 45, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Chansey', 459, 35, 105]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Tangela', 275, 100, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Kangaskhan', 22, 40, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['KangaskhanMega Kangaskhan', 28, 60, 100]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Horsea', 235, 70, 25]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Seadra', 59, 95, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Goldeen', 233, 35, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Seaking', 222, 65, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Staryu', 220, 70, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Starmie', 293, 100, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Mr. Mime', 430, 100, 120]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Scyther', 477, 55, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Jynx', 61, 115, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Electabuzz', 415, 95, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Magmar', 298, 100, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Pinsir', 64, 55, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['PinsirMega Pinsir', 494, 65, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Tauros', 160, 40, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Magikarp', 39, 15, 20]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Gyarados', 178, 60, 100]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['GyaradosMega Gyarados', 496, 70, 130]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Lapras', 145, 85, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Ditto', 5, 48, 48]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Eevee', 122, 45, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Vaporeon', 165, 110, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Jolteon', 498, 110, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Flareon', 426, 95, 110]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Porygon', 454, 85, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Omanyte', 468, 90, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Omastar', 145, 115, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Kabuto', 198, 55, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Kabutops', 90, 65, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Aerodactyl', 334, 60, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['AerodactylMega Aerodactyl', 318, 70, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Snorlax', 402, 65, 110]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Articuno', 386, 95, 125]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Zapdos', 155, 125, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Moltres', 251, 125, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Dratini', 453, 50, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Dragonair', 484, 70, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Dragonite', 1, 100, 100]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Mewtwo', 120, 154, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['MewtwoMega Mewtwo X', 445, 154, 100]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['MewtwoMega Mewtwo Y', 242, 194, 120]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Mew', 491, 100, 100]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Chikorita', 412, 49, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Bayleef', 210, 63, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Meganium', 4, 83, 100]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Cyndaquil', 297, 60, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Quilava', 355, 80, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Typhlosion', 153, 109, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Totodile', 181, 44, 48]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Croconaw', 54, 59, 63]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Feraligatr', 480, 79, 83]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Sentret', 72, 35, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Furret', 71, 45, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Hoothoot', 63, 36, 56]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Noctowl', 308, 76, 96]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Ledyba', 174, 40, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Ledian', 22, 55, 110]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Spinarak', 58, 40, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Ariados', 302, 60, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Crobat', 217, 70, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Chinchou', 411, 56, 56]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Lanturn', 252, 76, 76]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Pichu', 478, 35, 35]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Cleffa', 359, 45, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Igglybuff', 234, 40, 20]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Togepi', 409, 40, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Togetic', 287, 80, 105]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Natu', 433, 70, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Xatu', 329, 95, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Mareep', 216, 65, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Flaaffy', 130, 80, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Ampharos', 265, 115, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['AmpharosMega Ampharos', 157, 165, 110]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Bellossom', 222, 90, 100]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Marill', 27, 20, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Azumarill', 314, 60, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Sudowoodo', 279, 30, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Politoed', 321, 90, 100]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Hoppip', 161, 35, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Skiploom', 159, 45, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Jumpluff', 141, 55, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Aipom', 482, 40, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Sunkern', 348, 30, 30]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Sunflora', 212, 105, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Yanma', 265, 75, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Wooper', 425, 25, 25]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Quagsire', 15, 65, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Espeon', 424, 130, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Umbreon', 252, 60, 130]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Murkrow', 293, 85, 42]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Slowking', 371, 100, 110]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Misdreavus', 338, 85, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Unown', 422, 72, 48]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Wobbuffet', 347, 33, 58]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Girafarig', 300, 90, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Pineco', 301, 35, 35]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Forretress', 52, 60, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Dunsparce', 328, 65, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Gligar', 122, 35, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Steelix', 318, 55, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['SteelixMega Steelix', 27, 55, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Snubbull', 244, 40, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Granbull', 156, 60, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Qwilfish', 362, 55, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Scizor', 403, 55, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['ScizorMega Scizor', 231, 65, 100]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Shuckle', 361, 10, 230]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Heracross', 432, 40, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['HeracrossMega Heracross', 170, 40, 105]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Sneasel', 303, 35, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Teddiursa', 407, 50, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Ursaring', 370, 75, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Slugma', 500, 70, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Magcargo', 276, 80, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Swinub', 405, 30, 30]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Piloswine', 315, 60, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Corsola', 126, 65, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Remoraid', 184, 65, 35]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Octillery', 80, 105, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Delibird', 98, 65, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Mantine', 39, 80, 140]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Skarmory', 223, 40, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Houndour', 311, 80, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Houndoom', 442, 110, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['HoundoomMega Houndoom', 45, 140, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Kingdra', 374, 95, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Phanpy', 186, 40, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Donphan', 14, 60, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Porygon2', 211, 105, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Stantler', 314, 85, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Smeargle', 254, 20, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Tyrogue', 427, 35, 35]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Hitmontop', 17, 35, 110]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Smoochum', 246, 85, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Elekid', 11, 65, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Magby', 335, 70, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Miltank', 170, 40, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Blissey', 421, 75, 135]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Raikou', 255, 115, 100]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Entei', 269, 90, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Suicune', 224, 90, 115]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Larvitar', 250, 45, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Pupitar', 494, 65, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Tyranitar', 333, 95, 100]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['TyranitarMega Tyranitar', 350, 95, 120]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Lugia', 240, 90, 154]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Ho-oh', 236, 110, 154]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Celebi', 96, 100, 100]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Treecko', 180, 65, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Grovyle', 395, 85, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Sceptile', 236, 105, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['SceptileMega Sceptile', 75, 145, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Torchic', 254, 70, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Combusken', 207, 85, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Blaziken', 346, 110, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['BlazikenMega Blaziken', 257, 130, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Mudkip', 154, 50, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Marshtomp', 142, 60, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Swampert', 444, 85, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['SwampertMega Swampert', 33, 95, 110]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Poochyena', 483, 30, 30]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Mightyena', 3, 60, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Zigzagoon', 486, 30, 41]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Linoone', 149, 50, 61]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Wurmple', 59, 20, 30]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Silcoon', 402, 25, 25]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Beautifly', 296, 100, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Cascoon', 445, 25, 25]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Dustox', 365, 50, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Lotad', 249, 40, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Lombre', 459, 60, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Ludicolo', 249, 90, 100]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Seedot', 271, 30, 30]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Nuzleaf', 353, 60, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Shiftry', 323, 90, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Taillow', 417, 30, 30]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Swellow', 158, 50, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Wingull', 281, 55, 30]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Pelipper', 318, 85, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Ralts', 0, 45, 35]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Kirlia', 175, 65, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Gardevoir', 48, 125, 115]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['GardevoirMega Gardevoir', 230, 165, 135]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Surskit', 164, 50, 52]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Masquerain', 158, 80, 82]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Shroomish', 132, 40, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Breloom', 240, 60, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Slakoth', 327, 35, 35]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Vigoroth', 337, 55, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Slaking', 390, 95, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Nincada', 33, 30, 30]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Ninjask', 29, 50, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Shedinja', 117, 30, 30]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Whismur', 394, 51, 23]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Loudred', 141, 71, 43]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Exploud', 196, 91, 73]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Makuhita', 82, 20, 30]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Hariyama', 390, 40, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Azurill', 9, 20, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Nosepass', 186, 45, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Skitty', 240, 35, 35]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Delcatty', 17, 55, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Sableye', 78, 65, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['SableyeMega Sableye', 327, 85, 115]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Mawile', 407, 55, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['MawileMega Mawile', 404, 55, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Aron', 116, 40, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Lairon', 176, 50, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Aggron', 282, 60, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['AggronMega Aggron', 361, 60, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Meditite', 145, 40, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Medicham', 12, 60, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['MedichamMega Medicham', 498, 80, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Electrike', 475, 65, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Manectric', 311, 105, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['ManectricMega Manectric', 148, 135, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Plusle', 144, 85, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Minun', 150, 75, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Volbeat', 99, 47, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Illumise', 164, 73, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Roselia', 203, 100, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Gulpin', 425, 43, 53]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Swalot', 59, 73, 83]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Carvanha', 239, 65, 20]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Sharpedo', 103, 95, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['SharpedoMega Sharpedo', 458, 110, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Wailmer', 353, 70, 35]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Wailord', 11, 90, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Numel', 459, 65, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Camerupt', 379, 105, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['CameruptMega Camerupt', 455, 145, 105]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Torkoal', 31, 85, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Spoink', 67, 70, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Grumpig', 81, 90, 110]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Spinda', 20, 60, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Trapinch', 226, 45, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Vibrava', 497, 50, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Flygon', 249, 80, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Cacnea', 331, 85, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Cacturne', 421, 115, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Swablu', 320, 40, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Altaria', 111, 70, 105]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['AltariaMega Altaria', 331, 110, 105]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Zangoose', 452, 60, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Seviper', 471, 100, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Lunatone', 396, 95, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Solrock', 31, 55, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Barboach', 194, 46, 41]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Whiscash', 204, 76, 71]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Corphish', 219, 50, 35]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Crawdaunt', 231, 90, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Baltoy', 242, 40, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Claydol', 430, 70, 120]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Lileep', 358, 61, 87]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Cradily', 500, 81, 107]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Anorith', 147, 40, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Armaldo', 41, 70, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Feebas', 170, 10, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Milotic', 393, 100, 125]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Castform', 264, 70, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Kecleon', 421, 60, 120]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Shuppet', 425, 63, 33]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Banette', 350, 83, 63]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['BanetteMega Banette', 57, 93, 83]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Duskull', 450, 30, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Dusclops', 376, 60, 130]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Tropius', 99, 72, 87]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Chimecho', 273, 95, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Absol', 36, 75, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['AbsolMega Absol', 307, 115, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Wynaut', 139, 23, 48]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Snorunt', 392, 50, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Glalie', 4, 80, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['GlalieMega Glalie', 375, 120, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Spheal', 348, 55, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Sealeo', 360, 75, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Walrein', 50, 95, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Clamperl', 174, 74, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Huntail', 270, 94, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Gorebyss', 482, 114, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Relicanth', 148, 45, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Luvdisc', 301, 40, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Bagon', 161, 40, 30]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Shelgon', 95, 60, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Salamence', 145, 110, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['SalamenceMega Salamence', 131, 120, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Beldum', 314, 35, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Metang', 242, 55, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Metagross', 30, 95, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['MetagrossMega Metagross', 461, 105, 110]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Regirock', 277, 50, 100]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Regice', 280, 100, 200]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Registeel', 310, 75, 150]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Latias', 126, 110, 130]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['LatiasMega Latias', 189, 140, 150]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Latios', 252, 130, 110]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['LatiosMega Latios', 482, 160, 120]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Kyogre', 218, 150, 140]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['KyogrePrimal Kyogre', 346, 180, 160]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Groudon', 163, 100, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['GroudonPrimal Groudon', 59, 150, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Rayquaza', 326, 150, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['RayquazaMega Rayquaza', 490, 180, 100]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Jirachi', 139, 100, 100]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['DeoxysNormal Forme', 99, 150, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['DeoxysAttack Forme', 500, 180, 20]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['DeoxysDefense Forme', 321, 70, 160]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['DeoxysSpeed Forme', 198, 95, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Turtwig', 250, 45, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Grotle', 465, 55, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Torterra', 244, 75, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Chimchar', 328, 58, 44]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Monferno', 146, 78, 52]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Infernape', 70, 104, 71]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Piplup', 486, 61, 56]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Prinplup', 216, 81, 76]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Empoleon', 192, 111, 101]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Starly', 362, 30, 30]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Staravia', 179, 40, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Staraptor', 340, 50, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Bidoof', 499, 35, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Bibarel', 424, 55, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Kricketot', 350, 25, 41]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Kricketune', 336, 55, 51]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Shinx', 273, 40, 34]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Luxio', 299, 60, 49]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Luxray', 193, 95, 79]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Budew', 458, 50, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Roserade', 308, 125, 105]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Cranidos', 247, 30, 30]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Rampardos', 201, 65, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Shieldon', 107, 42, 88]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Bastiodon', 473, 47, 138]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Burmy', 139, 29, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['WormadamPlant Cloak', 97, 79, 105]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['WormadamSandy Cloak', 331, 59, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['WormadamTrash Cloak', 21, 69, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Mothim', 481, 94, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Combee', 227, 30, 42]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Vespiquen', 324, 80, 102]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Pachirisu', 70, 45, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Buizel', 431, 60, 30]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Floatzel', 72, 85, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Cherubi', 194, 62, 53]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Cherrim', 1, 87, 78]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Shellos', 191, 57, 62]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Gastrodon', 356, 92, 82]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Ambipom', 137, 60, 66]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Drifloon', 69, 60, 44]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Drifblim', 465, 90, 54]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Buneary', 227, 44, 56]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Lopunny', 489, 54, 96]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['LopunnyMega Lopunny', 138, 54, 96]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Mismagius', 70, 105, 105]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Honchkrow', 269, 105, 52]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Glameow', 132, 42, 37]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Purugly', 162, 64, 59]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Chingling', 420, 65, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Stunky', 343, 41, 41]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Skuntank', 361, 71, 61]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Bronzor', 136, 24, 86]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Bronzong', 57, 79, 116]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Bonsly', 230, 10, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Mime Jr.', 423, 70, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Happiny', 284, 15, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Chatot', 280, 92, 42]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Spiritomb', 206, 92, 108]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Gible', 242, 40, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Gabite', 429, 50, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Garchomp', 198, 80, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['GarchompMega Garchomp', 140, 120, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Munchlax', 12, 40, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Riolu', 313, 35, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Lucario', 130, 115, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['LucarioMega Lucario', 488, 140, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Hippopotas', 221, 38, 42]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Hippowdon', 48, 68, 72]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Skorupi', 381, 30, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Drapion', 197, 60, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Croagunk', 0, 61, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Toxicroak', 354, 86, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Carnivine', 57, 90, 72]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Finneon', 431, 49, 61]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Lumineon', 146, 69, 86]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Mantyke', 123, 60, 120]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Snover', 34, 62, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Abomasnow', 405, 92, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['AbomasnowMega Abomasnow', 102, 132, 105]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Weavile', 403, 45, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Magnezone', 301, 130, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Lickilicky', 157, 80, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Rhyperior', 40, 55, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Tangrowth', 241, 110, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Electivire', 461, 95, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Magmortar', 209, 125, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Togekiss', 58, 120, 115]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Yanmega', 489, 116, 56]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Leafeon', 243, 60, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Glaceon', 292, 130, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Gliscor', 91, 45, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Mamoswine', 229, 70, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Porygon-Z', 283, 135, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Gallade', 349, 65, 115]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['GalladeMega Gallade', 408, 65, 115]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Probopass', 222, 75, 150]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Dusknoir', 328, 65, 135]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Froslass', 174, 80, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Rotom', 95, 95, 77]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['RotomHeat Rotom', 216, 105, 107]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['RotomWash Rotom', 453, 105, 107]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['RotomFrost Rotom', 73, 105, 107]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['RotomFan Rotom', 282, 105, 107]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['RotomMow Rotom', 160, 105, 107]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Uxie', 168, 75, 130]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Mesprit', 211, 105, 105]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Azelf', 217, 125, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Dialga', 369, 150, 100]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Palkia', 386, 150, 120]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Heatran', 405, 130, 106]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Regigigas', 9, 80, 110]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['GiratinaAltered Forme', 91, 100, 120]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['GiratinaOrigin Forme', 405, 120, 100]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Cresselia', 395, 75, 130]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Phione', 412, 80, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Manaphy', 142, 100, 100]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Darkrai', 92, 135, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['ShayminLand Forme', 100, 100, 100]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['ShayminSky Forme', 328, 120, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Arceus', 5, 120, 120]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Victini', 290, 100, 100]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Snivy', 147, 45, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Servine', 23, 60, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Serperior', 290, 75, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Tepig', 438, 45, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Pignite', 214, 70, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Emboar', 135, 100, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Oshawott', 222, 63, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Dewott', 471, 83, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Samurott', 322, 108, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Patrat', 121, 35, 39]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Watchog', 263, 60, 69]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Lillipup', 10, 25, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Herdier', 425, 35, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Stoutland', 450, 45, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Purrloin', 412, 50, 37]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Liepard', 86, 88, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Pansage', 460, 53, 48]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Simisage', 94, 98, 63]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Pansear', 18, 53, 48]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Simisear', 367, 98, 63]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Panpour', 93, 53, 48]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Simipour', 305, 98, 63]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Munna', 90, 67, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Musharna', 15, 107, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Pidove', 174, 36, 30]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Tranquill', 91, 50, 42]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Unfezant', 80, 65, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Blitzle', 419, 50, 32]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Zebstrika', 102, 80, 63]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Roggenrola', 239, 25, 25]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Boldore', 433, 50, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Gigalith', 165, 60, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Woobat', 169, 55, 43]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Swoobat', 448, 77, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Drilbur', 101, 30, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Excadrill', 428, 50, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Audino', 34, 60, 86]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['AudinoMega Audino', 18, 80, 126]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Timburr', 82, 25, 35]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Gurdurr', 53, 40, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Conkeldurr', 443, 55, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Tympole', 303, 50, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Palpitoad', 36, 65, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Seismitoad', 12, 85, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Throh', 357, 30, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Sawk', 419, 30, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Sewaddle', 265, 40, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Swadloon', 336, 50, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Leavanny', 304, 70, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Venipede', 36, 30, 39]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Whirlipede', 394, 40, 79]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Scolipede', 378, 55, 69]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Cottonee', 308, 37, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Whimsicott', 138, 77, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Petilil', 363, 70, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Lilligant', 207, 110, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Basculin', 123, 80, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Sandile', 333, 35, 35]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Krokorok', 424, 45, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Krookodile', 158, 65, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Darumaka', 51, 15, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['DarmanitanStandard Mode', 142, 30, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['DarmanitanZen Mode', 223, 140, 105]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Maractus', 182, 106, 67]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Dwebble', 137, 35, 35]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Crustle', 274, 65, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Scraggy', 317, 35, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Scrafty', 152, 45, 115]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Sigilyph', 60, 103, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Yamask', 13, 55, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Cofagrigus', 284, 95, 105]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Tirtouga', 484, 53, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Carracosta', 70, 83, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Archen', 199, 74, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Archeops', 323, 112, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Trubbish', 270, 40, 62]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Garbodor', 370, 60, 82]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Zorua', 451, 80, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Zoroark', 116, 120, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Minccino', 417, 40, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Cinccino', 218, 65, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Gothita', 51, 55, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Gothorita', 206, 75, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Gothitelle', 220, 95, 110]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Solosis', 241, 105, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Duosion', 304, 125, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Reuniclus', 96, 125, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Ducklett', 163, 44, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Swanna', 248, 87, 63]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Vanillite', 410, 65, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Vanillish', 344, 80, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Vanilluxe', 94, 110, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Deerling', 323, 40, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Sawsbuck', 50, 60, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Emolga', 53, 75, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Karrablast', 350, 40, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Escavalier', 359, 60, 105]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Foongus', 329, 55, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Amoonguss', 201, 85, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Frillish', 475, 65, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Jellicent', 146, 85, 105]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Alomomola', 50, 40, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Joltik', 48, 57, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Galvantula', 387, 97, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Ferroseed', 93, 24, 86]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Ferrothorn', 442, 54, 116]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Klink', 416, 45, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Klang', 11, 70, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Klinklang', 9, 70, 85]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Tynamo', 339, 45, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Eelektrik', 393, 75, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Eelektross', 289, 105, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Elgyem', 326, 85, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Beheeyem', 448, 125, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Litwick', 378, 65, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Lampent', 301, 95, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Chandelure', 432, 145, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Axew', 360, 30, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Fraxure', 19, 40, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Haxorus', 194, 60, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Cubchoo', 364, 60, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Beartic', 354, 70, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Cryogonal', 350, 95, 135]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Shelmet', 213, 40, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Accelgor', 33, 100, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Stunfisk', 361, 81, 99]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Mienfoo', 498, 55, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Mienshao', 375, 95, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Druddigon', 32, 60, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Golett', 229, 35, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Golurk', 224, 55, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Pawniard', 28, 40, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Bisharp', 414, 60, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Bouffalant', 333, 40, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Rufflet', 454, 37, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Braviary', 82, 57, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Vullaby', 261, 45, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Mandibuzz', 117, 55, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Heatmor', 431, 105, 66]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Durant', 317, 48, 48]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Deino', 280, 45, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Zweilous', 499, 65, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Hydreigon', 174, 125, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Larvesta', 376, 50, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Volcarona', 223, 135, 105]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Cobalion', 480, 90, 72]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Terrakion', 87, 72, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Virizion', 138, 90, 129]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['TornadusIncarnate Forme', 374, 125, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['TornadusTherian Forme', 375, 110, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['ThundurusIncarnate Forme', 186, 125, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['ThundurusTherian Forme', 135, 145, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Reshiram', 311, 150, 120]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Zekrom', 324, 120, 100]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['LandorusIncarnate Forme', 319, 115, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['LandorusTherian Forme', 389, 105, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Kyurem', 83, 130, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['KyuremBlack Kyurem', 126, 120, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['KyuremWhite Kyurem', 444, 170, 100]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['KeldeoOrdinary Forme', 256, 129, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['KeldeoResolute Forme', 245, 129, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['MeloettaAria Forme', 244, 128, 128]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['MeloettaPirouette Forme', 33, 77, 77]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Genesect', 463, 120, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Chespin', 403, 48, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Quilladin', 486, 56, 58]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Chesnaught', 380, 74, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Fennekin', 406, 62, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Braixen', 171, 90, 70]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Delphox', 247, 114, 100]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Froakie', 61, 62, 44]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Frogadier', 274, 83, 56]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Greninja', 39, 103, 71]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Bunnelby', 170, 32, 36]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Diggersby', 131, 50, 77]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Fletchling', 175, 40, 38]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Fletchinder', 447, 56, 52]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Talonflame', 35, 74, 69]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Scatterbug', 483, 27, 25]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Spewpa', 217, 27, 30]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Vivillon', 493, 90, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Litleo', 488, 73, 54]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Pyroar', 498, 109, 66]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Flabébé', 67, 61, 79]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Floette', 341, 75, 98]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Florges', 407, 112, 154]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Skiddo', 100, 62, 57]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Gogoat', 305, 97, 81]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Pancham', 180, 46, 48]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Pangoro', 127, 69, 71]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Furfrou', 381, 65, 90]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Espurr', 50, 63, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['MeowsticMale', 132, 83, 81]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['MeowsticFemale', 375, 83, 81]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Honedge', 144, 35, 37]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Doublade', 207, 45, 49]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['AegislashBlade Forme', 64, 150, 50]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['AegislashShield Forme', 6, 50, 150]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Spritzee', 438, 63, 65]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Aromatisse', 209, 99, 89]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Swirlix', 368, 59, 57]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Slurpuff', 494, 85, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Inkay', 24, 37, 46]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Malamar', 151, 68, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Binacle', 133, 39, 56]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Barbaracle', 429, 54, 86]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Skrelp', 86, 60, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Dragalge', 6, 97, 123]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Clauncher', 292, 58, 63]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Clawitzer', 495, 120, 89]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Helioptile', 218, 61, 43]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Heliolisk', 387, 109, 94]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Tyrunt', 213, 45, 45]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Tyrantrum', 347, 69, 59]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Amaura', 459, 67, 63]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Aurorus', 459, 99, 92]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Sylveon', 156, 110, 130]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Hawlucha', 412, 74, 63]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Dedenne', 209, 81, 67]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Carbink', 323, 50, 150]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Goomy', 463, 55, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Sliggoo', 167, 83, 113]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Goodra', 357, 110, 150]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Klefki', 113, 80, 87]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Phantump', 345, 50, 60]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Trevenant', 392, 65, 82]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['PumpkabooAverage Size', 59, 44, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['PumpkabooSmall Size', 65, 44, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['PumpkabooLarge Size', 187, 44, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['PumpkabooSuper Size', 459, 44, 55]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['GourgeistAverage Size', 81, 58, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['GourgeistSmall Size', 318, 58, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['GourgeistLarge Size', 182, 58, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['GourgeistSuper Size', 167, 58, 75]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Bergmite', 257, 32, 35]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Avalugg', 97, 44, 46]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Noibat', 463, 45, 40]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Noivern', 396, 97, 80]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Xerneas', 160, 131, 98]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Yveltal', 25, 131, 98]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Zygarde50% Forme', 240, 81, 95]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Diancie', 80, 100, 150]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['DiancieMega Diancie', 102, 160, 110]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['HoopaHoopa Confined', 108, 150, 130]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['HoopaHoopa Unbound', 365, 170, 130]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power") VALUES (?, ?, ?, ?)
['Volcanion', 189, 130, 90]

COMMIT

Now let's add Ash as a trainer object, and add two pokemons trained by Ash:

In [22]:
ash_trainer = Trainer(name='Ash Ketchum', age=10)
pikachu = Pokemon(name='pikachu',age=6,attack_power=50, defense_power=50, trainer=ash_trainer)
charmander =  Pokemon(name='charmander',age=2,attack_power=60, defense_power=50,trainer=ash_trainer)
commit()
BEGIN IMMEDIATE TRANSACTION
INSERT INTO "Trainer" ("name", "age") VALUES (?, ?)
['Ash Ketchum', 10]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power", "trainer") VALUES (?, ?, ?, ?, ?)
['pikachu', 6, 50, 50, 1]

INSERT INTO "Pokemon" ("name", "age", "attack_power", "defense_power", "trainer") VALUES (?, ?, ?, ?, ?)
['charmander', 2, 60, 50, 1]

COMMIT

We can now easily retrieve data using objects:

In [23]:
pikachu.trainer.age
Out[23]:
10
In [24]:
list(pikachu.trainer.pokemons_list)
Out[24]:
[Pokemon[802], Pokemon[801]]
In [25]:
list(pikachu.trainer.pokemons_list)[1].name
Out[25]:
'pikachu'

We can also simply update the database using the created objects:

In [26]:
pikachu.age
Out[26]:
6
In [27]:
pikachu.age =110
commit()
BEGIN IMMEDIATE TRANSACTION
UPDATE "Pokemon"
SET "age" = ?
WHERE "id" = ?
  AND "name" = ?
  AND "age" = ?
  AND "attack_power" = ?
  AND "defense_power" = ?
  AND "trainer" = ?
[110, 801, 'pikachu', 6, 50, 50, 1]

COMMIT
In [28]:
pikachu.age
Out[28]:
110

3.2 Creating Objects from DB:

Using Pony, we can also connect to existing database, and easily search it without even knowing SQL. First let's connect between Pony to existing databse:

In [29]:
from pony.orm import *
import os

db = Database()
db.bind(provider='sqlite', filename=f'{os.getcwd()}/datasets/pokemon/pokemon.pony.db') # notice we don't use create_db=True here

class Trainer(db.Entity):
    name = Required(str)
    age = Required(int)
    pokemons_list = Set('Pokemon')
    
class Pokemon(db.Entity):
    name = Required(str) # cannot be None
    age  = Optional(int)
    attack_power = Required(int)
    defense_power = Required(int)
    trainer = Optional(Trainer)
db.generate_mapping()
set_sql_debug(True)
GET NEW CONNECTION
RELEASE CONNECTION
GET CONNECTION FROM THE LOCAL POOL
SWITCH TO AUTOCOMMIT MODE
SELECT "Pokemon"."id", "Pokemon"."name", "Pokemon"."age", "Pokemon"."attack_power", "Pokemon"."defense_power", "Pokemon"."trainer"
FROM "Pokemon" "Pokemon"
WHERE 0 = 1

SELECT "Trainer"."id", "Trainer"."name", "Trainer"."age"
FROM "Trainer" "Trainer"
WHERE 0 = 1

RELEASE CONNECTION
RELEASE CONNECTION

Using Pony, we can also connect to existing database, and easily search it without even knowing SQL. First, let's connect between Pony to an existing database:

In [30]:
[i.name for i in select(p for p in Pokemon if p.attack_power >100 and p.defense_power > p.attack_power    )]
GET CONNECTION FROM THE LOCAL POOL
SWITCH TO AUTOCOMMIT MODE
SELECT "p"."id", "p"."name", "p"."age", "p"."attack_power", "p"."defense_power", "p"."trainer"
FROM "Pokemon" "p"
WHERE "p"."attack_power" > 100
  AND "p"."defense_power" > "p"."attack_power"

Out[30]:
['Ho-oh',
 'MetagrossMega Metagross',
 'Latias',
 'LatiasMega Latias',
 'RotomHeat Rotom',
 'RotomWash Rotom',
 'RotomFrost Rotom',
 'RotomFan Rotom',
 'RotomMow Rotom',
 'Florges',
 'Sylveon',
 'Goodra']

We can observe that behind the scenes Pony translate the query into a SQL query and returned a list with the names of the matched pokemons. Let's find the pokemon with the highest attack power:

In [31]:
m = max([i.attack_power for i in select(p for p in Pokemon  )])
m
SELECT "p"."id", "p"."name", "p"."age", "p"."attack_power", "p"."defense_power", "p"."trainer"
FROM "Pokemon" "p"

Out[31]:
194
In [32]:
[i.name for i in select(p for p in Pokemon if p.attack_power == m )]
SELECT "p"."id", "p"."name", "p"."age", "p"."attack_power", "p"."defense_power", "p"."trainer"
FROM "Pokemon" "p"
WHERE "p"."attack_power" = ?
[194]

Out[32]:
['MewtwoMega Mewtwo Y']

4. SQL Big Data

You can use SQL with various RDBMS to analyze tables with millions, tens of millions, or even hundreds of millions of rows. This is sufficient for most usages. However, it is also possible to use "SQL Like" queries to analyze Big Data with billions of rows (or even more). For example, it is possible to use HiveQL to analyze extremely large datasets on Hadoop, or Spark SQL to run SQL like queries on Spark.

We will show an example of using HiveQL and Spark SQL in a future lecture. For, the last part of this lecture, let's run on a Kaggle Kernel, a simple example that utilizes SQL & BigQuery to query large scale datasets:

In [0]:
# see also https://www.kaggle.com/mrisdal/mentions-of-kaggle-on-hacker-news
# https://www.kaggle.com/bigquery-simple-examples/edit
# Run this on Kaggle Kernel
from google.cloud import bigquery


client = bigquery.Client()

query = """
SELECT title, time_ts
FROM `bigquery-public-data.hacker_news.stories`
WHERE title like '%big%data%'
ORDER BY time DESC
"""

query_job = client.query(query)
iterator = query_job.result(timeout=30)
rows = list(iterator)
# Transform the rows into a nice pandas dataframe
headlines = pd.DataFrame(data=[list(x.values()) for x in rows], columns=list(rows[0].keys()))

# Look at the first 10 headlines
headlines.head(10)
In [0]:
# see also https://www.kaggle.com/dhanushkishore/impact-of-game-of-thrones-on-us-baby-names
from google.cloud import bigquery

client = bigquery.Client()

query = """
SELECT gender, name, sum(number) as totalnames 
FROM `bigquery-public-data.usa_names.usa_1910_current` 
GROUP BY gender, name
Order by totalnames desc
"""

query_job = client.query(query)
iterator = query_job.result(timeout=30)
rows = list(iterator)
# Transform the rows into a nice pandas dataframe
headlines = pd.DataFrame(data=[list(x.values()) for x in rows], columns=list(rows[0].keys()))

# Look at the first 10 headlines
headlines.head(10)