Python操作sqlite 3データベース


文書ディレクトリ
  • sqliteデータベース
  • について
  • sqliteデータベースの特徴と利点
  • Pythonオペレーションデータベース
  • モジュールをインポートし、データベース
  • を使用する.
  • カーソルを作成してデータベース
  • を操作する
  • の例(接続はオフであってもよいが、挿入データはコミットしなければならないことを証明する)
  • .
  • 変数を用いてデータを挿入する
  • .
  • sqlite_を通過masterテーブルクエリーデータベース内のすべてのテーブル構造
  • sqliteデータベースについて
    sqliteデータベースの特徴と利点
  • 埋め込みデータベース、1つのデータベースはファイル
  • です.
  • リソースの消費量が低く、データ量が小さいと数百Kのメモリ
  • しか必要ありません.
  • リレーショナル・データベース、ほとんどのSQL標準
  • を実現
  • 動的で弱いタイプのSQL構文
  • を使用
  • Python標準ライブラリに付属するモジュール
  • Python操作データベース
    モジュールのインポートとデータベースの使用
    import sqlite3
    
    conn = sqlite3.connect('./test.db')
    #     ,    
    

    カーソルを作成してデータベースを操作
    cursor = conn.cursor()
    
    sql = 'create table students(id int primary key, name varchar(20) not null , age int not null)'
    cursor.execute(sql)  #       
    

    テーブルの作成にはコミットは必要ありませんが、データの挿入、削除にはコミットが必要です.
    conn.commit()
    

    カーソルとデータベースの接続を閉じるのを忘れないでください.
    cursor.close()
    conn.close()
    

    インスタンス(接続はオフにできますが、挿入データはコミットする必要があります)
    import sqlite3
    
    conn = sqlite3.connect('scan.db')
    cursor = conn.cursor()
    
    scan_sql = 'create table port(ip varchar(16),port varchar(5))'
    
    cursor.execute('insert into port values ("192.168.1.1",8080)')
    conn.commit()
    
    cursor.execute('select * from port')
    print(cursor.fetchall())
    

    変数を使用したデータの挿入
    import sqlite3
    
    conn = sqlite3.connect('scan.db')
    cursor = conn.cursor()
    
    sql = 'insert into port values(?,?)'
    cursor.execute(sql,['114.114.114.114',65535])
    conn.commit()
    
    cursor.execute('select * from port')
    print(cursor.fetchall())
    

    sqlite_経由masterテーブルクエリーデータベース内のすべてのテーブル構造
    cursor.execute('select * from sqlite_master')
    for i in cursor.fetchall():
        print(i)
    
    #  
    ('table', 'port', 'port', 2, 'CREATE TABLE port(ip varchar(16),port varchar(5))')
    ('table', 'qq', 'qq', 3, 'CREATE TABLE qq(id int,num varchar(10),phone varchar(12),name varchar(20))')