//创建两个表
1.class axStudent: Record {
var studentID: Int64 = 0
var studentName: String = ""
var studentAge: Double = 0
var studentSex: Int = 0
var studentAddress: String = ""
}
2.class axTeacher: Record {
var teacherID: Int64 = 0
var studentID: Int64 = 0
var teacherName: String = ""
var teacherAge: Double = 0
var teacherSex: Int = 0
var teacherAddress: String = ""
}
//查询单个表中的单个字段
let studentAge = DBQueue.inDatabase {
db in
try! Double.fetchOne(db, sql: "Select studentAge from axStudent where studentID = \("")")
}
let studentSex = DBQueue.inDatabase {
db in
try! Int.fetchOne(db, sql: "Select studentSex from axStudent where studentID = \("")")
}
let studentName = DBQueue.inDatabase {
db in
try! String.fetchOne(db, sql: "Select studentName from axStudent where studentID = \("")")
}
//查询数据库中某字段数据的总和
let studentAgeSum = DBQueue.inDatabase {
db in
try! Int.fetchOne(db, sql: "SELECT sum(studentAge) FROM axStudent WHERE studentID = \("")")//表中某一studentID可能有多条
}
let teacherAgeSum = DBQueue.inDatabase {
db in
try! Int.fetchOne(db, sql: "SELECT sum(teacherAge) FROM axTeacher WHERE teacherID = \("")")//表中某一teacherID可能有多条
}
//查询一个表中的某一条数据
let student = DBQueue.inDatabase({
db in
try! axStudent.fetchOne(db, sql: "Select * from axStudent where studentID = \("")")
})
let teacher = DBQueue.inDatabase({
db in
try! axTeacher.fetchOne(db, sql: "Select * from axTeacher where teacherID = \("")")
})
//查询一个表中符合条件的多条数据
let students1 = DBQueue.inDatabase({
db in
try! axStudent.fetchAll(db, sql: "Select * from axStudent where studentID = \("")") //如果studentID不唯一
})
let students2 = DBQueue.inDatabase({
db in
try! axStudent.fetchAll(db, sql: "Select * from axStudent")
})
let teachers1 = DBQueue.inDatabase({
db in
try! axTeacher.fetchAll(db, sql: "Select * from axTeacher where teacherAddress = \("")")//如果teacherAddress不唯一
})
let teachers2 = DBQueue.inDatabase({
db in
try! axTeacher.fetchAll(db, sql: "Select * from axTeacher")
})
//升序降序
let students = DBQueue.inDatabase {
db in
try! axStudent.fetchAll(db, sql: "SELECT * FROM axStudent where studentID = \("") order by studentAge DESC")
}
let teachers = DBQueue.inDatabase {
db in
try! axTeacher.fetchAll(db, sql: "SELECT * FROM axTeacher where teacherID = \("") order by teacherAge ASC")
}
//查询个数
let count = DBQueue.inDatabase {
db in
try! Int.fetchOne(db, sql: "Select count(*) from axStudent where studentID = '\("")’")
}
//多表联查
let IDs = DBQueue.inDatabase {
db in
try! String.fetchAll(db, sql: "SELECT axTeacher.studentID FROM axStudent,axTeacher WHERE axStudent.studentAge = 10 and axTeacher.teacherSex > 0 and axStudent.studentID = axTeacher.studentID and axStudent.studentName not like 'D-%' and axTeacher.teacherName not like 'L-%'")
}
Swift --棒棒糖3--数据库增删改查操作(GRDB)
猜你喜欢
转载自blog.csdn.net/SoftwareDoger/article/details/105899242
今日推荐
周排行