1. 程式人生 > >sql server與python連線常用到的命令

sql server與python連線常用到的命令

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)