首页 > 解决方案 > 为什么我无法将我的 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-3.xsqlite

解决方案


你需要做更多关于如何在 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()))

其他问题:

  • 如果表存在,创建表将失败
  • 没有足够的论据插入
  • 没有提交

推荐阅读