INSERT INTO : 데이터 추가
id, name, loginId, password의 attribute를 갖고 있는 MEMBER table에 데이터를 추가하는 예제이다.
TABLE에 존재하는 여러가지 constraints들에 맞게 데이터를 삽입해야한다.
방법 1 : 모든 속성 선택
- table에 존재하는 attribute의 순서대로 값을 넣어줘야 한다.
- table에 존재하는 모든 attribute에 값을 넣어줘야 한다. (null이라도 넣어야함)
insert into member values(3, 'Lee', 'Lee1', 'pwLee');
방법 2 : column 지정
- 아래 방식을 사용하면, attribute 순서를 맞추지 않아도 된다. (순서를 지정해준다.)
- 이 방법을 사용하면 모든 attribute에 값을 넣지않고, 원하는것만 넣을 수 있다.
- NOT NULL로 설정된 값은 불가능하다. (default가 있는경우 가능)
insert into member(name, loginId, password, id) values('Lee', 'Lee1', 'pwLee', 3);
방법 3 : 여러가지 데이터 한번에 넣기
- tuple을 괄호와 쉼표로 구분해 여러개의 tuple를 한번에 추가해준다.
insert into member values(2, 'Kim', 'Kim1', 'pwKim'), (3, 'Lee', 'Lee', 'pwLee');
SELECT : TABLE 확인하기
(link)
2023.04.25 - [Database/SQL] - [SQL/MariaDB] SELECT 데이터 조회
1. table 조회
select * from member;
2. 하나의 tuple만 확인하기
select * from member where id=2;
3. constraints 확인하기
show create table member;
아래와 같이 TABLE의 생성 정보들을 보여준다.
UPDATE : 데이터 수정
UPDATE 테이블명 SET attribute명=수정할 값 WHERE 조건
update member set login_id = 'lee123' where id=3;
예제1) 값을 두배로
update member
set point = point * 2
where id = 3;
예제 2) 두개의 연관된 테이블
위에서 계속 사용하던 member 테이블과 member의 loginId를 FK로 가지는 post 테이블이 있다고 하자.
post 테이블에는 views라는 attributes가 있다. ( 게시글의 조회수를 의미한다 )
- 아래 예제는 member.loginId와 post.writerId가 같고, post.views가 1 이상인 경우,
member.points를 2배로 바꿔주는 예제이다.
update member,post
SET point = point*2
WHERE login_id = writer_id
and views >= 1;
예제 3) 조건없이 전부 다 수정
WHERE
절을 생략하면 해당 테이블의 모든 tuple에 대해 적용된다.
update member set point = point * 2;
DELETE FROM : 데이터 삭제
1. tuple 삭제
member 테이블에서 `id=7`인 tuple 삭제
delete from member
where id = 7;
2. 조건부 삭제
- 조건은 and 키워드로 여러가지를 동시에 만족하는 값을 선택할 수 있다.
membe 테이블에서 points=20인 모든 tuple 삭제
delete from member where point=20;
3. 조건부 삭제(...을 제외하고 삭제)
points=20인 tuple 중에 id=2인 tuple을 제외하고 모두 삭제
- <> 와 !=는 같다. (!=로 사용해도 됨)
delete from member where point=20 and id <> 2;
delete from member where point=20 and id != 2;
4. 모든 tuple 삭제
member 테이블의 모든 tuple 삭제
delete from member;
반응형
'Database > SQL' 카테고리의 다른 글
[DB / SQL] DB Join 조인 (left join / right join / inner join / outer join) (0) | 2024.02.22 |
---|---|
[SQL/MariaDB] ALTER TABLE 명령어 정리 (0) | 2023.07.27 |
[SQL/MySQL] SELECT 데이터 조회 (0) | 2023.04.25 |
[SQL/MariaDB] Constraints / Table 생성하기 (0) | 2023.04.20 |
[SQL] SQL Data type (0) | 2023.04.20 |