python简单实现操作Mysql数据库

yipeiwu_com6年前Python基础

用python编写数据库的代码很方便,但是如果不想自己写sql语句,其实还有更多的讨巧办法。使用webpy的db库就是不错的一个选择。当然为了使用webpy的db,之前你还需要安装MySQLdb,其他的就不需要做什么了。

1、安装MySQLdb库

sudo apt-get install python-MySQLdb

2、安装webpy

sudo apt-get install python-webpy

3、连接数据库

import web

db = web.database(dbn='mysql', db='blog', user='root', pw='123456')

4、增、删、改、查数据

def get_pages():
  return db.select('pages', order='id DESC')

def get_page_by_url(url):
  try:
    return db.select('pages', where='url=$url', vars=locals())[0]
  except IndexError:
    return None

def get_page_by_id(id):
  try:
    return db.select('pages', where='id=$id', vars=locals())[0]
  except IndexError:
    return None

def new_page(url, title, text):
  db.insert('pages', url=url, title=title, content=text)

def del_page(id):
  db.delete('pages', where="id=$id", vars=locals())

def update_page(id, url, title, text):
  db.update('pages', where="id=$id", vars=locals(),
    url=url, title=title, content=text)

其中db的table设计为,

CREATE TABLE pages (
  id INT AUTO_INCREMENT,
  url TEXT,
  title TEXT,
  content TEXT,
  primary key (id)
);

5、注意事项

在web.database创建的时候,其实此时没有连接,只是设置了dbn、db、user、password这些基本属性,只有select、insert、delete、update的时候才会进行连接。

6、其他资源

建议大家直接到webpy 官网 看示例代码,这样学的更快一些。关于MySQLdb的操作,大家可以看这一篇 链接

相关文章

浅谈python函数调用返回两个或多个变量的方法

以元祖形式返回  return (a,b,......) 以元祖引用或(x,y,....)接受都可以 为什么不能用列表返回?? 与java一样,列表等属于可变数据类型——由指针...

python的staticmethod与classmethod实现实例代码

本文源于一时好奇,想要弄清出python的staticmethod()这一builtin方法的实现,查了一些资料(主要是python官方手册了)汇集于此 python在类中,有三种调用m...

Ubuntu下Anaconda和Pycharm配置方法详解

Ubuntu下Anaconda和Pycharm配置方法详解

本文为大家分享了Ubuntu下Anaconda和Pycharm的配置方法,供大家参考,具体内容如下 1.对于Ubuntu18.04,一开始会有一个系统默认的python解释器,是3.6版...

python 字符串格式化代码

格式汇总:格式描述格式描述%%百分号%标记(多出来的%是转义作用)  %c字符及其ASCII码%s字符串%d有符号整数(十进制)%u无符号整数(十进制)%o无符号整数(八进制)&n...

Python 正则表达式的高级用法

Python 正则表达式的高级用法

对于Python来说,学习正则就要学习模块re的使用方法。本文将展示一些大家都应该掌握的高级技巧。 编译正则对象 re.compile函数根据一个模式字符串和可选的标志参数生成一个正则表...