728x90
이전 포스팅에 이어서 진행하기 위해 db1을 사용.
CREATE
INSERT INTO 구문을 이용하여 행을 추가할 수 있다.
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
topic 테이블 구조
DESC topic;
id값은 auto_increment로 지정해놓았기 때문에 별도의 추가가 필요없다. (물론 원한다면 해도 됨)
INSERT INTO topic (title, description, created, authr, profile) VALUES('MySQL', 'MySQL is ...',NOW(),'wonillism','devaloper');
INSERT INTO topic (title, description, created, authr, profile) VALUES('ORACLE','ORACLE IS ...', NOW(), 'egoing', 'developer');
INSERT INTO topic (title, description, created, authr, profile) VALUES('SQL server','SQL server is ...', NOW(), 'duru', 'database administrator');
INSERT INTO topic (title, description, created, authr, profile) VALUES('PostgreSQL','PostgreSQL is ...', NOW(), 'taeho', 'data scientist, developer');
INSERT INTO topic (title, description, created, authr, profile) VALUES('MongoDB','MongoDB is ...', NOW(), 'egoing', 'developer');
READ
SELECT column1, column2, ...
FROM table_name;
현재 topic 테이블의 모든 데이터를 보여줌
원하는 column을 보고싶을 때, column값을 직접 입력해준다.
SELECT id, title, description FROM topic;
SELECT
[ALL | DISTINCT | DISTINCTROW ]
[HIGH_PRIORITY]
[STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
select_expr [, select_expr] ...
[into_option]
[FROM table_references
[PARTITION partition_list]]
[WHERE where_condition]
[GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
[HAVING where_condition]
[WINDOW window_name AS (window_spec)
[, window_name AS (window_spec)] ...]
[ORDER BY {col_name | expr | position}
[ASC | DESC], ... [WITH ROLLUP]]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
[into_option]
[FOR {UPDATE | SHARE}
[OF tbl_name [, tbl_name] ...]
[NOWAIT | SKIP LOCKED]
| LOCK IN SHARE MODE]
[into_option]
into_option: {
INTO OUTFILE 'file_name'
[CHARACTER SET charset_name]
export_options
| INTO DUMPFILE 'file_name'
| INTO var_name [, var_name] ...
}
대괄호에 있는 값들은 생략가능하다.
UPDATE
수정해야 할 부분
authr -> author
id 1 의 profile : devaloper -> developer
컬럼명을 변경하기 위해서는 ALTER 구문을 사용해야 한다.
(ALTER문은 DDL(Data Definition Language) 데이터 정의어 입니다. sql에는 DDL, DML, DCL 세가지가 있는데 데이터배이스 포스팅에서 따로 다루겠습니다.)
ALTER TABLE table_name
MODIFY COLUMN column_name datatype;
authr 를 author로 바꾸려면
ALTER TABLE topic CHANGE authr author VARCHAR(30);
id 1 의 profile : devaloper -> developer를 위해서는 UPDATE 구문을 사용해야 한다.
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
UPDATE topic SET profile='developer' WHERE id=1;
아래와 같이 잘 수정되었다.
더보기
Single-table syntax:
UPDATE [LOW_PRIORITY] [IGNORE] table_reference
SET assignment_list
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]
value:
{expr | DEFAULT}
assignment:
col_name = value
assignment_list:
assignment [, assignment] ...
Multiple-table syntax:
UPDATE [LOW_PRIORITY] [IGNORE] table_references
SET assignment_list
[WHERE where_condition]
※ WHERE문을 빠트리면 테이블 전체에 영향이 있으므로 항상 조심하여야 한다.
DELETE
가장 마지막에있는 행을 삭제해보자.
DELETE FROM topic WHERE id = 5;
더보기
Single-Table Syntax
DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name [[AS] tbl_alias]
[PARTITION (partition_name [, partition_name] ...)]
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]
Multiple-Table Syntax
DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
tbl_name[.*] [, tbl_name[.*]] ...
FROM table_references
[WHERE where_condition]
DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
FROM tbl_name[.*] [, tbl_name[.*]] ...
USING table_references
[WHERE where_condition]
참조 :
MySQL Reference
W3Schools
728x90
300x250