接続CRUDパイソンのSQL ServerデータベースはCRUDを達成達成接続PythonのSQL Serverデータベース

CRUDを達成接続PythonのSQL Serverデータベース

  ブリーフ

  サードパーティ製のモジュールとのpythonのMicrosoft SQL Serverデータベース接続、と呼ばれるpymssql(ドキュメントします。http://www.pymssql.org/en/stable/index.html)。pymssqlを行うには_mssqlモジュールパッケージは、以下に示すように、2つの間のインタフェース仕様DBAPIパイソンの関係を遵守することである基づいており、公式文書で見ることができます。

  1. pymssql SQL Serverデータベースのデータベースに接続されており、基本的な操作(公式API http://www.pymssql.org/en/stable/ref/pymssql.html)を達成するために

1)基本的な構文

コードをコピー
pymssqlインポート

サーバーのサーバーアドレスに=「187.32.43.13」#接続
ユーザー=「ルート」#接続アカウントの
パスワード=「1234」#接続パスワード

CONN = pymssql.connect(サーバー、ユーザー、パスワード、「 デフォルトのデータベース名に接続」)#GET接続
、カーソル= conn.cursor()#取得カーソル

#は、テーブルを作成します cursor.execute( "" " IF OBJECT_ID( '個人'、 'U-')はNOT NULLインクルードは、IS のDROP TABLE人数 CREATE TABLE人数( ID INT NOT NULL、 名前VARCHAR( 100) のSalesRep VARCHAR(100)、 PRIMARY KEY(ID) "" ")  

インサート複数行 cursor.executemany( 人VALUES(%のD、%S、%のS)」へ"挿入 〔(1 'ジョン・スミス、'ジョン・ドウ')、 (2、 'ジェーン・ドウ'、 'ジョー・犬')、 (3、「マイク・T.」、「サラH.」)]) あなたがtrueに提出保つために持っていない場合#あなたは自動的にあなたのデータ提出します)(コミットを呼び出す必要があり conn.commit() クエリデータ cursor.execute(「SELECT *者FROMのSalesRep =%sの」、「ジョン・ドウ」をデータを介して、#(タプル)モードに保存されている1 行= cursor.fetchone() 一方、行: 印刷( "ID =%のDは、%S =名" %(行[0]、行[1])) 行= cursor.fetchone()


(タプルに格納されている)データモード2から#
カーソルの行のために:
プリント(「R&LT行=%」%(行))


ディクショナリに格納されている)を介してデータ#
#カーソル= CONN カーソルas_dict = )#1 #カーソルEXECUTE '人FROM SELECT * WHEREのSalesRep = %S ' 'ジョン・ドウ' のための#カーソル:#1 プリント"ID = %dを、NAME = %S " [ 'ID' ]、[ '名前' ]))#の#1 CONN 近いです()
#は、接続クローズ
はconn.close() 

注:いつでも、次の接続時に、データベース操作は、カーソルオブジェクトが表示され、一度だけ実行されています

コードをコピー

2)同時に、あなたは別の文法を使用することができた場合:カーソルとの接続接続を避けるためにシャットダウンし、手動で

コードをコピー
pymssqlインポート

サーバー=サーバーのアドレスを「187.32.43.13」#接続
ユーザー=「ルート」#接続アカウントの
パスワード=「1234」#接続パスワード

pymssql.connect(サーバー、ユーザー、パスワードを入力して 、「 あなたは、デフォルトのデータベース名を接続する」)などコネティカット:
    カーソルAS conn.cursor(as_dict =真)とします。#ストアデータ辞書
        cursor.execute( '名FROMのSalesRep SELECT * =%のS'、 'ジョン・ドウ') カーソル内の行のための
            印刷(「IDを=%D、名前=%S 「%(行[ 'ID']、行[ '名前']))
コードをコピー

3)ストアドプロシージャを呼び出します。

