Learning SQL using codecademy
fetch data from a database
- Select all
SELECT * FROM tablename;- Select specific column
SELECT name FROM tablename;CREATE TABLE tablename (
id INTEGER,
name TEXT,
age INTEGER
);- Add a row to the table
INSERT INTO tablename (id, name, age)
VALUES (1, "hyesung", 24);- Add multiple row to the table
INSERT INTO tablename (id, name, age)
VALUES
(1, "hyesung", 24),
(2, "justin", 22),
(3, "huston", 26);add a new column to table
ALTER TABLE tablename
ADD COLUMN twitter_handle TEXT;edit a row in table
UPDATE tablename
SET twitter_handle = "twitterID"
WHERE id = 4;deletes one or more rows from a table
DELETE FROM tablename
WHERE twitter_handle IS NULL;CREATE TABLE celebs (
id INTEGER PRIMARY KEY,
name TEXT UNIQUE,
date_of birth TEXT NOT NULL,
date_of_death TEXT DEFAULT 'Not applicable'
);PRIMARY KEY: 테이블에서 유일한 값, Not null이여야 함, 테이블에 1개만 존재 가능UNIQUE: 테이블에서 유일한 값, 테이블에 여러개 존재 가능NOT NULL: 꼭 있어야하는 값DEFAULT: 기본 값
data sorting
-- ascending
SELECT * FROM tablename ORDER BY fieldname;
-- descending
SELECT * FROM tablename ORDER BY fieldname DESC;data with condition
-- age 값이 10인 검색
SELECT * FROM tablename WHERE age = '10';
-- age 값이 10 이상인 데이터 검색
SELECT * FROM tablename WHERE age > '10';
-- age 값이 10 이상이며 height 값이 170 이상인 데이터 검색
SELECT * FROM tablename WHERE age > '10' and height > '170';
-- name 값이 A로 시작하는 데이터 검색
SELECT * FROM tablename WHERE name LIKE 'A%';
-- name 값이 A로 끝나는 데이터 검색
SELECT * FROM tablename WHERE name LIKE '%A';
-- name 값에 A가 포함되는 데이터 검색
SELECT * FROM tablename WHERE name LIKE '%A%';