Python 連接 SQLite
記錄自己學習Python的代碼。
每天進步一點點,目標距離縮小點。
#! /usr/bin/python3
#-*- coding: utf-8 -*-
import sqlite3
# 在 磁盤上創建數據庫
# with sqlite3.connect('\\workspace\\PycharmProjects\\DB\\sqlite\\test1.db') as conn:
# 在內存中 創建數據庫
# 可以通過使用with語句來省去顯示的調用close方法關閉連接和遊標
with sqlite3.connect(':memory:') as conn:
# conn 數據庫連接對象,並返回數據庫連接
print("Opened database successfully")
# 創建遊標
c = conn.cursor()
# 執行SQL語句
c.execute('''CREATE TABLE COMPANY
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL);''')
print("Table created successfully")
# 提交事務
# conn.commit()
c.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Paul', 32, 'California', 20000.00 )")
# sqlite3 提供兩種佔位符(? 和命名佔位符)
c.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (?, ?, ?, ?, ? )", (2, 'Allen', 25, 'Texas', 15000.00))
# c.execute("INSEprint("Operation done successfully")RT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (2, 'Allen', 25, 'Texas', 15000.00 )")
c.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (3, 'Teddy', 23, 'Norway', 20000.00 )")
c.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 )")
print("修改記錄行數 :", conn.total_changes)
# conn.commit()
print("Records created successfully")
cursor = c.execute("SELECT id, name, address, salary from COMPANY")
for row in cursor:
# print("ID = ", row[0], ",NAME = ", row[1], ",ADDRESS = ", row[2], ",SALARY = ", row[3], "\n")
print("ID = %s,NAME = %s,ADDRESS = %s,SALARY = %d\n" % (row[0], row[1], row[2], row[3]))
控制檯輸出:
Opened database successfully
Table created successfully
修改記錄行數 : 4
Records created successfully
ID = 1,NAME = Paul,ADDRESS = California,SALARY = 20000
ID = 2,NAME = Allen,ADDRESS = Texas,SALARY = 15000
ID = 3,NAME = Teddy,ADDRESS = Norway,SALARY = 20000
ID = 4,NAME = Mark,ADDRESS = Rich-Mond ,SALARY = 65000
Process finished with exit code 0