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.
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
#!mkdir '~/.kaggle' # the directory where you need to put Kaggle.json - see https://github.com/Kaggle/kaggle-api/issues/15
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
# 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
# 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
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.
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:
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):
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:
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:
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?
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.
!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
!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
!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
!ls ./datasets/pokemon
Pokemon.csv
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:
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
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:
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:
import pandas as pd # we will talk more about pandas in our next lecture
df = pd.read_csv('./datasets/pokemon/Pokemon.csv')
df
# | 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:
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!
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:
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:
pikachu.trainer.age
10
list(pikachu.trainer.pokemons_list)
[Pokemon[802], Pokemon[801]]
list(pikachu.trainer.pokemons_list)[1].name
'pikachu'
We can also simply update the database using the created objects:
pikachu.age
6
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
pikachu.age
110
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:
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:
[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"
['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:
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"
194
[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]
['MewtwoMega Mewtwo Y']
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:
# 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)
# 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)