コードをコピー
:pymssql.connect(サーバー、ユーザー、パスワード、 "tempdbの")でCONNなどで
    カーソルとしてconn.cursor(as_dict =真)と:
        cursor.execute( ""」
        CREATE PROCEDURE FindPersonは
            )VARCHAR(100 @name 
        AS BEGIN 
            SELECT *名前= @name者FROM 
        END 
        ") "" 
        cursor.callproc( 'FindPerson'、( 'ジェーンドゥ'))
        カーソル内の行の
            印刷(" ID =%dを、NAME =%S」%(行[ 'ID']、行[ '名前']))
コードをコピー

 

    2._mssql连接sql server数据库并实现操作(官方api  http://www.pymssql.org/en/stable/ref/_mssql.html)

1)基本的な構文:

コードをコピー
輸入_mssql 
#创建连接
CONN = _mssql.connect(サーバー= 'SQL01'、ユーザー= 'ユーザー'、パスワード= 'パスワード'、\ 
    データベース= 'MyDatabaseという')
プリント(conn.timeout)
プリント(conn.login_timeout) 创建テーブル conn.execute_non_query( '(IDのINT、名前のVARCHAR(100))TABLE人数をCREATE') インサート数据の conn.execute_non_query( "1(人のVALUES INTO INSERT、 'ジョン・ドウ')") conn.execute_non_query( "INSERT INTOを人のVALUES(2、 'ジェーン・ドウ') ") 查询操作 conn.execute_query( 'SELECT * FROM人のSalesRep =%s'は、 'ジョン・ドウ') CONNの行のための: プリント" ID =%dを、NAME = %S」%(行[ 'ID']、[ 'name'を行]) #查询数量(数) "の従業員FROM SELECT COUNT(* numemployees = conn.execute_scalar()") #查询一条数据 conn.execute_query(」SELECT * FROM EMPL WHERE IDのIN(%sの)」、(タプル(xrangeの(4)))) employeedata = conn.execute_row(13 "ID =%dの従業員SELECT * FROM") 带参数查询的几个例子: conn.execute_query(13 'EMPL FROM WHERE ID =%dのSELECT *') conn.execute_query ( 'ジョン・ドウ' EMPL名=%sからSELECT * ') conn.execute_query( 'SELECT * FROM EMPL ID IN(%S)'、((5,6))) 「conn.execute_query( SELECT * EMPL FROM WHERE名%s'は'Jの%')LIKE conn.execute_query( 'EMPL SELECT * FROM WHERE名=%(名)Sと市=%(市)s'は、\ { '名前': 'ジョン・ドウ」、 '都市': 'どこ'}) conn.execute_query( 'CUSTのSalesRep =%Sと(%S内のID SELECT * FROM)'、\ ( 'ジョン・ドウ'、(1、2、3) )) conn.execute_query(」* WHERE ID EMPL SELECT IN率(%S)」から、\ (タプル([3 ,. 5 ,. 7 ,. 11]))) 接続を閉じます conn.close()
コードをコピー

 

Githubの上にホストされているpymssqlます。https://github.com/pymssql

  ブリーフ

  サードパーティ製のモジュールとのpythonのMicrosoft SQL Serverデータベース接続、と呼ばれるpymssql(ドキュメントします。http://www.pymssql.org/en/stable/index.html)。pymssqlを行うには_mssqlモジュールパッケージは、以下に示すように、2つの間のインタフェース仕様DBAPIパイソンの関係を遵守することである基づいており、公式文書で見ることができます。

  1. pymssql SQL Serverデータベースのデータベースに接続されており、基本的な操作(公式API http://www.pymssql.org/en/stable/ref/pymssql.html)を達成するために

1)基本的な構文

コードをコピー
pymssqlインポート

サーバーのサーバーアドレスに=「187.32.43.13」#接続
ユーザー=「ルート」#接続アカウントの
パスワード=「1234」#接続パスワード

CONN = pymssql.connect(サーバー、ユーザー、パスワード、「 デフォルトのデータベース名に接続」)#GET接続
、カーソル= conn.cursor()#取得カーソル

#は、テーブルを作成します cursor.execute( "" " IF OBJECT_ID( '個人'、 'U-')はNOT NULLインクルードは、IS のDROP TABLE人数 CREATE TABLE人数( ID INT NOT NULL、 名前VARCHAR( 100) のSalesRep VARCHAR(100)、 PRIMARY KEY(ID) "" ")  

インサート複数行 cursor.executemany( 人VALUES(%のD、%S、%のS)」へ"挿入 〔(1 'ジョン・スミス、'ジョン・ドウ')、 (2、 'ジェーン・ドウ'、 'ジョー・犬')、'ジョン・ドウ')、 (3、 'マイク・T.'、 'サラH.')]) あなたがtrueに提出保つために持っていない場合#あなたは自動的にあなたのデータ提出します)(コミットを呼び出す必要があり conn.commit() クエリデータ cursor.execute(「SELECT *者FROMのSalesRep =%sの」、「ジョン・ドウ」をデータを介して、#(タプル)モードに保存されている1 行= cursor.fetchone() 一方、行: 印刷( "ID =%のDは、%S =名" %(行[0]、行[1])) 行= cursor.fetchone()


(タプルに格納されている)データモード2から#
カーソルの行のために:
プリント(「R&LT行=%」%(行))


ディクショナリに格納されている)を介してデータ#
#カーソル= CONN カーソルas_dict = )#1 #カーソルEXECUTE '人FROM SELECT * WHEREのSalesRep = %S ' 'ジョン・ドウ' のための#カーソル:#1 プリント"ID = %dを、NAME = %S " [ 'ID' ]、[ '名前' ]))#の#1 CONN 近いです()
#は、接続クローズ
はconn.close() 

注:いつでも、次の接続時に、データベース操作は、カーソルオブジェクトが表示され、一度だけ実行されています

コードをコピー

2)同時に、あなたは別の文法を使用することができた場合:カーソルとの接続接続を避けるためにシャットダウンし、手動で

コードをコピー
pymssqlインポート

サーバー=サーバーのアドレスを「187.32.43.13」#接続
ユーザー=「ルート」#接続アカウントの
パスワード=「1234」#接続パスワード

pymssql.connect(サーバー、ユーザー、パスワードを入力して 、「 あなたは、デフォルトのデータベース名を接続する」)などコネティカット:
    カーソルAS conn.cursor(as_dict =真)とします。#ストアデータ辞書
        cursor.execute( '名FROMのSalesRep SELECT * =%のS'、 'ジョン・ドウ') カーソル内の行のための
            印刷(「IDを=%D、名前=%S 「%(行[ 'ID']、行[ '名前']))
コードをコピー

3)ストアドプロシージャを呼び出します。

コードをコピー
:pymssql.connect(サーバー、ユーザー、パスワード、 "tempdbの")でCONNなどで
    カーソルとしてconn.cursor(as_dict =真)と:
        cursor.execute( ""」
        CREATE PROCEDURE FindPersonは
            )VARCHAR(100 @name 
        AS BEGIN 
            SELECT *名前= @name者FROM 
        END 
        ") "" 
        cursor.callproc( 'FindPerson'、( 'ジェーンドゥ'))
        カーソル内の行の
            印刷(" ID =%dを、NAME =%S」%(行[ 'ID']、行[ '名前']))
コードをコピー

 

    2._mssql连接sql server数据库并实现操作(官方api  http://www.pymssql.org/en/stable/ref/_mssql.html)

1)基本的な構文:

コードをコピー
import _mssql
# 创建连接
conn = _mssql.connect(server='SQL01', user='user', password='password', \
    database='mydatabase')
print(conn.timeout)
print(conn.login_timeout) # 创建table conn.execute_non_query('CREATE TABLE persons(id INT, name VARCHAR(100))') # insert数据 conn.execute_non_query("INSERT INTO persons VALUES(1, 'John Doe')") conn.execute_non_query("INSERT INTO persons VALUES(2, 'Jane Doe')") # 查询操作 conn.execute_query('SELECT * FROM persons WHERE salesrep=%s', 'John Doe') for row in conn: print "ID=%d, Name=%s" % (row['id'], row['name']) #查询数量count() numemployees = conn.execute_scalar("SELECT COUNT(*) FROM employees") # 查询一条数据 employeedata = conn.execute_row("SELECT * FROM employees WHERE id=%d", 13) # 带参数查询的几个例子: conn.execute_query('SELECT * FROM empl WHERE id=%d', 13) conn.execute_query('SELECT * FROM empl WHERE name=%s', 'John Doe') conn.execute_query('SELECT * FROM empl WHERE id IN (%s)', ((5, 6),)) conn.execute_query('SELECT * FROM empl WHERE name LIKE %s', 'J%') conn.execute_query('SELECT * FROM empl WHERE name=%(name)s AND city=%(city)s', \ { 'name': 'John Doe', 'city': 'Nowhere' } ) conn.execute_query('SELECT * FROM cust WHERE salesrep=%s AND id IN (%s)', \ ('John Doe', (1, 2, 3))) conn.execute_query('SELECT * FROM empl WHERE id IN (%s)', (tuple(xrange(4)),)) conn.execute_query( 'WHERE ID(%s内のEMPL SELECT * FROM)'、\ (tuple([3, 5, 7, 11]),)) #关闭连接 はconn.close()
コードをコピー

 

Githubの上にホストされているpymssqlます。https://github.com/pymssql

おすすめ

転載: www.cnblogs.com/fyly/p/11074460.html