PySQlite

import sqlite3

Create a database in RAM

db = sqlite3.connect(':memory:')

Creates or opens a file called mydb with a SQLite3 DB

db = sqlite3.connect('data/mydb')

db.close()

Get a cursor object

cursor = db.cursor() cursor.execute(''' CREATE TABLE users(id INTEGER PRIMARY KEY, name TEXT, phone TEXT, email TEXT unique, password TEXT) ''') db.commit()

Get a cursor object

cursor = db.cursor() cursor.execute('''DROP TABLE users''') db.commit()

cursor = db.cursor() name1 = 'Andres' phone1 = '3366858' email1 = 'user@example.com'

A very secure password

password1 = '12345'

name2 = 'John' phone2 = '5557241' email2 = 'johndoe@example.com' password2 = 'abcdef'

Insert user 1

cursor.execute('''INSERT INTO users(name, phone, email, password) VALUES(?,?,?,?)''', (name1,phone1, email1, password1)) print('First user inserted')

Insert user 2

cursor.execute('''INSERT INTO users(name, phone, email, password) VALUES(?,?,?,?)''', (name2,phone2, email2, password2)) print('Second user inserted')

db.commit()

cursor.execute('''INSERT INTO users(name, phone, email, password) VALUES(:name,:phone, :email, :password)''', {'name':name1, 'phone':phone1, 'email':email1, 'password':password1})

users = [(name1,phone1, email1, password1), (name2,phone2, email2, password2), (name3,phone3, email3, password3)] cursor.executemany(''' INSERT INTO users(name, phone, email, password) VALUES(?,?,?,?)''', users) db.commit()

id = cursor.lastrowid print('Last row id: %d' % id)

cursor.execute('''SELECT name, email, phone FROM users''') user1 = cursor.fetchone() #retrieve the first row print(user1[0]) #Print the first column retrieved(user's name) all_rows = cursor.fetchall() for row in all_rows: # row[0] returns the first column in the query (name), row[1] returns email column. print('{0} : {1}, {2}'.format(row[0], row[1], row[2]))

cursor.execute('''SELECT name, email, phone FROM users''') for row in cursor: # row[0] returns the first column in the query (name), row[1] returns email column. print('{0} : {1}, {2}'.format(row[0], row[1], row[2]))

user_id = 3 cursor.execute('''SELECT name, email, phone FROM users WHERE id=?''', (user_id,)) user = cursor.fetchone()

Update user with id 1

newphone = '3113093164' userid = 1 cursor.execute('''UPDATE users SET phone = ? WHERE id = ? ''', (newphone, userid))

Delete user with id 2

delete_userid = 2 cursor.execute('''DELETE FROM users WHERE id = ? ''', (delete_userid,))

db.commit()

cursor.execute('''UPDATE users SET phone = ? WHERE id = ? ''', (newphone, userid)) db.commit() #Commit the change

cursor.execute('''UPDATE users SET phone = ? WHERE id = ? ''', (newphone, userid))

The user's phone is not updated

db.rollback()

import sqlite3 #Import the SQLite3 module try: # Creates or opens a file called mydb with a SQLite3 DB db = sqlite3.connect('data/mydb') # Get a cursor object cursor = db.cursor() # Check if table users does not exist and create it cursor.execute('''CREATE TABLE IF NOT EXISTS users(id INTEGER PRIMARY KEY, name TEXT, phone TEXT, email TEXT unique, password TEXT)''') # Commit the change db.commit()

Catch the exception

except Exception as e: # Roll back any change if something goes wrong db.rollback() raise e finally: # Close the db connection db.close()

Catch the exception

except Exception as e: raise e

name1 = 'Andres' phone1 = '3366858' email1 = 'user@example.com'

A very secure password

password1 = '12345'

try: with db: db.execute('''INSERT INTO users(name, phone, email, password) VALUES(?,?,?,?)''', (name1,phone1, email1, password1)) except sqlite3.IntegrityError: print('Record already exists') finally: db.close() db = sqlite3.connect('data/mydb') db.row_factory = sqlite3.Row cursor = db.cursor() cursor.execute('''SELECT name, email, phone FROM users''') for row in cursor: # row['name'] returns the name column in the query, row['email'] returns email column. print('{0} : {1}, {2}'.format(row['name'], row['email'], row['phone'])) db.close()