python連線SQLServer資料庫建立資料表同時為每個欄位加上對應的中文註釋資訊
阿新 • • 發佈:2019-01-31
今天應產品那邊的需求更改,需要在原始的建立資料表的指令碼中加入註釋這一項,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]
學習了!