카테고리 없음

python과 mssql DB연동하여 CRUD하기

9400 2023. 1. 6. 15:37
import pymssql

class DaoEmp:
    def __init__(self):
        self.conn =  pymssql.connect(host="192.168.145.14",database="python",user="sa",password="python")
        self.cursor = self.conn.cursor()
        
    def selects(self):
        self.cursor.execute('SELECT * FROM emp')
        list = self.cursor.fetchall()
        mdict = []
        for i in list:
            mdict.append({"e_id":i[0],"e_name":i[1],"sex":i[2],"addr":i[3]})
        return mdict
    
    def select(self,e_id):
        sql =f"""
            SELECT * FROM emp 
            where e_id = '{e_id}'
        """
        self.cursor.execute(sql)
        list = self.cursor.fetchall()
        i =list[0]
        
        mdict = {"e_id":i[0],"e_name":i[1],"sex":i[2],"addr":i[3]}
        return mdict        
    
    def insert(self,e_id,e_name,sex,addr):
        sql =f"""
            insert into emp
            values ('{e_id}','{e_name}','{sex}','{addr}')
        """
        self.cursor.execute(sql)
        self.conn.commit()
        cnt = self.cursor.rowcount
        return cnt
    
    def update(self,e_id,e_name,sex,addr):
        sql =f"""
            update emp
            set e_name = '{e_name}',
                sex = '{sex}',
                addr = '{addr}'
            where e_id = '{e_id}'
        """
        self.cursor.execute(sql)
        self.conn.commit()
        cnt = self.cursor.rowcount
        return cnt
    
    def delete(self,e_id):
        sql =f"""
           delete from emp
           where e_id = '{e_id}'
        """        
        self.cursor.execute(sql)
        self.conn.commit()
        cnt = self.cursor.rowcount
        return cnt        
        
    def __del__(self):
        self.cursor.close()
        self.conn.close()
        
if __name__ == '__main__':
    de = DaoEmp()
    emp = de.delete('6')
    print(emp)

 

매개변수가 있는 select문

if __name__ == '__main__':
    de = DaoEmp()
    emp = de.select('3')
    print(emp)

 

 

insert문 

if __name__ == '__main__':
    de = DaoEmp()
    emp = de.insert('6','6','6','6')
    print(emp)

 

update문

if __name__ == '__main__':
    de = DaoEmp()
    emp = de.update('6','7','7','7')
    print(emp)