SQL 문법
sqlite3 tutorial.sqlite3
.tables
.database
.shell cls
SELECT * FROM classmates;
CREATE TABLE classmates (
id INTEGER PRIMARY KEY,
name TEXT
);
DROP TABLE classmates;
CREATE TABLE classmates (
name TEXT,
age INT,
address TEXT
);
INSERT INTO classmates (name,age)
VALUES ('홍길동',23);
INSERT INTO classmates (name,age,address)
VALUES ('홍길동',30,'서울');
SELECT rowid, * FROM classmates;
SELECT name FROM classmates;
CREATE TABLE classmates (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INT NOT NULL,
address TEXT NOT NULL
);
.schema classmates
INSERT INTO classmates
(name, age, address)
VALUES ('홍길동',30,'서울');
INSERT INTO classmates
(name, age, address)
VALUES ('김길동',30,'서울');
INSERT INTO classmates
VALUES(3,'한길동',20,'부산');
CREATE TABLE classmates (
name TEXT NOT NULL,
age INT NOT NULL,
address TEXT NOT NULL
);
INSERT INTO classmates VALUES
('홍길동', 30, '서울'),
('임길동', 31, '부산'),
('이길동', 36, '대구'),
('박길동', 25, '대전'),
('최길동', 20, '울산');
SELECT name,age FROM classmates;
SELECT name,age FROM classmates
LIMIT 3;
SELECT name,age FROM classmates
LIMIT 1 OFFSET 2;
SELECT * FROM classmates
WHERE address='서울';
SELECT DISTINCT * FROM classmates;
DELETE FROM classmates
WHERE rowid=5;
INSERT INTO classmates
VALUES ('김싸피', 30,'부산');
UPDATE classmates
SET name='박싸피', age=100
WHERE rowid=1;
CREATE TABLE users (
first_name TEXT Not NULL,
last_name TEXT Not NULL,
age INTEGER NOT NULL,
country TEXT Not NULL,
phone TEXT Not NULL,
balance INTEGER NOT NULL
);
.mode csv
.import users.csv users
SELECT * FROM users;
SELECT * FROM users
WHERE age >= 30;
SELECT first_name FROM users
WHERE age>=30;
SELECT age,last_name FROM users
WHERE age>= 30 AND last_name='김';
SELECT * FROM users
WHERE age<=30 OR last_name='김'
SELECT COUNT(*) from users;
SELECT AVG(age) FROM users;
SELECT AVG(age) FROM users
WHERE age >=30;
SELECT first_name,MAX(balance)
FROM users;
SELECT AVG(age),AVG(balance)
FROM users
WHERE age >= 30;
SELECT first_name,MIN(balance) FROM users
WHERE age <=30;
SELECT * FROM users
WHERE age LIKE '2_';
SELECT * FROM users
WHERE phone LIKE '02-%';
SELECT first_name FROM users
WHERE first_name LIKE '%준'
OR first_name LIKE '%진';
SELECT * FROM escapes
WHERE text LIKE '^%%안녕'
ESCAPE '^';
SELECT * FROM users
WHERE phone LIKE '%-5114-____';
SELECT * FROM users
ORDER BY age ASC LIMIT 10;
SELECT * FROM users
ORDER BY age,last_name ASC LIMIT 10;
SELECT last_name, first_name, balance
FROM users
ORDER BY balance DESC LIMIT 20;
SELECT last_name,COUNT(*)
FROM users
GROUP BY last_name;
SELECT last_name,
COUNT(*) AS name_count
FROM users
GROUP BY last_name;
ALTER TABLE articles
RENAME TO news;
ALTER TABLE news
ADD COLUMN created_at TEXT NOT NULL
DEFAULT 'now';
INSERT INTO news
VALUES
('제목','내용', datetime('now'));
.headers on
.mode column
ALTER TABLE news
RENAME COLUMN created_at
TO updated_at;