-- SQLite TRIGGERS CREATE TABLE EMPLOYEE ( empId INTEGER PRIMARY KEY, name TEXT NOT NULL, dept TEXT NOT NULL ); CREATE TABLE AUDIT( EMP_ID INTEGER NOT NULL, ENTRY_DATE TEXT NOT NULL ); -- After Insert Trigger CREATE TRIGGER a_insert AFTER INSERT ON EMPLOYEE BEGIN INSERT INTO AUDIT(EMP_ID, ENTRY_DATE) VALUES (NEW.empId, datetime('now')); END; INSERT INTO EMPLOYEE VALUES (0001, 'Clark', 'Sales'); INSERT INTO EMPLOYEE VALUES (0002, 'Dave', 'Accounting'); INSERT INTO EMPLOYEE VALUES (0003, 'Ava', 'Sales'); SELECT * FROM EMPLOYEE; SELECT * FROM AUDIT; -- Sqlite Trigger AFTER UPDATE CREATE TRIGGER a_update AFTER UPDATE ON EMPLOYEE BEGIN INSERT INTO AUDIT(EMP_ID, ENTRY_DATE) VALUES (new.empId, datetime('now')); END; UPDATE EMPLOYEE SET name = 'kathy' WHERE empId = 0002; SELECT * FROM EMPLOYEE; SELECT * FROM AUDIT; -- SQLite TRIGGER AFTER DELETE CREATE TRIGGER a_delete AFTER DELETE on EMPLOYEE BEGIN INSERT into AUDIT (EMP_ID,ENTRY_DATE) VALUES(OLD.empId,'DELETE ' || date('now')); END; DELETE FROM EMPLOYEE WHERE empId = 0002; SELECT * FROM EMPLOYEE; SELECT * FROM AUDIT; -- Check for triggers SELECT name FROM sqlite_master WHERE type = 'trigger';
Write, Run & Share SQLite queries online using OneCompiler's SQLite online editor and compiler for free. It's one of the robust, feature-rich online editor and compiler for SQLite. Getting started with the OneCompiler's SQLite editor is really simple and pretty fast. The editor shows sample boilerplate code when you choose language as 'SQLite' and start writing queries to learn and test online without worrying about tedious process of installation.
SQLite is an in-process C library that implements small, fast, serverless, zero-configuration, transactional SQL database engine.
CREATE TABLE table_name (
column1 datatype,
column2 datatype,
....);
CREATE TABLE EMPLOYEE (
empId INTEGER PRIMARY KEY,
name TEXT NOT NULL,
dept TEXT NOT NULL
);
ALTER TABLE Table_name ADD column_name datatype;
INSERT INTO EMPLOYEE VALUES (0001, 'Dave', 'Sales');
DROP TABLE table_name;
INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);
Note: Column names are optional.
INSERT INTO EMPLOYEE VALUES (0001, 'Ava', 'Sales');
SELECT column1, column2, ...
FROM table_name
[where condition];
SELECT * FROM EMPLOYEE where dept ='sales';
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
UPDATE EMPLOYEE SET dept = 'Sales' WHERE empId='0001';
DELETE FROM table_name where condition;
DELETE from EMPLOYEE where empId='0001';
CREATE [UNIQUE] INDEX index_name on table_name(column_name);
DROP INDEX index_name ON table_name;
CREATE VIEW View_name AS
Query;
SELECT * FROM View_name;
ALTER View View_name AS
Query;
DROP VIEW View_name;
SELECT * FROM TABLE1 INNER JOIN TABLE2 where condition;
SELECT * FROM TABLE1 LEFT JOIN TABLE2 ON condition;
SELECT * FROM TABLE1 RIGHT JOIN TABLE2 ON condition;
SELECT select_list from TABLE1 CROSS JOIN TABLE2;