import pyodbc
cnxn = pyodbc.connect('DRIVER={SQL Server};' +
'SERVER=' + data.dbConnection()[0] + ';' +
'DATABASE=' + data.dbConnection()[3] + ';' +
'UID=' + data.dbConnection()[1] + ';' +
'PWD=' + data.dbConnection()[2])
cursor = cnxn.cursor()
cursor.execute(
"""
CREATE TABLE Persons
(
P_Id int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
"""
)
cursor.close()
cnxn.close()
上面的代码成功连接到数据库。该脚本在运行时也不会返回任何错误,但是当我去检查表是否已创建时,SQL DB中根本没有表。
为什么没有创建表格,为什么没有返回错误?
答案 0 :(得分:4)
我认为你需要在close()之前添加“cnxn.commit()”命令。多数民众赞成如何将程序中所做的更改保存到数据库
答案 1 :(得分:3)
MS SQL Server中的每个用户都有一个与之关联的默认架构。配置详细信息取决于SQL Server的版本,并在企业管理器中配置。我不认为SQL Management studio有GUI可见性。
您可以尝试使用以下方法查询它:
select default_schema_name
, type_desc
, name
, create_date
from sys.database_principals
order by default_schema_name
, type_desc
, name
您还可以通过在模式名称前加上表名,即
,在特定模式中显式创建表create myschema.mytable as...