一、python的DB-API

  1.Python的DB-API,为大多数的数据库实现了接口,使用它连接各数据库后,就可以用相同 的方式操作各数据库。

  Python DB-API使用流程:

1. 引入API模块。 2. 获取与数据库的连接。 3. 执行SQL语句和存储过程。 4. 关闭数据库连接。

2.Python操作mysql

  安装包: MySQLdb 是用于Python链接Mysql数据库的接口,它实现了 Python 数据库 API 规范 V2.0,基于 MySQL C API 上建立的。 pip好像是不支持安装MySQLdb的,我们可以通过网站下载安装, 下载地址:https://pypi.python.org/pypi/MySQL-python/1.2.5 分别对应有windows和源码安装的方法 安装依赖包: yum install –y python-devel yum install –y mysql-devel yum install –y gcc

注:大师兄给推荐了一个连接操作MYsql工具:navicat。 好用

Mysql的事物

  一般来说,事务是必须满足4个条件(ACID): Atomicity(原子性)、Consistency(稳定性)、Isolation(隔离性)、Durability(可靠性) 1、事务的原子性:一组事务,要么成功;要么撤回。 2、稳定性 : 有非法数据(外键约束之类),事务撤回。 3、隔离性:事务独立运行。一个事务处理后的结果,影响了其他事务,那么其他事务会撤回。事务的100%隔离,需要牺牲速度。 4、可靠性:软、硬件崩溃后,InnoDB数据表驱动会利用日志文件重构修改。可靠性和高速度不可兼得, innodb_flush_log_at_trx_commit选项 决定什么时候吧事务保存到日志里

  mysql> show variables like 'auto%';

   +--------------------------+-------+ | Variable_name | Value | +--------------------------+-------+ | auto_increment_increment | 1 | | auto_increment_offset | 1 | | autocommit | ON | | automatic_sp_privileges | ON | +--------------------------+-------+

  3、Mysql的常用操作

  https://note.youdao.com/share/?id=44df41885afc36e471a836ddba4f9876&type=note#/

  授权超级用户: grant all privileges on *.* to 'tangnanbing'@'%' identified by '1qaz@WSX' with grant option;  查看库: show databases;   查看都有哪些库 show databases;   查看某个库的表 use db; show tables \G;   查看表的字段 desc tb;   查看建表语句 show create table tb;   当前是哪个用户 select user();   当前库 select database();   创建库 create database db1;   创建表 create table t1 (id int, name char(40) adress varchar(30)); char(10) 'aaa ' varchar(10) 'aaa'   查看数据库版本 select version();   查看mysql状态 show status;   修改mysql参数 show variables like 'max_connect%'; set global max_connect_errors = 1000;   查看mysql队列 show processlist; select * from information_schema.processlist where info is not null; sleep的可以忽略,qurey查询的才有 创建普通用户并授权 grant all on *.* to databases1.user1 identified by '123456'; grant all on db1.* to 'user2'@'10.0.2.100' identified by '111222'; grant all on db1.* to 'user3'@'%' identified by '231222';insert into tb1 (id,name) values(1,'aming'); 更改密码 UPDATE mysql.user SET password=PASSWORD("newpwd") WHERE user='username' ; 查询 select count(*) from mysql.user; select * from mysql.db; select * from mysql.db where host like '10.0.%'; 插入 update db1.t1 set name='aaa' where id=1; 清空表 truncate table db1.t1; 删除表 drop table db1.t1; 删除数据库 drop database db1; 修复表 repair table tb1 [use frm]; 查看权限show grants for root@'localhost'; echo "select user,host,password from mysql.user" |mysql -uroot -plingxiangxiang mysql -uroot -p1234556 -e "select user,host,password into outfile '/home/mysql/1.txt' from mysql.user;" ;

  4.Mysql的连接

  1.创建数据库 create database python; 2. 授权用户 grant all privileges on *.* to xiang@’%’ identified by ‘123456’; flush privilege; conn=MySQLdb.connect(host="192.168.48.128",user="xiang",passwd="123456",db="python",charset="utf8") 比较常用的参数包括: host:数据库主机名.默认是用本地主机 user:数据库登陆名.默认是当前用户 passwd:数据库登陆的秘密.默认为空 db:要使用的数据库名.没有默认值 port:MySQL服务使用的TCP端口.默认是3306,数字类型 charset:数据库编码

  推荐大家使用函数的方式: def connect_mysql(): db_config = { 'host': '192.168.48.128', 'port': 3306, 'user': 'xiang', 'passwd': '123456', 'db': 'python', 'charset': 'utf8' } cnx = MySQLdb.connect(**db_config) return cnx

案例一:

import pymysql

# 1. 开启事务# 2. 执行sql语句(update100, insert1000, alter10)# 3. commit;

conn = pymysql.connect(host="192.168.48.136", port=3306, user="xiang", passwd="xiang", db="test")cus = conn.cursor()sql = "select * from test2;"

cus.execute(sql)result = cus.fetchall()print(result)cus.close()conn.close()

案例二:
import pymysql

