SQL 기본 문법 정리

snovvy·2024년 7월 30일

SQL-Injection

목록 보기
4/9

데이터베이스 접속 방법

mysql -u root -p

USE, SELECT, FROM

  • Use - 데이터베이스 사용
USE example;
  • Select - 검색하고 싶은 속성 찾기
SELECT DATABASE();
  • DATABASE() : 현재 어떤 데이터베이스가 선택되어 있는 지 알려줌, 없다면 NULL 출력

ALL, DISTINCT

  • All - 데이터 투플의 중복을 허용
  • Distinct - 데이터 투플의 중복을 허용 X

SHOW

  • Show - 데이터베이스 목록 출력
show databases;

CREATE, DROP

  • Create - 데이터베이스 생성
CREATE DATABASE[DB_NAME];
create database test_db;
  • Create - 테이블 생성
CREATE TABLE[NAME[(COLUMN_NAME][DATA_TYPE]);
create table test_db(name char(20), age int);
create table member(seq int, name char(20), email char(50)); 
  • Drop - 데이터베이스/테이블 삭제
DROP [DATABASE/TABLE] [NAME];
drop table test_tb;

DESCRIBE

  • Describe - 테이블 구조 확인
DESCRIBE [TABLE];
DESC [TABLE];
describe member;
desc member;

WHERE

  • Where - 조건을 만족하는 데이터만 검색하는 키워드
where id='admin';

INSERT, SELECT

  • Insert - 데이터 삽입
INSERT INTO[TABLE_NAME]([COLUMN1]...) VALUES ([DATA1]...);
insert into test_db (name, age) values('kimhongsam', 55);
insert into member(seq, name, email) values(1, 'admin', 'admin@crehacktive.co.kr');
  • Select - 데이터 조회
SELECT [COLUMN1] FROM[TABLE] WHERE[CONDITION];
select name, age from test_db;
select name, email from member where seq=1;
  • 모든 칼럼을 보는 명령어
SELECT * FROM TABLE;
select * from member;

UPDATE, DELETE

  • Update - 데이터 수정
UPDATE [TABLE] SET [COLUMN1]=[DATA1] WHERE[CONDITION];
update test_db set age=35 where name='kimhongsam';

test_db 테이블에 있는 kimhongsam 의 age 값이 35로 수정된다.

  • Delete - 데이터 삭제
DELETE FROM [TABLE] WHERE[CONDITION];
delete from test_db where name='kimhongsam';
delete from board where idx=100;

test_db 테이블에 있는 kimhongsam 이 삭제 된다.
idx값이 100을 가진 값이 삭제 된다.

LIKE

  • Like - 부분적으로 일치하는 데이터를 검색한다.
  • : 문자열을 연결 : '숫자' + '야구', '숫자야구'
    % : '%축구%', 축구를 포함하는 문자열
    [] : 1개의 문자와 일치 '[0-5]%', 0 ~ 5 사이 숫자로 시작하는 문자열
    [^] : 1개의 문자와 불일치 '[^0-5]%', 0 ~ 5 사이 숫자로 시작하지 않는 문자열
WHERE bookname LIKE '%축구%';

0개의 댓글