python-3.x - 为什么我无法将我的 Python 脚本连接到我的 SQL 文件?
问题描述
您好,我尝试使用我的 Python 脚本将数据添加到我的 SQL 数据库,但它无法识别我的文件 SQL,也许我需要添加数据库和名称服务器,但我不知道该怎么做我的 Python 脚本:
import sqlite3
from datetime import datetime
connection_db=sqlite3.connect("MyDB.sql")
action_db=connection_db.cursor()
action_db.execute("""create table Peoples (ID int identity(1,1) primary key,"First Name" varchar(50) not null,"Last Name" varchar(50) not null,Age int not null,
City varchar(50) not null,"Register date" datetime not null)""") #This is for create the table in SQL file
action_db.execute('insert into Peoples values ('Paz','Leviim',20,'Rishon',\'{}\')'.format(datetime.now()))
connection_db.close()
所有这一切都不起作用,也许我需要在某个地方添加我之前创建的名称服务器和数据库,但我不知道如何......
解决方案
你需要做更多关于如何在 python 中使用 sqlite3 的功课。
查看与数据库路径相关的sqlite3 API 文档:
sqlite3. 连接(数据库[,超时,detect_types,isolation_level,check_same_thread,工厂,cached_statements,uri])
打开与 SQLite 数据库文件数据库的连接。默认情况下返回一个 Connection 对象,除非给出了自定义工厂。
database是一个类路径对象,给出要打开的数据库文件的路径名(绝对或相对于当前工作目录)。您可以使用 ":memory:" 打开与驻留在 RAM 中而不是磁盘中的数据库的数据库连接。
对于此代码,MyDB.sql
必须位于执行 python 脚本的同一路径中。(如果不存在这样的文件,将创建一个)。
此处引用不匹配:
action_db.execute('insert into Peoples values ('Paz','Leviim',20,'Rishon',\'{}\')'.format(datetime.now()))
其他问题:
- 如果表存在,创建表将失败
- 没有足够的论据插入
- 没有提交
推荐阅读
- android - Android Gradle:更改每种构建类型的版本代码
- notepad++ - 如何使用记事本++将字符串括在单引号中
- ruby-on-rails - send_data 文件名中的编码问题(ruby-on-rails)
- html - 如何更改 XS(超小)引导程序中的“高度”元素值?
- python - CSV 到邻接矩阵
- java - 如何修复允许重复的 HashSet?
- python - 如何在一个 DataFrame 中组合字符串
- git - Show branches not up to date with other branch
- rust - 如何在 actix-web 中将查询字符串传递给 HttpRequest.url_for()?
- typescript - ReferenceError:找不到变量:TextEncoder