input: Write a python function to create a new record, read all records, update a record, and delete a record in an SQLite database using the Database class.
  ```python
  assert db.read() == []
  db.create((1, 'Alice'))
  assert db.read() == [(1, 'Alice')]
  db.update(('Bob', 1))
  assert db.read() == [(1, 'Bob')]
  db.delete(1)
  assert db.read() == []
output: import sqlite3
  
  class Database:
      def __init__(self, db_name=':memory:'):
          self.connection = sqlite3.connect(db_name)
          self.cursor = self.connection.cursor()
          self.cursor.execute('''CREATE TABLE IF NOT EXISTS records (id INTEGER PRIMARY KEY, name TEXT)''')
          self.connection.commit()
      
      def create(self, record):
          self.cursor.execute('''INSERT INTO records (id, name) VALUES (?, ?)''', record)
          self.connection.commit()
  
      def read(self):
          self.cursor.execute('''SELECT * FROM records''')
          return self.cursor.fetchall()
  
      def update(self, record):
          self.cursor.execute('''UPDATE records SET name = ? WHERE id = ?''', record)
          self.connection.commit()
  
      def delete(self, record_id):
          self.cursor.execute('''DELETE FROM records WHERE id = ?''', (record_id,))
          self.connection.commit()
      
      def __del__(self):
          self.connection.close()
  
  db = Database()
  assert db.read() == []
  db.create((1, 'Alice'))
  assert db.read() == [(1, 'Alice')]
  db.update(('Bob', 1))
  assert db.read() == [(1, 'Bob')]
  db.delete(1)
  assert db.read() == []