SQLite
Published 7 months ago: June 25, 2020
SQLite tip snippets
Table of contents
This cheatsheet is a small collection of handy snippets for quick reference in tricky situations. Feel free to suggest edits, propose additions, complain about something, disagree with content or such and the like. Every feedback is a welcome one.
Copy specific columns from one table and insert into a different table
INSERT INTO destination_table (field1, field2) 
SELECT field1,field2 
FROM 'source_table';Copy content in one column to another column within the same table
update tableName 
set destinationField = sourceField;Warning! Replaces all content in destination fields
Insert UUIDs in empty cells
import sqlite3
import uuid
db = 'database.db'
sql_find_id = ''' SELECT idcolumn,rowid 
                        FROM tablename 
                        WHERE idcolumn IS NULL 
                        LIMIT 1
'''
sql_insert_uuid = ''' UPDATE tablename SET idcolumn=? WHERE rowid=?
'''
sql_find_id_after = ''' SELECT idcolumn,rowid 
                        FROM tablename 
                        WHERE idcolumn=? 
'''
conn = sqlite3.connect(db)
c = conn.cursor()
c.execute(sql_find_id)
nullornot = c.fetchone()[0]
while nullornot == None:
    try:
        c.execute(sql_find_id)
        nullornot = c.fetchone()[0]
    except:
        break
    c.execute(sql_find_id)
    rowid = c.fetchone()[1]
    genuuid = str(uuid.uuid4())
    c.execute(sql_insert_uuid, (genuuid,rowid,))
    c.execute(sql_find_id_after, (genuuid,))
    try:
        c.execute(sql_find_id)
        nullornot = c.fetchone()[0]
    except:
        print("All done")
conn.commit()
conn.close()