Mysql--day05

1.事务和事务回滚
    1.定义:一件事从开始发生到结束的过程
    2.作用:确保数据的一致性
    3.事务和事务回滚应用
        SQL命令默认自动提交到数据库执行
        1.开启事务
            mysql>begin;

        2.终止事务
             mysql>commit;| rollback;

        示例: 
            你: 建行卡
            你朋友: 工商卡
            你在建行自动取款机给你朋友转账5000
            2 建表
                表1: CCB name , money
                表2: ICBC name ,money

    4.事务只针对表记录操作(增删改),对库和表的操作无效

2.与python进行交互
    1.python3
        1.模块名:pymysql
        2.安装
            1.在线安装: sudo pip3 install pymysql

            2.离线安装  pymysql-0.7.11.tar.gz  
                $ tar -xzvf pymysql-0.7.11.tar.gz
                $ cd pymysql0.7.11
                $ python3 setup.py install

            安装pip3: sudo apt-get install python3-pip

    2.与python进行交互
        1.python3
        2.python2
            1.模块名:MySQLdb
            2.安装  : sudo pip install mysql-python 
    3.环境准备 
    4.pymysql使用流程
        1.数据库连接对象: db=pymysql.connect(...)
        2.游标对象     : cur=db.cursor()
        3.执行命令     : cur.execute('sql命令')
        4提交         : db.commit()
        5.关闭游标     : cur.close()
        6.关闭数据库连接: db.close
    
    5.数据库连接对象(db)方法
        1.db.commit()  :提交到数据库执行
        2.db.rollback():回滚
        3.db.close()   :断开与数据库连接
        4.db.cursor()  :创建游标对象

    6.游标对象(cur)方法
        1.cur.execute(sql命令)  :执行sql命令
        2.cur.close()           :关闭游标对象
        3.cur.fetchone()        :取第1条(查询)
        4.cur.fetchmany(n)      :取n条(查询)
        5.cur.fetchall()        :取所有记录(查询)
    
    7.connect() 连接对象参数
        1.host      :主机地址
        2.user      :用户名
        3.password  :密码
        4.database  :库名
        5.charset   :字符集(推荐utf8)
        6.port      :端口号(3306)


3.ORM(Object Relation Mapping 对象关系映射)
    1.定义
        把对象模型映射到Mysql数据库中
    2.sqlalchemy安装
        在线安装: sudo pip3 install sqlalchemy
        离线安装:
            $ tar -xf sql .... tar.gz
            $ cd sqlalchemy
            $ sudo python3 steup.py install
    3.示例:
        class User(Base):
            __tablename__='t123' 
            id=Column(Integer,primary_key=True)
            name=Column(String(20))

    4.映射的类型
        1.Python类(class) <---> 数据库中的表
            class User ...  t123
        
        2.Python中类属性   <---> 数据库中表字段(id...)
            id=Column(Integer)
        3.关系映射
            1:1    : 主外键关联,添加唯一约束
            1:n    : 主外键关联
            m:n    :通过中间实现,见多对多关联实现.png

   图形界面
   Windows : Navicat



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值