python怎么创建SQLite3数据库,并在该数据库中创建一个表来存储通讯录记录。

时间: 2024-05-01 13:17:34 浏览: 14
您好,可以通过Python内置的sqlite3模块来创建SQLite3数据库,并在该数据库中创建表来存储通讯录记录。以下是一个示例代码: ```python import sqlite3 # 创建数据库连接 conn = sqlite3.connect('addressbook.db') # 创建游标对象 cursor = conn.cursor() # 创建表 cursor.execute('''CREATE TABLE contacts (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, phone TEXT, email TEXT)''') # 关闭游标和数据库连接 cursor.close() conn.close() ``` 此代码将创建一个名为addressbook.db的SQLite3数据库,并在其中创建一个名为contacts的表,该表包含id、name、phone和email四个字段。您可以根据需要更改此表的字段和数据类型。
相关问题

python中利用sqlite数据库通讯录管理程序 有界面

Python中可以使用sqlite数据库来实现通讯录管理程序,并且可以为其添加一个界面。 首先,我们需要导入sqlite模块,并连接到数据库。可以使用connect方法来连接到数据库文件,如果不存在则会创建一个新的数据库文件。然后,使用cursor方法创建一个游标对象,可以通过游标对象来执行SQL语句。 接下来,我们可以创建一个表来存储通讯录的信息。可以使用execute方法执行CREATE TABLE语句来创建表。在表中,可以定义不同的列来存储不同的字段,比如姓名、电话号码等。 之后,在界面中,可以通过输入信息的方式向数据库添加新的联系人。可以使用INSERT语句将联系人的信息插入到表中。可以使用execute方法执行SQL语句,并使用commit方法提交更改。 同时,我们还可以提供修改和删除联系人的功能。使用UPDATE语句可以修改表中的数据,通过设置WHERE条件来定位需要修改的联系人。使用DELETE语句可以删除表中的数据,也可以通过设置WHERE条件来定位需要删除的联系人。 最后,还可以提供查询功能。可以使用SELECT语句来从表中检索出符合条件的联系人信息。可以使用execute方法执行SELECT语句,并使用fetchall方法获取查询结果。 通过以上的步骤,我们可以完成一个利用sqlite数据库的通讯录管理程序,并且为其添加一个界面,用户可以通过界面来进行添加、修改、删除和查询联系人的操作。

python编写一个基于SQLite3的通讯录管理系统

好的,以下是一个基于SQLite3的通讯录管理系统的Python代码: ```python import sqlite3 # 连接到数据库 conn = sqlite3.connect('contacts.db') # 创建联系人表 conn.execute('''CREATE TABLE IF NOT EXISTS CONTACTS (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT NOT NULL, PHONE TEXT NOT NULL, EMAIL TEXT);''') # 添加联系人 def add_contact(name, phone, email=''): conn.execute(f"INSERT INTO CONTACTS (NAME, PHONE, EMAIL) VALUES ('{name}', '{phone}', '{email}');") conn.commit() print("联系人添加成功!") # 查找联系人 def search_contact(name): cursor = conn.execute(f"SELECT * FROM CONTACTS WHERE NAME='{name}'") for row in cursor: print(f"ID: {row[0]}, 姓名: {row[1]}, 电话: {row[2]}, 邮箱: {row[3]}") # 修改联系人 def update_contact(id, name, phone, email=''): conn.execute(f"UPDATE CONTACTS SET NAME='{name}', PHONE='{phone}', EMAIL='{email}' WHERE ID='{id}'") conn.commit() print("联系人修改成功!") # 删除联系人 def delete_contact(id): conn.execute(f"DELETE FROM CONTACTS WHERE ID='{id}'") conn.commit() print("联系人删除成功!") # 显示所有联系人 def show_all_contacts(): cursor = conn.execute("SELECT * FROM CONTACTS") for row in cursor: print(f"ID: {row[0]}, 姓名: {row[1]}, 电话: {row[2]}, 邮箱: {row[3]}") # 关闭数据库连接 def close_connection(): conn.close() # 主函数 def main(): while True: print("===通讯录管理系统===") print("1. 添加联系人") print("2. 查找联系人") print("3. 修改联系人") print("4. 删除联系人") print("5. 显示所有联系人") print("0. 退出系统") choice = input("请输入要执行的操作:") if choice == '1': name = input("请输入姓名:") phone = input("请输入电话:") email = input("请输入邮箱(可选):") add_contact(name, phone, email) elif choice == '2': name = input("请输入要查找的联系人姓名:") search_contact(name) elif choice == '3': id = input("请输入要修改的联系人ID:") name = input("请输入姓名:") phone = input("请输入电话:") email = input("请输入邮箱(可选):") update_contact(id, name, phone, email) elif choice == '4': id = input("请输入要删除的联系人ID:") delete_contact(id) elif choice == '5': show_all_contacts() elif choice == '0': close_connection() print("谢谢使用,再见!") break else: print("输入有误,请重新输入!") if __name__ == '__main__': main() ``` 该程序中,我们首先创建了一个名为`contacts.db`的SQLite3数据库,用于存储联系人信息。然后我们定义了添加、查找、修改、删除、显示所有联系人以及关闭数据库连接等功能函数。最后,我们在主函数中通过循环获取用户输入的操作,并根据用户的选择执行相应的功能函数。

