python之sqlite3模块
#!/usr/bin/env python3.7
#coding:utf-8
import sqlite3
conn = sqlite3.connect('test.db') # 初始化数据库,打开或创建数据库文件
print("Opened database successfully")
# sqlite3操作sqlite数据库之创建数据表
import sqlite3
conn = sqlite3.connect('test.db') # 初始化数据库,打开或创建数据库文件
print("Opened database successfully")
c = conn.cursor() #获取游标
# 创建数据表
sql ="CREATE TABLE COMPANY (ID INT PRIMARY KEY NOT NULL,\
NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL);"
c.execute(sql) #执行SQL语句:创建数据表
conn.commit() #事务提交:让操作生效
c.close() #关闭游标
conn.close() #关闭连接
print("建表成功")
# sql1 ='''
# create table company1
# (id int primary key not null,
# name text not null,
# age int not null,
# address char(50),
# salary real); ''' # 当是sql串时可以用'''来包裹
#
# sqlite3操作sqlite数据库之插入数据
import sqlite3
conn = sqlite3.connect('test.db')
c = conn.cursor()
# 插入数据
c.execute("INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (1, 'Paul', 32, 'California', 20000.00 )");
c.execute("INSERT INTO COMPANY1 (ID,NAME,AGE,ADDRESS,SALARY) \
VALUES (2, 'Allen', 25, 'Texas', 15000.00 )");
conn.commit()
print ("Records created successfully")
c.close() #关闭游标
conn.close() #关闭连接
# '''
''' # sqlite3操作sqlite数据库之查询数据
import sqlite3
conn = sqlite3.connect('test.db')
c = conn.cursor()
# 数据查询
sql = "SELECT id, name, address, salary from COMPANY1"
cursor = c.execute(sql) # 执行完毕后返回的结果默认以元组显示
# for row in cursor: # 等同于 for row in c:
# print ("ID = ", row[0]) # 循环取第1列
# print ("NAME = ", row[1]) # 循环取第2列
# print ("ADDRESS = ", row[2]) # 循环取第3列
# print ("SALARY = ", row[3], "\n") # 循环取第4列
# dataOne = c.fetchone() # 获取一条记录
# print(dataOne) # 打印数据 (1, 'Paul', 'California', 20000.0)
# print(dataOne[1]) # 打印数据 Paul
datas = cursor.fetchall() # # 获取所有记录列表 等同于datas = c.fetchall()
print(datas) # [(1, 'Paul', 'California', 20000.0), (2, 'Allen', 'Texas', 15000.0)]
print(datas[1]) # 取第二条查询的所有字段记录 (2, 'Allen', 'Texas', 15000.0)
print(datas[1][1]) # 取第二条查询的第二个字段的记录 Allen
for data in datas:
print(data[1]) # 取第二个字段的所有值 Paul Allen
print("Operation done successfully")
c.close() #关闭游标
conn.close() #关闭连接
# sqlite3操作sqlite数据库之修改数据
import sqlite3
db = sqlite3.connect('test.db')
c = db.cursor() #获取游标
sql = "update company set id=1 where id=10"
c.execute(sql) # 执行语句
db.commit() # 提交事务,使修改的数据生效
sql1 = "select * from company"
a = c.execute(sql1) # 执行语句1
for row in a: # 等同于 for row in c:
print ("ID = ", row[0]) # 循环取第1列
print ("NAME = ", row[1]) # 循环取第2列
print ("ADDRESS = ", row[2]) # 循环取第3列
print ("SALARY = ", row[3], "\n") # 循环取第4列
print("Operation done successfully")
c.close() # 关闭游标
db.close() # 关闭连接