오늘은 책을 본지 2일차로 어제까지 약 30%를 읽었다. 오늘은 55%정도까지 읽고 실습을 해보는 시간을 가질것이다.
데이터 입력: INSERT
INSERT INTO 테이블 [(열1,열2, ...)] VALUES (값1, 값2, ...)
AUTO_INCREMENT
자동적으로 1부터 증가하는 값을 넣어준다.
하지만 3,6,9처럼 3씩 증가를 하게 하고 싶으면
@@AUTO_INCREMENT_INCREMENT라고 적어주면 됩니다.
SET @@AUTO_INCREMENT_INCREMENT=3;
데이터 수정: UPDATE
UPDATE 테이블_이름 SET 열1=값1,열2=값2,...
where 조건;
use market_db;
update city_popul set city_name= '서울' where city_name= 'Seoul';
select * from city_popul where city_name= '서울';
Seoul이라는 값을 서울으로 수정을 하였보았습니다.
update에서 where절은 조건을 나타 내지만 만약에 where절을 생략하면 테이블의 모든 행이 바뀌게 됩니다.
use market_db;
update city_popul set population= population / 10000;
select * from city_popul limit 5;
인구수가 1명 단위가 아닌 만명 단위로 있으면 비교하는 속도는 엄청 빨라집니다. 한번 해보겠습니다.
데이터 삭제: DELETE
DELETE FROM 테이블이름 WHERE 조건;
city_popul에서 new로 시작하는 도시를 삭제해보는 쿼리를 만들어 보겠습니다.
use market_db;
delete from city_popul where city_name LIKE'New%';
delete문도 역시 where절이 없으면 모든 행 데이터가 삭제 됩니다.
테이블을 삭제하는 3가지 방법
1. delete from ~; 빈 테이블을 남기고 삭제 시킴 (가장 느림)
2. DROP TABLE ~; 테이블을 아예 삭제 시켜버림
3. TRUNCATE TABLE ~: 빈 테이블을 남기고 삭제 시킴
데이터 형식
음수 말고 0부터 시작하고 싶으면 EX) TINYINT UNSIGNED를 하면 0~255까지의 값을 저장할수 있습니다.
varchar는 가변적인 공간이라서 효율적인 면에서 좋다.
속도면은 char이다.
대량의 데이터 형식
TEXT 나 LONGTEXT는 주로 소설이나 영화 대본 같은 내용을 저장 할때 사용한다.
BLOB는 binary Long Object의 약자이고 글자가 아닌 이미지, 동영상 등의 데이터를 저장하기 위한 형식이다.
실수형
날짜형
두 테이블을 묶는 조인
내부 조인
두 테이블을 연결 할때 가장 많이 사용되는 것은 내부 조인입니다. 내부조인 =조인 이라고 생각하시면 될 것같습니다.
일대다 관계
한쪽 테이블에는 하나의 값만 존재 하고 연결된 다른 테이블에는 여러개의 값이 존재하는 관계를 뜻한다.
구매 테이블 에서 GRL이라는 아이디를 가진 사람이 구매한 물건을 발송하기 위해 다음과 같이 조인해서 다양한 정보를 검색 할수 있습니다.
SELECT <열 목록>
FROM <첫 번째 테이블>
INNER JOIN <두 번째 테이블>
ON <조인될 조건>
[where 검색 조건]
use market_db;
select * from buy
inner join member on buy.mem_id = member.mem_id
where buy.mem_id = 'GRL';
'SQL' 카테고리의 다른 글
[도서] 혼자 공부하는 SQL [1일차-기본문법] (0) | 2021.12.29 |
---|---|
[도서] 혼자 공부하는 SQL [1일차] (0) | 2021.12.29 |
SQL 기초 다지기 (0) | 2021.12.29 |