code: # use SQLAlchemy to setup a simple sqlite db
  from sqlalchemy import (Column, Integer, MetaData, String, Table, column,
                          create_engine, select)
  
  engine = create_engine("sqlite:///:memory:")
  metadata_obj = MetaData()
  
  # create a toy city_stats table
  table_name = "city_stats"
  city_stats_table = Table(
      table_name,
      metadata_obj,
      Column("city_name", String(16), primary_key=True),
      Column("population", Integer),
      Column("country", String(16), nullable=False),
  )
  metadata_obj.create_all(engine)
  
  # insert some datapoints
  from sqlalchemy import insert
  
  rows = [
      {"city_name": "Toronto", "population": 2731571, "country": "Canada"},
      {"city_name": "Tokyo", "population": 13929286, "country": "Japan"},
      {"city_name": "Berlin", "population": 600000, "country": "Germany"},
  ]
  for row in rows:
      stmt = insert(city_stats_table).values(**row)
      with engine.connect() as connection:
          cursor = connection.execute(stmt)
          
  from llama_index import SQLDatabase
  
  sql_database = SQLDatabase(engine, include_tables=["city_stats"])
  
  
apis: llama_index.SQLDatabase
extract_api: [((176, 211), 'sqlalchemy.create_engine', 'create_engine', (['"""sqlite:///:memory:"""'], {}), "('sqlite:///:memory:')\n", (189, 211), False, 'from sqlalchemy import Column, Integer, MetaData, String, Table, column, create_engine, select\n'), ((227, 237), 'sqlalchemy.MetaData', 'MetaData', ([], {}), '()\n', (235, 237), False, 'from sqlalchemy import Column, Integer, MetaData, String, Table, column, create_engine, select\n'), ((1030, 1080), 'llama_index.SQLDatabase', 'SQLDatabase', (['engine'], {'include_tables': "['city_stats']"}), "(engine, include_tables=['city_stats'])\n", (1041, 1080), False, 'from llama_index import SQLDatabase\n'), ((416, 445), 'sqlalchemy.Column', 'Column', (['"""population"""', 'Integer'], {}), "('population', Integer)\n", (422, 445), False, 'from sqlalchemy import Column, Integer, MetaData, String, Table, column, create_engine, select\n'), ((381, 391), 'sqlalchemy.String', 'String', (['(16)'], {}), '(16)\n', (387, 391), False, 'from sqlalchemy import Column, Integer, MetaData, String, Table, column, create_engine, select\n'), ((469, 479), 'sqlalchemy.String', 'String', (['(16)'], {}), '(16)\n', (475, 479), False, 'from sqlalchemy import Column, Integer, MetaData, String, Table, column, create_engine, select\n'), ((847, 871), 'sqlalchemy.insert', 'insert', (['city_stats_table'], {}), '(city_stats_table)\n', (853, 871), False, 'from sqlalchemy import insert\n')]