# -*- encoding: utf-8 -*-

import pymssql

# server 数据库服务器名称或IP
# user 用户名
# password 密码
# database 数据库名称

server = "."
user = "***"
password = "***"
database = "***"
conn = pymssql.connect(server, user, password, database)
cursor = conn.cursor()


# 新建表


def CreateTable():
sql = """
IF OBJECT_ID('persons', 'U') IS NOT NULL DROP TABLE persons
CREATE TABLE persons (id INT NOT NULL identity(1,1),name VARCHAR(100),age int,PRIMARY KEY(id))
"""
cursor.execute(sql)
conn.commit()


# 批量插入数据
def InsertData():
sql = "INSERT INTO persons(name,age) VALUES (%s, %d)"
data = [
('zhangsan', 15),
('lisi', 16),
('wangwu T.', 17)]
cursor.executemany(sql, data)
# 如果没有指定autocommit属性为True的话就需要调用commit()方法
conn.commit()


# 删除操作
def DeleteData():
sql = "delete persons where id=5"
cursor.execute(sql)
conn.commit()


# 查询操作
def SelectTable():
sql = "SELECT * FROM sys_user"
cursor.execute(sql)
row = cursor.fetchone()
while row:
print("ID=%s, Name=%s" % (row[0], row[1]))
row = cursor.fetchone()
# 也可以使用for循环来迭代查询结果
# for row in cursor:
# print("ID=%d, Name=%s" % (row[0], row[1]))


# 修改操作
def UpdateData():
sql = "update [persons] set name ='Python1' where id<3"
cursor.execute(sql)
conn.commit()


def main():
# CreateTable()
# InsertData()
# DeleteData()
# UpdateData()
SelectTable()
conn.close()


if __name__ == '__main__':
main()