TIL)23.06.14(SQL 강의)

주민·2023년 6월 14일
0

TIL

목록 보기
18/84

오늘은 어쩌다보니 강의만 보게되서 SQL 강의 내용 정리하려한다.

CREATE

CREATE 제목

CREATE TABLE IF NOT EXISTS "테이블명"
(만들 데이터);
 => "테이블명" 라는 테이블이 존재하지 않는다면 만들어라

CREATE 데이터

  • 컬럼값 선언
    * 기타 구분 : primary key, not null
   CREATE TABLE IF NOT EXISTS MANAGER 
   (
   id bigint primary key comment '수강생코드',
   컬럼명 자료형 기타 구분 이름
   name varchar(100) not null,
   student_code varchar(100) not null
   );
  • FOREIGN kEY를 지정하는 방법
 CREATE TABLE IF NOT EXISTS MANAGER 
(
 CONSTRAINT manager_fk_student_code FOREIGN KEY(student_code) references student(student_code)
=> CONSTRAINT KEY의 이름 FOREIGN KEY(FOREIGN KEY로 쓸 컬럼) references 참조할 테이블 명(연결되는 컬럼명)
);

ALTER(=> 기능부여할 때 사용)

  1. id 컬럼에 auto_increment 부여
ALTER TABLE 테이블명 modify column id bigint auto_increment;
  • ALTER : 기능부여할 때 사용
  • modify column : 수정하다 / 컬럼 => 어떤 컬럼을 수정할 것인가
  • id bigint : 위에서 말한 컬럼명과 자료형을 가져옴
  • auto_increment : 컬럼의 값이 중복되지 않게 1씩 자동으로 증가 => id 컬럼에 해당 기능을 부여함
    -> id 값에 자동 값 생성을 넣어놨으니 INSERT 할 때 입력할 필요가 없음
  1. pk,fk 키 삭제
ALTER TABLE exam DROP CONSTRAINT exam_fk_student_code;
=> ALTER TABLE 테이블명 DROP CONSTRAINT 키이름;
  1. 키 생성(cascade 사용)
  • cascade : DELETE, UPDATE에서 FOREIGN KEY로 연관된 데이터를 같이 삭제,변경할 수 있다.
ALTER TABLE exam ADD CONSTRAINT exam_fk_student_code
    FOREIGN KEY(student_code) REFERENCES student(student_code) on DELETE cascade;
=> ALTER TABLE 테이블명 ADD CONSTRAINT 키 이름 FOREIGN KEY(key 값이된 컬럼) REFERENCES 연결된 테이블(이 테이블의 key 컬럼) on DELETE cascade;

INSERT

  • 텍스트 넣을 때는 ''을 사용
* ()안에 전체 컬럼값을 다 넣어야 함
INSERT INTO MANAGER values(1,'managerA','s1'); 

* 원하는 컬럼값만 insert (id는 자동증가 걸어놈)
INSERT INTO MANAGER(name, student_code) values('managerA','s1');

JOIN

Q. 새개의 테이블을 join하고 매니저가 'managerA' 인 것만 가져옴

SELECT s.name, e.exam_seq, e.score
FROM manager m join student s on m.student_code = s.student_code
join exam e on s.student_code = e.student_code
where m.name ='managerA';

DELETE

  • 기본 delete 문
DELETE FROM student where student_code = 's1';

0개의 댓글

관련 채용 정보