zoukankan      html  css  js  c++  java
  • python mysql

    入门操作

     

    可以将SQLite作为名为sqlite3的模块导入。之后就可以创建一个到数据库文件的连接----如果文件不存在就会被创建----通过提供一个文件名:

     

    复制代码
    >>> import sqlite3
    >>> conn = sqlite3.connect('somedatabase.db') # 创建数据库
    >>>cu = conn.cursor()   #能获得连接的游标
    
    #创建数据表
    >>> cu.execute("""create table catalog (
        id integer primary key,
        pid integer,
        name varchar(10) UNIQUE
       )""")
    
    
    #插入两条数据
    >>> cu.execute("insert into catalog values(0,0,'name1')")
    >>> cu.execute("insert into catalog values(1,0,'name2')")
    >>> conn.commit()
    
    
    #选择(select)
    >>> cu.execute("select * from catalog")
    >>> cu.fetchall()  
    [(0, 0, 'name1'), (1, 0, 'name2')]
    >>> cu.execute("select * from catalog where id = 1")
    >>> cu.fetchall()
    [(1, 0, 'name2')]
    
    
    #修改(update)
    >>> cu.execute(“update catalog set name=’name2′ where id = 0″)
    >>> cx.commit()
    >>> cu.execute(“select * from catalog”)
    >>> cu.fetchone()
    (0, 0, ‘name2′)
    
    
    #删除(delete)
    >>> cu.execute(“delete from catalog where id = 1″)
    >>> cx.commit()
    >>> cu.execute(“select * from catalog”)
    >>> cu.fetchall()
    [(0, 0, 'name2')]
    复制代码

    连接

    为了使用基础数据库系统,首先必须连接到它,这个时候需要使用具有名称的connect函数,该函数有多个参数,而具体用哪个参数取决于数据库。

    connect函数的常用参数:

    connect函数返回连接对象。这个对象表示目前和数据库的会话。连接对象支持的方法如下;

    连接对象方法:

    commit 方法总是可用的,但如果数据库不支持事务,它就没有任何作用。如果关闭了连接但还有未提交的事务,它们会隐式地回滚---但是只有在数据库支持持回滚的时候才可以。

     

    rollback 方法可能不可用,因为不是所有的数据库都支持事务(事务是一系列动作)。如果可用,那么就可以“撤销”所有未提交的事务。

     

    cursor 方法将我们引入另外一个主题:游标对象。通过游标扫行SQL 查询并检查结果。游标连接支持更多的方法,而且可能在程序中更好用。

    游标:

    cu = conn.cursor()

    能获得连接的游标,这个游标可以用来执行SQL查询。

     

     conn.commit()  

    完成插入并且做出某些更改后确保已经进行了提交,这样才可以将这些修改真正地保存到文件中。

     

     

    游标对象方法:

    游标对象特性:

    cu.fetchone()

     

    fetchall()返回结果集中的全部数据,结果为一个tuple的列表。每个tuple元素是按建表的字段顺序排列。注意,游标是有状态的,它可以记录当前已经取到结果的第几个记录了,因此,一般你只可以遍历结果集一次。在上面的情况下,如果执行fetchone()会返回为空。这一点在测试时需要注意。

     

    conn.close()

    可以在每次修改数据库后都进行提交,而不是仅仅在准备关闭才提交,准备关闭数据时,使用close 方法。

  • 相关阅读:
    zabbix监控之zabbix-agent被动变为主动,搭建Proxy代理
    zabbix监控nginx,mysql,java
    浅谈 HTTP协议
    ELK实时日志分析平台环境部署,以及可视化展示
    Shell脚本中$0、$?、$!、$$、$*、$#、$@的意义
    mfs分布式文件系统,分布式存储,高可用(pacemaker+corosync+pcs),磁盘共享(iscsi),fence解决脑裂问题
    Centos 或者 Redhat修改系统时间
    HTTPS加密协议过程
    实现mysql的读写分离(mysql-proxy)____1(mysql的主从复制,基于gtid的主从复制,半同步复制,组复制)
    实现mysql的读写分离(mysql-proxy)____2
  • 原文地址:https://www.cnblogs.com/rj81/p/6077826.html
Copyright © 2011-2022 走看看