### 1 ショートカットメソッドを使う

`Connection` オブジェクトの非標準的なメソッド `execute`, `executemany`, `executescript` を使うことで、 (しばしば余計な) `Cursor` オブジェクトをわざわざ作り出さずに済むので、 コードをより簡潔に書くことができます。`Cursor` オブジェクトは暗黙裡に 生成されショートカットメソッドの戻り値として受け取ることができます。この方法を 使えば、 SELECT 文を実行してその結果について反復することが、 `Connection` オブジェクトに対する呼び出し一つで行なえます。

    import sqlite3

    persons = [
        ("Hugo", "Boss"),
        ("Calvin", "Klein")
        ]

    con = sqlite3.connect(":memory:")

    # Create the table
    con.execute("create table person(firstname, lastname)")

    # Fill the table
    con.executemany("insert into person(firstname, lastname) values (?, ?)", persons)

    # Print the table contents
    for row in con.execute("select firstname, lastname from person"):
        print row

    # Using a dummy WHERE clause to not let SQLite take the shortcut table deletes.
    print "I just deleted", con.execute("delete from person where 1=1").rowcount, "rows"