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()
The above code successfully connects to the database. The script also returns no errors when run, however when I go to check if the table was created, there are no tables in the SQL DB at all.
Why is no table created and why is no error returned?
We can also use Python with SQL. In this article, we will learn how to connect SQL with Python using the 'MySQL Connector Python module.
I think you need to add cnxn.commit()
command just before the cnxn.close()
. Thats how you save the changes made in the program to the database
Each user in MS SQL Server has a default schema associated with it. The configuration details depend on the version of SQL server and it is configured in the Enterprise Manager. I don't think SQL Management studio has GUI visibility into it.
You can try querying for it using:
select default_schema_name
, type_desc
, name
, create_date
from sys.database_principals
order by default_schema_name
, type_desc
, name
You can also explicitly create tables in a particular schema by prefixing schema name to the table name, i.e.
create myschema.mytable as...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With