本文目录一览:
- 1、如何在数据库中数据达到特定条件执行外部脚本?比如python
- 2、如何使用python连接数据库,插入并查询数据
- 3、python脚本怎么把实时数据记录下来
- 4、python 微信怎么查询数据库表内所有内容
- 5、如何用python操作数据库表
如何在数据库中数据达到特定条件执行外部脚本?比如python
如何在数据库中数据达到特定条件执行外部脚本?
1.不修改数据库与系统结构,使用Python做个定时策略,每隔一段时间来执行【特定条件是否达到】的统计SQL脚本。这种模式适用于数据量不多,或者每次执行的统计脚本时间短,或者实时性要求低的情况。
2.修改数据库,不改系统结构。那就是使用数据库的触发器,或者存储过程,来充当抽象接口。通过抽象接口,来进行实时统计,但这样做,压力就集中在数据库这边,而且随着数据量的增长,这种依赖于数据库本身功能的结构,不容易优化。
3.同时修改数据库与系统结构,用编程语言比如Python来写中间件,进行实时统计,并把统计结果保存到数据库。这就让压力转移到中间件上,而且随着数据量的增大,很容易把中间件做成多节点的集群模式来分担压力。
如何使用python连接数据库,插入并查询数据
python3.2 == ORM(或者数据库接口) == 数据库数据库:PostgreSQL9、SQLite3等ORM:SQLAlchemy(需要安装数据库接口)数据库接口:psycopg2(PostgreSQL9)建议使用ORM样创建、修改、删除时只涉及python类对象无需写sql语句修改了数据表结构时对程序修改也方便些表间关系特别复杂也ORM直接写sql语句
python脚本怎么把实时数据记录下来
1.不修改数据库与系统结构,使用Python做个定时策略,每隔一段时间来执行【特定条件是否达到】的统计SQL脚本。这种模式适用于数据量不多,或者每次执行的统计脚本时间短,或者实时性要求低的情况。 2.修改数据库,不改系统结构。那就是使用数据...
python 微信怎么查询数据库表内所有内容
我常用pymssql连接M$SQL服务器, 没用过pyodbc, 但按理应该都差不多。
若用pymssql, 从数据库中取数据的过程如下:
import pymssql
connect_setting = {
'host': '127.0.0.1',
'user': 'sa',
'password': '',
'database': 'master',
'charset': 'gb18030'
}
conn = pymssql.connect(**connect_setting)
curr = conn.cursor()
curr.execute("select list, name from nlist")
result = [(lst, name) for lst, name in curr]
curr.close()
conn.close()
关于"如何查询,list的每个值在数据库中对应的Name“
若库表中的数据像下面的样子:
id, name:
1, 'python'
2, 'perl'
3, 'c'
4, 'java'
且每行id是唯一值, 将从数据库表中拿到的数据放到一个字典中:
curr.execute("select id, name from nlist")
dd = dict([(id, name) for id, name in curr])
lst = [1,2,3,4,5,6]
用dd进行转换
[(i, dd.get(i)) for i in lst]
==
[(1, 'python'), (2, 'perl'), (3, 'c'), (4, 'java'), (5, None), (6, None)]
or
[dd.get(i, i) for i in lst]
==
['python', 'perl', 'c', 'java', 5, 6]
如何用python操作数据库表
# -*- coding:utf8 -*-
import MySQLdb
conn = MySQLdb.connect( #此处连接数据库信息
host = '127.0.0.1',
port = 3306,
user = 'root',
passwd = 'root',
db = 'python',
charset = 'utf8'
)
key1 = raw_input()
value2 = raw_input()
cursor = conn.cursor()
try:
#cursor.execute('SELECT * from test') # 查询数据库内容
#print cursor.rowcount #输出改变行数
cursor.execute("insert into test ('key1') values (value2)") # 增加数据库内容
#cursor.execute("update test set name = 'lisi' where name = 'zhangsan'") # 更新数据库内容
#cursor.execute("delete from test where name = 'lisi'") #删除数据库内容
conn.commit()
except Exception as e: # 执行出错回滚数据
print e
conn.rollback()
cursor.close
conn.close