sql server與python連線常用到的命令
阿新 • • 發佈:2018-12-27
1、在sql server中建立表:
create table [dbsimple].[dbo].[cangku]
(id int identity(1,1) primary key, # 設定id自增長,並將其定位主鍵
name varchar(max), # 設定資料的型別
sex varchar(max),
grade text default'100' # 設定為text型別,並且預設值為100
)
2、插入資料:
insert into [dbsimple].[dbo].[cangku](name,sex) values ('zhangsan','nan') # 因為id是自增長的,所以不用輸入資料;而grade有預設值,也可以不輸入; insert into [dbsimple].[dbo].[cangku](name,sex,grade) values ('zhangsan','nan','99') # 一個完整的輸入,不適用預設值
3、選擇前100行資料:
SELECT TOP 100 [id],[name],[sex] FROM [dbsimple].[dbo].[cangku]
4,、將sql server與python連線,在python上操作sql server
import pyodbc conn = pyodbc.conn(r'DRIVER={SQL Server Native Client10.0};SERVER=.;DATABASE=資料庫;UID=使用者名稱;PWD=密碼') cur = conn.cursor() sqlcom = 'sql server的命令語句' cur.execute(sqlcom) conn.commit()
5、從sql server中讀取某一列,並將其轉換為列表格式
import pyodbc import pandas as pd import numpy as np conn = pyodbc.connect(r'DRIVER={SQL Server Native Client 10.0};SERVER=.;DATABASE=資料庫;UID=使用者;PWD=密碼') cur = conn.cursor() sqlcom = 'select time,url from [dbsimple].[dbo].[test]' # 查詢命令 df = pd.read_sql(sqlcom, con=conn) print(df) print(type(df)) # <class 'pandas.core.frame.DataFrame'> df1 = np.array(df) # 使用numpy將DataFrame格式的資料轉換為列表 df2 = df1.tolist() print(df2) # 轉換後的資料型別為[['December 14, 2018', '1214ll1047.htm'], ['December 10, 2018', 'er1210ll1046.htm']] for i in range(0, len(df2)): exist_url = df2[i][1] print(exist_url)