问了半天的度娘还是不明不白,就是单纯的想向sqlserver中插入点数据,搞了半天。正题开始
一.如何连接到sqlserver
import pymssql 首先导包,就这个,当然还有另外一个,这里就用这个!!
config_conn = {
"host": "xxx.xxx.xxx.xxx",
"user": "xxx",
"password": "xxx",
"database": "xxx",
"charset": "utf8",
} 创建个字典保存下连接信息,没毛病字典名字就是config_conn,ip,用户名,密码,数据库这都能看懂吧,最好指定下字符集
connect = pymssql.connect(config_conn) 用这个破包里的一个函数,参数就是刚刚创建的字典,返回值是个连接
cursor = connect .cursor() 我们操作的都是游标,所以取下游标
二.插入数据
cursor.execute(sql,元组)没毛病就这么多,这里有两个参数,一个就是sql,一个就是要修改sql的变量值,为什么定义这个
既然都用py写了,肯定是想用py定义的变量去填充到sql里,不想用变量??那就把后面的元组去掉直接写sql就行了。
sql = "insert into tablename(字段1,字段2,字段3) values(%s,%s,%s)" 要插入的数据用%s去填充
元组 = ('a','b','c') 这个意思懂了吧,就是把元组内的a插入字段1,b插入字段2,c插入字段3,其实就是把%s给直接替换掉,记住插入的数据
一定要放到元组内可别给放到列表里了,那样插入不进去。
上面的情况是一次插入一条记录,要是想一次插入多条呢,for循环?这样当然可以,cursor又提供了一个多插入的
cursor.executemany(sql,列表) 是不是看到这里一愣,怎么变列表了,刚刚不是说列表不行的嘛,是的列表存单独的数据不行,存元组就行了
sql = "insert into tablename(字段1,字段2,字段3) values(%s,%s,%s)" ok,sql还是刚刚的sql
列表 = [ ('a','b','c') , ('a','b','c') , ('a','b','c') ] 这一看就明白了,里面放着三个元组,没毛病,插入三次。
插入完 connect.commit(),提交下
cursor.close() 关下游标
connect.close() 关下连接
三.删除操作
和上面的插入操作一模一样,就是sql变成delete语句就行了,
四.更新操作
和上面的插入操作一模一样,就是sql变成update语句就行了,原谅我的懒,意思到就行了。