Swift --棒棒糖3--数据库增删改查操作(GRDB)

//创建两个表
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-%'")
        }







猜你喜欢

转载自blog.csdn.net/SoftwareDoger/article/details/105899242