今天应产品那边的需求更改,需要在原始的创建数据表的脚本中加入注释这一项,SQLServer数据库其实我是很不熟的,这一段时间完全是因为项目的缘故才会比较多的接触到这一块内容,学习一下觉得挺好的。之前的创建表的脚本写的也是很low的,当然现在也是比较low的,但是实现需求为主吧,后期再做调整。
下午查了很多资料,网上关于这个讲的博客也是很多的,可能是自己悟性太低了,大多都是告诉你命令是什么,没有一个系统的例子,我这里经过实践,写了一个python版本的小Demo放上来,一起学习一下吧,下面是具体的实践:
#!usr/bin/env python
# encoding:utf-8
'''
__Author__:沂水寒城
功能: SQLServer数据库表创建同时为每个字段添加相应的注释
'''
import sys
import time
import pymssql
reload(sys)
sys.setdefaultencoding("utf-8")
def createTable(config_dict,table='data'):
'''
创建数据表,并添加对应字段的中文注释信息
'''
try:
connect=pymssql.connect(**config_dict)
cursor=connect.cursor()
cursor.execute("""
IF OBJECT_ID('%s', 'U') IS NOT NULL
DROP TABLE %s
CREATE TABLE %s (
PKID VARCHAR(200) NOT NULL,
DATA VARCHAR(3000) NULL,
PRIMARY KEY(PKID)
)
execute sp_addextendedproperty 'Description','数据主键','user','dbo','table',%s,'column','PKID'
execute sp_addextendedproperty 'Description','数据内容','user','dbo','table',%s,'column','DATA'
""" %(table,table,table,table,table))
connect.commit() #提交数据库事物操作
connect.close()
cursor.close()
print 'createTable SUCCESS!'
except Exception,e:
print 'createTable ERROR: ',e
if __name__=='__main__':
config_dict={
'user':'你的用户名',
'password':'你的密码',
'host':'你的数据库IP地址',
'database':'你的数据库名称'
}
createTable(config_dict,table='data')
字段的注释在下面这一条语句中被加入了:
execute sp_addextendedproperty 'Description','数据主键','user','dbo','table',%s,'column','PKID'
不同的数据字段只需要修改里面的注释内容(如:“数据主键”)和字段名称(如:“PKID”)即可,其他的都不需要做修改。
每次在网上查类似解决方法的时候都是比较喜欢“拿来主义”的,就是想有现成的例子可以让我直接拿过来用,毕竟实现是第一位嘛。 这里的代码感兴趣都是可以复制过去直接运行的。
结果如下:
createTable SUCCESS!
[Finished in 0.3s]
学习了!