您的位置:

关于python连接sql的简单介绍

本文目录一览:

关于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)