[MariaDB/MySQL]SQL Query

📣 테이블

테이블 생성

1
2
create table [테이블명] 
(id int, name varchar(20), isDeleted boolean not null default 0);

테이블명 수정

1
alter table [테이블명] rename [변경할_테이블명];

테이블삭제

1
drop table [테이블명];




📣 컬럼

테이블에 컬럼추가

여러 개 추가시 컴마로 구분하기

1
2
3
alter table [테이블명] 
add [컬럼명] varchar(20) not null default 'N/A',
add [컬럼명] boolean not null default 0;

컬럼명 및 컬럼타입 변경

1
2
alter table [테이블명] 
change [컬럼명] [변경할_컬럼명] int;

컬럼삭제

1
alter table [테이블명] drop [컬럼명];

컬럼순서변경

1
2
3
alter table [테이블명]
modify [컬럼명] INT
after [앞에_위치시키고싶은_컬럼명]




📣 제약조건

제약조건확인

1
2
select * from information_schema.table_constraints 
where TABLE_SCHEMA = [스키마명];

제약조건 추가(PK)

1
2
alter table [테이블명] 
add constraint primary key [컬럼명];

제약조건 추가(FK)

1
2
3
alter table [테이블명] 
add constraint [제약조건이름] foreign key [컬럼명]
references [부모테이블명] [pk컬럼명] on delete cascade / on update cascade;

제약조건 삭제

1
alter table [테이블명] drop constraint [제약조건명];




📣 데이터

insert

  • 필드순서와 데이터값의 순서가 일치할때
    1
    2
    INSERT INTO 테이블이름
    VALUES (데이터값1, 데이터값2, 데이터값3, ...)
  • 필드순서와 데이터값의 순서가 불일치할때
    1
    2
    INSERT INTO [테이블이름] (필드이름1, 필드이름2, 필드이름3, ...)
    VALUES (데이터값1, 데이터값2, 데이터값3, ...)

update

1
2
3
UPDATE [테이블이름]
SET [필드이름1]=[데이터값1], [필드이름2]=[데이터값2], ...
WHERE [필드이름=데이터값];

delete

1
2
DELETE FROM [테이블이름]
WHERE [필드이름]=[데이터값];