diff --git a/.gitignore b/.gitignore index f14c0de..e51980b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,6 @@ .DS_Store +__pycache__/ +*.pyc # Video Scripts s.txt diff --git a/Python-SQLite/employee.db b/Python-SQLite/employee.db new file mode 100644 index 0000000..01f1b50 Binary files /dev/null and b/Python-SQLite/employee.db differ diff --git a/Python-SQLite/employee.py b/Python-SQLite/employee.py new file mode 100644 index 0000000..1697294 --- /dev/null +++ b/Python-SQLite/employee.py @@ -0,0 +1,19 @@ + +class Employee: + """A sample Employee class""" + + def __init__(self, first, last, pay): + self.first = first + self.last = last + self.pay = pay + + @property + def email(self): + return '{}.{}@email.com'.format(self.first, self.last) + + @property + def fullname(self): + return '{} {}'.format(self.first, self.last) + + def __repr__(self): + return "Employee('{}', '{}', {})".format(self.first, self.last, self.pay) diff --git a/Python-SQLite/snippets.txt b/Python-SQLite/snippets.txt new file mode 100644 index 0000000..c2e8ec4 --- /dev/null +++ b/Python-SQLite/snippets.txt @@ -0,0 +1,30 @@ + +def insert_emp(emp): + pass + + +def get_emps_by_name(lastname): + pass + + +def update_pay(emp, pay): + pass + + +def remove_emp(emp): + pass + + + + +def update_pay(emp, pay): + with conn: + c.execute("""UPDATE employees SET pay = :pay + WHERE first = :first AND last = :last""", + {'first': emp.first, 'last': emp.last, 'pay': pay}) + + +def remove_emp(emp): + with conn: + c.execute("DELETE from employees WHERE first = :first AND last = :last", + {'first': emp.first, 'last': emp.last}) diff --git a/Python-SQLite/sqlite_demo.py b/Python-SQLite/sqlite_demo.py new file mode 100644 index 0000000..b02bd48 --- /dev/null +++ b/Python-SQLite/sqlite_demo.py @@ -0,0 +1,52 @@ +import sqlite3 +from employee import Employee + +conn = sqlite3.connect(':memory:') + +c = conn.cursor() + +c.execute("""CREATE TABLE employees ( + first text, + last text, + pay integer + )""") + + +def insert_emp(emp): + with conn: + c.execute("INSERT INTO employees VALUES (:first, :last, :pay)", {'first': emp.first, 'last': emp.last, 'pay': emp.pay}) + + +def get_emps_by_name(lastname): + c.execute("SELECT * FROM employees WHERE last=:last", {'last': lastname}) + return c.fetchall() + + +def update_pay(emp, pay): + with conn: + c.execute("""UPDATE employees SET pay = :pay + WHERE first = :first AND last = :last""", + {'first': emp.first, 'last': emp.last, 'pay': pay}) + + +def remove_emp(emp): + with conn: + c.execute("DELETE from employees WHERE first = :first AND last = :last", + {'first': emp.first, 'last': emp.last}) + +emp_1 = Employee('John', 'Doe', 80000) +emp_2 = Employee('Jane', 'Doe', 90000) + +insert_emp(emp_1) +insert_emp(emp_2) + +emps = get_emps_by_name('Doe') +print(emps) + +update_pay(emp_2, 95000) +remove_emp(emp_1) + +emps = get_emps_by_name('Doe') +print(emps) + +conn.close()