python之sqlite3模块

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()  # 关闭连接

猜你喜欢

转载自blog.csdn.net/chunzhi128/article/details/126373459