python学习(三)

ulibweb数据库操作

安装uliweb后,引用orm。 

#coding=utf-8
from uliweb.orm import *

 连接数据库

连接mysql数据库
db = get_connection('mysql://root:root@localhost/mail?charset=utf8')
连接sqlite数据库
db = get_connection("sqlite:///beijing")    #beijing为数据库名

 表和字段

class cnchange(Model):
        sbus = Field(str)
        change = Field(str)        

新加一条记录

        newtab = cnchange()    #实例化对象
        newtab.sbus=sbus    #给字段赋值
        newtab.change = n    #给字段赋值
        newtab.save()    #保存入数据库

更改一条记录

newtab = cnchange.filter(cnchange.c.sbus=="693")
newtab.update(sbus="109")
newtab.save()

创建和删除表

db.metadata.drop_all()    #删除表
db.metadata.create_all()    #创建表

读取所有内容

cnchange.all()

 sqlite数据库基础

 1.sqlite数据库的数据类型

SQLite 数据库中的数据一般由以下几种常用的数据类型组成:

NULL - 空值
INTEGER - 有符号整数
REAL - 浮点数
TEXT - 文本字符串
BLOB - 二进制数据,如图片、声音等等

SQLite 也可以接受其他数据类型。

2.创建表

首先创建一个数据库mysql.db

root@***:~# sqlite3 mysql.db
SQLite version 3.7.11 2012-03-20 11:35:50
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> .tables
sqlite> 

然后创建一个student表,包括id、name、age等字段

sqlite> create table student(id int, name varchar, age int);
sqlite> .tables
student
sqlite> .schema student
CREATE TABLE student(id int, name varchar, age int);
sqlite> 

3.修改表ALTER TABLE

  SQLite 仅仅支持 ALTER TABLE 语句的一部分功能, 我们可以用 ALTER TABLE 语句来更改一个表的名字,也可向表中增加一个字段(列), 但是我们不能删除一个已经存在的字段,或者更改一个已经存在的字段的名称、数据类型、限定符等等。

  • 改变表名 - ALTER TABLE 旧表名 RENAME TO 新表名
  • 增加一列 - ALTER TABLE 表名 ADD COLUMN 列名 数据类型 限定符

下面我们来演示一下,将前面的 student 表的名字改为 teacher

sqlite> .tables
student
sqlite> alter table student rename to teacher;
sqlite> .tables
teacher

原来数据库中只有一个 student 表,改名以后再运行 .tables 命令,发现 student 表已经没了,现在变成了teacher 表。

下面改变 teacher 表的结构,增加一个 sex 列

sqlite> .schema teacher
CREATE TABLE "teacher"(id int, name varchar, age int);
sqlite> alter table teacher add column sex varchar;
sqlite> .schema teacher
CREATE TABLE "teacher"(id int, name varchar, age int, sex varchar);
sqlite> 

4.删除表

删除一个表很简单,只要给出表名即可

  • 删除表 - DROP TABLE 表名

下面,我们将 mysql.db 中的 teacher 表删除

sqlite> .tables
teacher
sqlite> drop table teacher;
sqlite> .tables
sqlite> 

 

posted @ 2013-06-22 23:04  bamb00  阅读(429)  评论(0编辑  收藏  举报