本文目錄一覽:
- 1、關於python與sql server2000的數據庫連接
- 2、python3 連接 sql server 2014
- 3、Python3連sqlsver沒反應,怎麼破,每次到連接操作就直接卡住了
- 4、Python如何連接Sql anywhere
- 5、python3 連接SQL pymssql
- 6、python怎麼連接SQL SERVER?
關於python與sql server2000的數據庫連接
用 pyodbc 可以實現
可以參考:
====
con = pymssql.connect(host=’192.168.13.122′,user=’sa’,password=”,database=’YOUR_DB_NAME_HERE’)
cur = con.cursor()
cur.execute(“Your_T_SQL_HERE”)
rows = cur.fetchall()
print rows
不過pymssql讀ntext字段的時候會出問題的
python3 連接 sql server 2014
真巧,剛剛做過,鏈接的也是MSSQL2014的數據庫,並且測試是成功的
import pymssql
conn=pymssql.connect(host=’主機名或IP’,user=’數據庫用戶名’,password=’數據庫用戶密碼’,database=’數據庫名’,charset=’utf8′)
cursor =conn.cursor()
if not cursor:
raise(NameError,”連接數據庫失敗”)
strsql=”select * from 表”
try:
cursor.execute(strsql) #執行SQL語句
conn.commit() #修改數據後提交事務
except:
print(0,”錯誤:”+strsql)
pass
finally:
print(l,”成功!”)
pass
cursor.close() #關閉對象
conn.close() #關閉數據庫連接
import pymssql 這句話必須有,主要是pymssql 必須要安裝上,可以使用pip list來查看是否安裝
Python3連sqlsver沒反應,怎麼破,每次到連接操作就直接卡住了
以前用php連mssqy時也經常出現中文亂碼(中文變問號)的問題,那時就明白是編碼沒設置好導航,現在的Python連mssql數據庫也同樣出現這問題,問題一樣,解決的辦法當然也會相似,現在我們來看看解決方法。
python一直對中文支持的不好,最近老遇到編碼問題,而且幾乎沒有通用的方案來解決這個問題,但是對常見的方法都試過之後,發現還是可以解決的,下面總結了常用的支持中文的編碼問題(這些方法中可能其中一個就能解決問題,也可能是多個組合)。
(1)、首先,要保證文件的開頭要加上編碼設置來說明文件的編碼
代碼如下
複製代碼
#encoding=utf-8
(2)、然後,在連接數據的連接參數里加上字符集說明查詢出的結果的編碼,這個不加的後果可能是查詢出的漢字字符都是問號
代碼如下
複製代碼
conn=pymssql.connect(server=’.’,user=”, password=”,database=’MyTest’,charset=’utf8′)
(3)、設置python系統的默認編碼(對於文件來說,這招幾乎屢試不爽,呵呵~~)
代碼如下
複製代碼
import sys
reload(sys)
sys.setdefaultencoding(‘utf8’)
注意:上述編碼是“utf8”,而不是“utf-8”,我也沒弄明白,大部分情況下,這個無所謂的,但是這裡我試了必須要是“utf8”
一個簡單的完整的python連接mssqlserver的例子如下(得安裝pymssql包):
代碼如下
複製代碼
#encoding:utf8
import sys
reload(sys)
sys.setdefaultencoding(‘utf8’)
import pymssql
try:
conn=pymssql.connect(server=’.’,user=”, password=”,database=’MyTest’,charset=’utf8′)
sql=”select * from UserInfo”
cur=conn.cursor()
cur.execute(sql)
data=cur.fetchall()
conn.close()
print data
except Exception,e:
print e
運行結果如下:
代碼如下
複製代碼
[(u’20093501′, u’xb9xf9xbexb8′, u’u7537 ‘, 35, u’xb4xf3xcfxc0’),
(u’20093502′, u’xbbxc6xc8xd8′, u’u5973 ‘, 34, u’xc3xc0xc5xae’),
(u’20093503′, u’xc1xeexbaxfcxb3xe5′, u’u7537 ‘, 25, u’2Bxc7xe0xc4xea’),
(u’20093504′, u’xc8xcexd3xafxd3xaf’, u’u5973 ‘, 24, u’xc6xafxc1xc1’)]
[Finished in 0.2s]
雖然擺脫了問號和亂碼的困擾,但這仍不是我們想要的結果,但這個確實是正確的,因為結果是utf8編碼。這個現象確實詭異,請教了許多高手,得知,最好的結果就是逐個字段查詢,才能顯示中文,整個查詢的話,會以utf8的格式顯示出來。
上述代碼中第14行data是整個查詢的結果,如果指定某個具體的字段,如print data[0][2](表示取查詢結果的第一行第三列的字段的值),則會輸出中文。
其實不僅僅是mssqlserver數據庫,mysql(需下載MySQLdb包)、sqllite(python自帶的文件數據庫)、mongodb(需下載PyMongo包)等或者是普通文本文件也是類似的解決方案。
Python如何連接Sql anywhere
1、基於文本文檔(Markdown) 設想好需要的基本需要的表、字段、類型;
2、使用 Rails Migration 隨着功能的開發逐步創建表;
3、隨着細節功能的開發、需求,逐步增加字段,刪除字段,或者調整字段類型;
4、第一個 Release 的時候清理 Migrations 合併成一個;
5、隨着後期的改動,逐步增加、修改、刪除字段或表。
python3 連接SQL pymssql
conn = pymysql.connect(host=’10.10.10.10′,port = 3306,user=’root’,passwd=’passwd’,db =’中文’,charset=”utf8″)
這樣就可以了
python怎麼連接SQL SERVER?
下文將教您如何創建MySQL存儲過程,並附上了詳細的步驟,如果您在MySQL存儲過程方面遇到過問題,不妨一看,對您會有所幫助。
–選擇數據庫
mysql use test;
Database changed
–創建示例用表
mysql create table zzm(
– id int primary key auto_increment,
– name varchar(10)
– );
Query OK, 0 rows affected (0.20 sec)
mysql insert into zzm(name) values(‘zhang’);
Query OK, 1 row affected (0.08 sec)
mysql insert into zzm(name) values(‘zeng’);
Query OK, 1 row affected (0.05 sec)
mysql insert into zzm(name) values(‘ming’);
Query OK, 1 row affected (0.05 sec)
mysql select * from zzm;
+—-+——-+
| id | name |
+—-+——-+
| 1 | zhang |
| 2 | zeng |
| 3 | ming |
+—-+——-+
3 rows in set (0.00 sec)
–更改命令結束符(因為在procedure中經常要用到默認的命令結束符–分號(;)
–所以在創建procedure的時候需要定義新的結束符以說明創建procedure的命令結束)
–這裡將結束符號改成美元符號–$
mysql delimiter $
–創建MySQL存儲過程p3
–此存儲過程的過程名是p3,該過程包含兩個參數,
–一個是輸入類型的(以IN標示),參數名是nameid,類型是int,
–一個是輸出類型的(以OUT標示),參數名是person_name,類型是varchar(10)
–此存儲過程的作用是查詢出zzm表的全部內容,會輸出結果集(data set),然後
–再查詢表中記錄的ID是nameid的字段name,將其輸出到第二個輸出類型的參數裡面,這個查詢
–不會輸出結果集。
mysql create procedure p3(IN nameid int, OUT person_name varchar(10))
– begin
– select * from test.zzm;
– select zzm.name into person_name from test.zzm where zzm.id = nameid;
– end
– $
Query OK, 0 rows affected (0.00 sec)
原創文章,作者:CPLC7,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/130087.html