相关推荐

最新推荐

recommend-type

###对华为OD分布式操作系统的详细介绍

华为OD
recommend-type

2110220116吴骏博.py

2110220116吴骏博.py
recommend-type

基于Java的ApplicationPower快速项目生成脚手架设计源码

ApplicationPower项目生成脚手架设计源码:该项目基于Java开发,包含284个文件,主要使用Java和Shell语言。ApplicationPower是一个快速的项目生成脚手架,旨在帮助开发者快速搭建项目框架,包括创建项目结构、配置文件、开发环境等,提高开发效率。
recommend-type

基于MATLAB实现的OFDM经典同步算法之一Park算法仿真,附带Park算法经典文献+代码文档+使用说明文档.rar

CSDN IT狂飙上传的代码均可运行,功能ok的情况下才上传的,直接替换数据即可使用,小白也能轻松上手 【资源说明】 基于MATLAB实现的OFDM经典同步算法之一Park算法仿真,附带Park算法经典文献+代码文档+使用说明文档.rar 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2020b;若运行有误,根据提示GPT修改;若不会,私信博主(问题描述要详细); 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可后台私信博主; 4.1 期刊或参考文献复现 4.2 Matlab程序定制 4.3 科研合作 功率谱估计: 故障诊断分析: 雷达通信:雷达LFM、MIMO、成像、定位、干扰、检测、信号分析、脉冲压缩 滤波估计:SOC估计 目标定位:WSN定位、滤波跟踪、目标定位 生物电信号:肌电信号EMG、脑电信号EEG、心电信号ECG 通信系统:DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪、数字信号调制、误码率、信号估计、DTMF、信号检测识别融合、LEACH协议、信号检测、水声通信 5、欢迎下载,沟通交流,互相学习,共同进步!
recommend-type

基于MATLAB实现的imu和视觉里程计 kalman滤波器 进行融合+使用说明文档.rar

CSDN IT狂飙上传的代码均可运行,功能ok的情况下才上传的,直接替换数据即可使用,小白也能轻松上手 【资源说明】 基于MATLAB实现的imu和视觉里程计 kalman滤波器 进行融合+使用说明文档.rar 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2020b;若运行有误,根据提示GPT修改;若不会,私信博主(问题描述要详细); 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可后台私信博主; 4.1 期刊或参考文献复现 4.2 Matlab程序定制 4.3 科研合作 功率谱估计: 故障诊断分析: 雷达通信:雷达LFM、MIMO、成像、定位、干扰、检测、信号分析、脉冲压缩 滤波估计:SOC估计 目标定位:WSN定位、滤波跟踪、目标定位 生物电信号:肌电信号EMG、脑电信号EEG、心电信号ECG 通信系统:DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪、数字信号调制、误码率、信号估计、DTMF、信号检测识别融合、LEACH协议、信号检测、水声通信 5、欢迎下载,沟通交流,互相学习,共同进步!
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

【实战演练】MATLAB用遗传算法改进粒子群GA-PSO算法

![MATLAB智能算法合集](https://static.fuxi.netease.com/fuxi-official/web/20221101/83f465753fd49c41536a5640367d4340.jpg) # 2.1 遗传算法的原理和实现 遗传算法(GA)是一种受生物进化过程启发的优化算法。它通过模拟自然选择和遗传机制来搜索最优解。 **2.1.1 遗传算法的编码和解码** 编码是将问题空间中的解表示为二进制字符串或其他数据结构的过程。解码是将编码的解转换为问题空间中的实际解的过程。常见的编码方法包括二进制编码、实数编码和树形编码。 **2.1.2 遗传算法的交叉和
recommend-type

openstack的20种接口有哪些

以下是OpenStack的20种API接口: 1. Identity (Keystone) API 2. Compute (Nova) API 3. Networking (Neutron) API 4. Block Storage (Cinder) API 5. Object Storage (Swift) API 6. Image (Glance) API 7. Telemetry (Ceilometer) API 8. Orchestration (Heat) API 9. Database (Trove) API 10. Bare Metal (Ironic) API 11. DNS
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。