Python的ORM框架SQLObject入门实例


当前第2页 返回上一页

根据name进行查询:

代码如下:

users = User.select(User.q.name=="user1")
print users
print list(users)
输出结果:
代码如下:

SELECT user.id, user.name, user.email, user.password FROM user WHERE ((user.name) = ('user1'))
[]
模糊查询:
代码如下:

users = User.select(User.q.name.startswith('u'))
print users
print list(users)
users = User.select(User.q.name.contains('ser1'))
print users
print list(users)
运行结果:
代码如下:

SELECT user.id, user.name, user.email, user.password FROM user WHERE (user.name LIKE ('u%') ESCAPE '\\')
[, ]
SELECT user.id, user.name, user.email, user.password FROM user WHERE (user.name LIKE ('%ser1%') ESCAPE '\\')
[]

一对多映射

我们新建一个表,保存user中每个用户的编写的文章:

代码如下:
class User(SQLObject):
    name = StringCol(length=10, notNone=True)
    email = StringCol(length=20, notNone=True)
    password = StringCol(length=20, notNone=True)

class Article(SQLObject):
    title = StringCol(length=100, notNone=True)
    content = StringCol(notNone=True)
    user = ForeignKey('User')
Article.createTable()
运行后,使用show create table article查看创建语句:

代码如下:

CREATE TABLE `article` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(100) NOT NULL,
  `content` text NOT NULL,
  `user_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `article_user_id_exists` (`user_id`),
  CONSTRAINT `article_user_id_exists` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
添加数据:
代码如下:

u1 = User.get(1)
a1 = Article(title='title1',content='你好',user=u1)
查询数据:
代码如下:

u1 = User.get(1)
a1 = Article.select(Article.q.user == u1)
print a1
print list(a1)
print list(a1)[0].content
这种方式也可以:
代码如下:

a1 = Article.select(Article.q.userID == 1)
print a1
print list(a1)
print list(a1)[0].content
运行结果:
代码如下:

SELECT article.id, article.title, article.content, article.user_id FROM article WHERE ((article.user_id) = (1))
[<Article title='title1'>]
你好


标签:SQLite

返回前面的内容

相关阅读 >>

迅雷高速通道资源被举报无法下载的另类解决办法

python中安装scrapy模块依赖包汇总

navicat premium 12.0完美激活无限试用图文教程(附注册补丁)

android studio连接Sqlite数据库的登录注册实现

Sqlitestudio打开后如何切换成简体中文Sqlitestudio绿色版中文设置方法介绍

android基于Sqlite实现注册和登录功能

Sqlite 入门教程三 好多约束 constraints

让python更加充分的使用Sqlite3

android四种数据存储的应用方式

sqlserver、mysql、oracle三种数据库的优缺点总结

更多相关阅读请进入《Sqlite》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...