저번 글에서 테이블 생성까지 CREATE 명령을 사용해보았다.
만들어진 테이블을 이용하여
DML 언어
- INSERT(추가/입력/삽입), SELECT(확인), UPDATE(수정), DELETE(삭제)를 공부해보겠다 :)
* INSERT
mysql> insert into [테이블이름] values( colum1 value, colum2 value, ...);
숫자와 문자는 쿼터로 구분한다. '' 혹은 ""이 있으면 문자이다.
(insert 사용)
또다른 방법
mysql> insert into [테이블이름]( colum_name, colum_name, ...) values( colum1 value, colum2 value, ...);
이 것은 어느 필드를 채워줄지 앞에서 써주는 것이다.
안써도 되지만 안쓰면 모든 필드를 입력하지 않으면 에러가 나온다.
(insert2 사용)
* SELECT
- 내용을 화면에 출력하고자 할 때 사용한다.
- DB내에서 사용하는 출력문이라고 생각하면 된다.
예를 들어 select 'hello'; 를 입력하면
hello 라고 출력이 된다.
(select)
DB에서 검색하여 출력할 때
mysql> select [필드이름] from [테이블이름];
필드 이름을 * 로 적으면 모든 필드가 출력이 된다.
(모든 필드 출력)
필드를 no로 지정해준 경우
(no_select)
select 구문 뒤에 where을 사용하여 조건을 추가시킬 수 도 있다.
(where 조건)
* UPDATE
mysql> update [테이블이름] set [컬럼]=[값];
-> 이렇게만 사용하면 전체 컬럼이 다 바뀌어버린다.
mysql> update [테이블이름] set [컬럼]=[값] where 컬럼=값;
(where 조건(x))
조건이 없는 경우 위와 같이
모든 행의 데이터가 바뀐다.
예를 들어 성별이 M 인 행만 나이를 22 살로 업데이트하면
(update + 조건)
성별이 M인 행만 22로 바뀐 것을 확인 할 수 있다.
* DELETE
- 행을 삭제하는 것이다.
- 컬럼을 삭제하지는 못한다.
- 컬럼을 삭제하는 것은 DDL로 삭제한다.
- 특정 컬럼만 없애고 싶으면 UPDATE를 이용해야한다.
- DELETE는 한 행을 삭제한다.
만약 delete를 사용하는데 뒤에 where 조건이 없다면
모든 데이터가 사라진다.
(조건(x) delete)
where 뒤에 조건을 주어 특정 행을 삭제 할 수 있다.
예를 들어 no가 3인 행을 삭제해 보겠다.
(행 삭제)
여기 까지 기초적인 SQL 공부였다. :)
'Hacking > Web Hacking' 카테고리의 다른 글
WebHacking - SQL Injection(우회), Blind SQL Injection (0) | 2017.02.24 |
---|---|
WebHacking - SQL Injection(php file download 취약점) (0) | 2017.02.23 |
WebHacking - Include 취약점, SQL (0) | 2017.02.22 |
WebHacking - File Upload 취약점 (우회), Web SHell(웹 쉘) (0) | 2017.02.21 |
WebHacking - 아파치 웹 서버 설정 파일 이해 (0) | 2017.02.21 |