根据name进行查询:
代码如下:
users = User.select(User.q.name=="user1")
print users
print list(users)
输出结果:
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'))
[]
模糊查询:
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)
运行结果:
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 '\\')
[]
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)
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
添加数据:
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(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
这种方式也可以:
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
运行结果:
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'>]
你好
书籍
SELECT article.id, article.title, article.content, article.user_id FROM article WHERE ((article.user_id) = (1))
[<Article title='title1'>]
你好
标签:SQLite
相关阅读 >>
navicat premium 12.0完美激活无限试用图文教程(附注册补丁)
android studio连接Sqlite数据库的登录注册实现
Sqlitestudio打开后如何切换成简体中文Sqlitestudio绿色版中文设置方法介绍
sqlserver、mysql、oracle三种数据库的优缺点总结
更多相关阅读请进入《Sqlite》频道 >>

数据库系统概念 第6版
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
相关推荐
评论
管理员已关闭评论功能...
- 欢迎访问木庄网络博客
- 可复制:代码框内的文字。
- 方法:Ctrl+C。