为什么我无法将Python脚本连接到SQL文件?

时间:2019-01-26 20:48:30

标签: python-3.x sqlite

您好,我尝试使用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()

所有这些都不起作用,也许我需要在某个地方添加之前创建的名称服务器和数据库,但是我不知道如何...

1 个答案:

答案 0 :(得分:0)

您需要做更多关于如何在python中使用sqlite3的作业。

查看sqlite3 API doc,因为它与数据库路径有关:

  

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()))

其他问题:

    如果表存在,
  • 创建表将失败
  • 没有足够的参数要插入
  • 不提交