class TestMysql(object):    def __init__(self):        self.dbConfig = {            "host": "192.168.48.136",            "port": 3306,            "user": "xiang",            "passwd": "xiang",            "db": "test"        }        conn = pymysql.connect(**self.dbConfig)        self.a = conn

    def select(self):        print("select")

    def update(self):        print("update")

if __name__ == '__main__':    conn = TestMysql()
 

转载于:https://www.cnblogs.com/iwss/p/9001094.html

复习Python DB-API相关推荐

  1. python db api下载_python db api

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  2. python传递指针_使用Python / C API传递C指针

    我是Python / C API的新手-我正在尝试为我的C程序添加新功能,其中我可以将python嵌入其中并同时扩展功能,以便嵌入式解释器可以执行将与之交互的脚本作为我的C程序的一部分编写的扩展pyt ...

  3. python封装api linux_python Socket编程-python API 与 Linux Socket API之间的关系

    python socket编程 by SA19225409 地址协议家族 Python 支持 AF_UNIX. AF_NETLINK. AF_TIPC 和 AF_INET 家族 AF_UNIX 基于本 ...

  4. python ctypes实现api测试_Python与C之间的相互调用(Python C API及Python ctypes库)

    2010-01-24 17:58 14237人阅读 评论(11) 我实现 Python C API 此部分可以参考我原来的文章< 准备工作: 闲话少说,看看Python C API.事实上,Py ...

  5. Python与C之间的相互调用(Python C API及Python ctypes库)

    2010-01-24 17:58 14237人阅读 评论(11) 收藏 举报 目录(?)[-] Python C API 准备工作: C中内嵌Python 获取返回值 利用C扩展Python Pyth ...

  6. pywin32官方说明文档_GEE学习笔记 六十五:GEE的Python版API说明文档(英文版)

    Google Earth Engine提供了JS版的API说明文档,但是没有提供Python版的说明文档.但是官方开源了相关代码,我这里利用源码生成了Python版API的相关说明文档.经过两天的研究 ...

  7. 用 Identity Server 4 (JWKS 端点和 RS256 算法) 来保护 Python web api

    目前正在使用asp.net core 2.0 (主要是web api)做一个项目, 其中一部分功能需要使用js客户端调用python的pandas, 所以需要建立一个python 的 rest api ...

  8. 编写python扩展模块_《深度剖析CPython解释器》27. 使用Python/C API编写扩展模块:编写扩展模块的整体流程...

    楔子 到目前为止,我们已经介绍了很多关于解释器方面的内容,本来接下来应该要说内存管理的,但是个人觉得应该对前面的系列做一个总结.而最好的方式,就是使用Python/C API编写扩展模块,个人是这么认 ...

  9. python rest api 框架_Python Eve REST API框架

    说到Eve它是一款Python REST API框架,主要用于发布高可定制全功能的Web服务,可以上我们轻松创建部署Api. python eve现在的最新版本是0.1.0版本,它是一个开源项目遵循B ...

最新文章

  1. 冰岛试行四天工作制大获成功:每周缩短五小时,生产力没变!
  2. 8月3日云栖精选夜读 | 阿里巴巴宣布 Sentinel 开源,进一步完善 Dubbo 生态(附PPT和视频)...
  3. python二分法求方程的根_Python查找函数f(x)=0根的解决方法
  4. ViewBag 找不到编译动态表达式所需的一种或多种类型,是否缺少引用?
  5. php json to object,PHP JSON_FORCE_OBJECT函数实现强转对象
  6. LeetCode--434--字符串中的单词数
  7. 3-1-Servlet技术
  8. 组装一台微型计算机需要哪些部件6,微型计算机的组成与配置(6页)-原创力文档...
  9. C#winform可视化(当主窗体不能拖动时)
  10. Elastic Search 学习笔记
  11. 基于NumPy实现随机梯度下降算法
  12. PTA C语言程序设计 单项链表
  13. 工作流(activiti7)-简单的介绍和使用(二)
  14. SDIO总线(一)SDIO接口是在SD内存卡接口的基础上发展起来的接口,SDIO接口兼容以前的SD内存卡,并且可以连接SDIO接口的设备
  15. 帝国cms二次开发留言板自定义字段教程
  16. 会议OA项目---我的审批(审批会议签字)
  17. 利用Python提取函数图像数据并拟合曲线
  18. 短信验证码有什么应用和作用
  19. 建立您的启动:自定义会议视图
  20. 1,10-菲啰啉是氧化还原指示剂|双齿配体各类反应

热门文章

  1. word-break:break-all和word-wrap:break-word的区别
  2. css裁剪clip-path画多边形
  3. C++17新特性学习笔记
  4. java pdf文件压缩_PDF文件压缩转换教程
  5. python没有那个文件或目录_fatal error: Python.h: 没有那个文件或目录 解决方法
  6. LeetCode(81): 搜索旋转排序数组 II
  7. 使用轻量级Spring @Scheduled注解执行定时任务
  8. RatingBar的自定义
  9. 关于软件工程的那些事儿————《人·绩效·职业道德》和《一个程序员的生命周期》读后感...
  10. jacob 实现Office Word文件格式转换