Title: Edit Tables
Slug: edit_tables
Summary: Edit tables in SQL.
Date: 2017-01-16 12:00
Category: SQL
Tags: Basics
Authors: Chris Albon

Note: This tutorial was written using Catherine Devlin's SQL in Jupyter Notebooks library. If you have not using a Jupyter Notebook, you can ignore the two lines of code below and any line containing %%sql. Furthermore, this tutorial uses SQLite's flavor of SQL, your version might have some differences in syntax.

For more, check out Learning SQL by Alan Beaulieu.


In [1]:
# Ignore
%load_ext sql
%sql sqlite://
%config SqlMagic.feedback = False

Create Data


In [2]:
%%sql

-- Create a table of criminals
CREATE TABLE criminals (pid, name, age, sex, city, minor);
INSERT INTO criminals VALUES (412, 'James Smith', 15, 'M', 'Santa Rosa', 1);
INSERT INTO criminals VALUES (901, 'Gordon Ado', 32, 'F', 'San Francisco', 0);
INSERT INTO criminals VALUES (512, 'Bill Byson', 21, 'M', 'Petaluma', 0);


Out[2]:
[]

View Table


In [3]:
%%sql

--  Select all
SELECT *

-- From the criminals table
FROM criminals


Out[3]:
pid name age sex city minor
412 James Smith 15 M Santa Rosa 1
901 Gordon Ado 32 F San Francisco 0
512 Bill Byson 21 M Petaluma 0

Update One Row


In [4]:
%%sql

-- Update the criminals table
UPDATE criminals

-- To say city: 'Palo Alto'
SET City='Palo Alto'

-- If the prisoner ID number is 412
WHERE pid=412;


Out[4]:
[]

Update Multiple Rows Using A Conditional


In [5]:
%%sql

-- Update the criminals table
UPDATE criminals

-- To say minor: 'No'
SET minor = 'No'

-- If age is greater than 12
WHERE age > 12;


Out[5]:
[]

View Table Again


In [6]:
%%sql

--  Select all
SELECT *

-- From the criminals table
FROM criminals


Out[6]:
pid name age sex city minor
412 James Smith 15 M Palo Alto No
901 Gordon Ado 32 F San Francisco No
512 Bill Byson 21 M Petaluma No