DB 63

[MySQL] Foregin Keys 연결 확인하는 방법 (Foregin Keys 설정)

✔ 혹시 ERD에 선이 2개이상 뜨나요?? => Foregin key를 확인해보세요! 확인할 table아래 attend 의 설정 -> Foregin Keys에 들어가서 연결되어 있는 키 확인! ✔ 이때, foregin key의 설정은 1. RESTRICT : 개체를 변경/삭제할 때 다른 개체가 변경/삭제할 개체를 참조하고 있을 경우 변경/삭제가 취소됩니다.(제한) 2. CASCADE : 개체를 변경/삭제할 때 다른 개체가 변경/삭제할 개체를 참조하고 있을 경우 함께 변경/삭제됩니다. 3. NO ACTION : MYSQL에서는 RESTRICT와 동일합니다. 4. SET NULL : 개체를 변경/삭제할 때 다른 개체가 변경/삭제할 개체를 참조하고 있을 경우 참조하고 있는 값은 NULL로 세팅됩니다.

DB/MySQL Workbench 2023.03.29

[MySQL] ERD 수강관리 프로그램 - 5. join 예제

1. 과목별 중간, 기말, 출석, 과제 합계 mysql> select co_name as '과목', sum(at_mid+at_final+at_attend+at_hw) as '점수 합계' -> from attend -> join course on at_co_code = co_code -> group by co_name -> ; +----------------+-----------+ | 과목 | 점수 합계 | +----------------+-----------+ | 컴퓨터개론 | 135 | | 대학수학기초 | 173 | | 기초전기 | 125 | | 프로그래밍일반 | 142 | +----------------+-----------+ 4 rows in set (0.00 sec) mysql> select co..

[MySQL] SQL 내장함수 예시

1. addr의 시를 특별시로 변경하세요 (replace) # 서울시에서 '시'를 '특별시'로 바꾸기 select replace ('서울시','시','특별시'); # test3의 addr의 '시'를 '특별시'로 바꾸기 update test3 set addr = replace(addr,'시','특별시'); #select로 확인해보고 설정하기 = 설정이 바뀌지 않기 때문! select replace(addr,'시','특별시') from test3; 2. dep의 학과가 아닌 값들 뒤에 --학과로 만들기 (concat,right) 1) 학과가 있는 값을 찾아서 제외하고 붙이기 2) 학과가 없는 값을 찾아 붙이기 (뒤에 두 글자가 학과가 아닌경우, 학과를 concat) update test3 set dep = ..

[MySQL] product table - 이전 테이블의 값 중 하나만 가져와서 현재 테이블에 삽입

buy는 구매한 사람의 table buy table의 price를 product에서 찾아 넣기! //아래는 내가 한 방법 mysql> select*from buy; +-----+----------+----------------+-------+--------+---------------------+ | num | customer | product_name | price | amount | buy_date | +-----+----------+----------------+-------+--------+---------------------+ | 1 | 홍길동 | 폴라티셔츠 | 0 | 3 | 2023-03-24 17:22:02 | | 2 | 홍길순 | 에어나시 | 0 | 5 | 2023-03-24 17:22:..

[MySQL] ERD 생성

ERD : Entity Relationship Diagram 개체-관계 모델. 테이블간의 관계를 설명해주는 다이어그램 ( 개체- 관계 모델: 개체타입과 이들 간의 관계 타입을 현실세계를 개념적으로 표현 ) 기호 네모 □: 개체 타입 다이아몬드 ◇ : 관계 타입 동그라미 ○ : 속성 동그라미의 밑줄 : 기본키 속성 연결 선 : 개체와 속성을 연결 ERD 무료 생성 프로그램 https://www.erdcloud.com/ ERDCloud Draw ERD with your team members. All states are shared in real time. And it's FREE. Database modeling tool. www.erdcloud.com 예) 수강관리 프로그램 ERD 만들어보기 https:..

[MySQL] SQL 내장함수 : 논리함수 ( if , case ~ when ~then )

if 문 if문 : if(조건식, 참, 거짓); 다중 if문 : if(조건식, true, if(조건식, true, false)); 예시 ) at_repetition에 ( at_score =F 이거나 at_attend update attend set at_repetition = -> if(at_score = 'F' or at_attend where at_term = 1; 예시) at_score가 'A' 또는 'B'일 경우 'p'아니면 'f'를 넣으세요 mysql> update attend set at_pass = -> if(at_score = 'A' or at_score = 'B', 'p' , 'f' ); case ~ when ~then 문 case when 조건1 then 값1 when 조건2 then ..

[MySQL] ERD 수강관리 프로그램 4. join을 이용한 검색

1. A받은 학생의 명단(학번, 이름) mysql> select a.at_std_num, std_name, a.at_score from attend a -> join student s -> on at_std_num = s.std_num -> where at_score = 'A'; +------------+----------+----------+ | at_std_num | std_name | at_score | +------------+----------+----------+ | 2020160001 | 강철수 | A | | 2020123020 | 박철수 | A | +------------+----------+----------+ 2 rows in set (0.00 sec) 2. 재수강자 명단(학번, 이름,..