1、sql_server插入
import pymssql #加載連接數據庫sql_server的模塊 connect = pymssql.connect('127.0.0.1', 'sa', '******', 'test') #設定變量connect 執行連接數據庫 分別是ip、用戶、密碼、數據庫選擇 cursor = connect.cursor() #設定變量cursor 創建光標 sql = "insert into c3(id, name, age) values ('12','ki','22');commit" #執行SQL語句,向表c3插入數據,SQL_server 語句後面需要接上commit 提交,否則無法提交到數據。 try: cursor.execute(sql) #如果沒有問題執行數據庫命令 except: connect.rollback() #如果語句報錯則滾回 cursor.close() #關閉光標 connect.close() #光標連接
2、sql_server 刪除
import pymssql connect = pymssql.connect('127.0.0.1', 'sa', '******', 'test') cursor = connect.cursor() sql = "delete from c3 where id = 12 ;commit" try: cursor.execute(sql) except: connect.rollback() cursor.close() connect.close()
3、sql_server 更新
import pymssql connect = pymssql.connect('127.0.0.1', 'sa', '******', 'test') cursor = connect.cursor() sql = "update c3 set name = 'kki',age = '33' where id = 22 ;commit" try: cursor.execute(sql) except: connect.rollback() cursor.close() connect.close()
4、變量傳入
import pymssql id1 = 23 name1 = "tre" age1 = 24 connect = pymssql.connect('127.0.0.1', 'sa', '******', 'test') cursor = connect.cursor() sql = "insert into c3(id, name, age) values ('%d', '%s', '%d');commit" % (id1, name1, age1) #變量傳入,使用%d 代表int類型、%s字符串類型,變量需要在commit之後傳入 try: cursor.execute(sql) except: connect.rollback() cursor.close() connect.close()
5、批量插入規律的數據
import pymssql i = 1 name = 'user' age = 24 connect = pymssql.connect('127.0.0.1', 'sa', '*******', 'test') cursor = connect.cursor() for j in range(10): sql = "insert into c3(id, name, age) values ('%d', '%s', '%d');commit" % (i, name+str(i), age) #插入數據的時候,i是int類型,需要轉換成字符串類型使用str(i) try: cursor.execute(sql) except: connect.rollback() i = i + 1 j = j + 1 cursor.close() connect.close()
6、批量修改
import pymssql connect = pymssql.connect('127.0.0.1', 'sa', '********', 'test') cursor = connect.cursor() sql = "select * from A8SD_GLDEPARTMENT where year = 2020 and ACCOUNTID = 001 and (oadepid = 1703065553569008174 OR oadepid = 3932086535711443527)" #查詢想要的數據轉換成變量 cursor.execute(sql) row = cursor.fetchall() #把查詢的結果轉換成list列, for i in row: #進行循環處理 #print(i[1], i[4], i[5]) #循環打印當前列的 1 、4、 5的值 sql1 = "update A8SD_GLDEPARTMENT set UFDEPID = '%s', UFDEPNAME = '%s' where ACCOUNTID <> 001 and oadepid = '%s';commit "% (i[4], i[5], i[1]) #對自己的數據表進行數據更新處理 try: cursor.execute(sql1) except: connect.rollback() cursor.close() connect.close()