PHP和MySQL处理树状、分级、无限分类、分层数据的方法

文章标题中的多个词语表达的其实是一个意思,就是递归分类数据,分级数据非常类似数据结构中的树状结构,即每个节点有自己的孩子节点,孩子结点本身也是父亲节点。这是一个递归、分层形式。可以称之为树形层级数据。

层级数据结构是编程语言中非常普通的一种数据结构,它代表一系列的数据每一项都有一个父亲节点(除了根节点)和其他多个孩子结点。WEB开发人员使用层级数据结构用于非常多的场景,包括内容管理系统CMS、论坛主题、邮件列表,还有电子商务网站的产品分类等。

本文章主要介绍了使用PHP和MYSQL来管理分级数据的方法,在其中将给出两种最流行的分级数据模型:

  • 邻接表模型
  • 嵌套集合模型

Ubuntu 安装 PostgreSQL 和 python-psycopg2基础教程(以及错误解决)

Django支持以下四种数据库PostgreSQL(pgql)、SQLite 3、MySQL、Oracle。PostgreSQL 和 MySQL都是最受人关注的开源数据库,MySQL在国内又相对盛行,这和php领域大力推崇lamp不无关系; 关于Mysql和PostgreSQL的对比网上有很多版本,也没必要去比较,不过可以确定的一点是PostgreSQL对Django的 GIS支持更加强大。在Ubuntu 系统下为Python Django安装 PostgreSQL 数据库,还包括pgadmin3 和 python-psycopg2 等。

安装PostgreSQL 数据库

sudo apt-get install postgresql postgresql-client postgresql-contrib

安装过程提示:

The following NEW packages will be installed:
libossp-uuid16 libpq5 postgresql postgresql-8.4 postgresql-client
postgresql-client-8.4 postgresql-client-common postgresql-common
postgresql-contrib postgresql-contrib-8.4
……
Adding user postgres to group ssl-cert
……
Creating new cluster (configuration: /etc/postgresql/8.4/main, data: /var/lib/postgresql/8.4/main)…
Moving configuration file /var/lib/postgresql/8.4/main/postgresql.conf to /etc/postgresql/8.4/main…
Moving configuration file /var/lib/postgresql/8.4/main/pg_hba.conf to /etc/postgresql/8.4/main…
Moving configuration file /var/lib/postgresql/8.4/main/pg_ident.conf to /etc/postgresql/8.4/main…
Configuring postgresql.conf to use port 5432…
……
* Starting PostgreSQL 8.4 database server [ OK ]
Setting up postgresql (8.4.8-0ubuntu0.11.04) …
Setting up postgresql-client (8.4.8-0ubuntu0.11.04) …
Setting up postgresql-contrib-8.4 (8.4.8-0ubuntu0.11.04) …
Setting up postgresql-contrib (8.4.8-0ubuntu0.11.04) …
Processing triggers for libc-bin …

即创建了配置文件的位置为:/etc/postgresql/8.4/main/
可执行程序为:

 sudo /etc/init.d/postgresql {start|stop|restart|reload|force-reload|status}

Read moreUbuntu 安装 PostgreSQL 和 python-psycopg2基础教程(以及错误解决)


Python操作Mysql实例代码教程(查询手册)

本文介绍了Python操作MYSQL、执行SQL语句、获取结果集、遍历结果集、取得某个字段、获取表字段名、将图片插入数据库、执行事务等各种代码实例和详细介绍,代码居多,是一桌丰盛唯美的代码大餐。

实例1、取得MYSQL的版本

在windows环境下安装mysql模块用于python开发,请见我的另一篇文章:

MySQL-python Windows下EXE安装文件下载

# -*- coding: UTF-8 -*-

# 安装MYSQL DB for python
import MySQLdb as mdb

con = None

try:
    # 连接mysql的方法:connect('ip','user','password','dbname')
    con = mdb.connect('localhost', 'root',
        'root', 'test');

    # 所有的查询,都在连接con的一个模块cursor上面运行的
    cur = con.cursor()

    # 执行一个查询
    cur.execute("SELECT VERSION()")

    # 取得上个查询的结果,是单个结果
    data = cur.fetchone()
    print "Database version : %s " % data
finally:
    if con:
        # 无论如何,连接记得关闭
        con.close()

执行结果:

Database version : 5.5.25

Read morePython操作Mysql实例代码教程(查询手册)