mysql 17

MySQL에서 admin 계정만들기

use mysql; create user '어드민유저이름'@'%' identified by '어드민 비번' ; 이유저를 @(네트워크에 접속하게 해주겠다) 비밀번호 치고 grant all on 데이터베이스이름.* to '어드민유저이름'@'%'; 데이터베이스이름에 어드민유저이름을 관리할 권한을 주겠다 그후 새로운 커넥션 만들기 1. hostname : 내가 사용하는 aws rms주소 에 입력 2.username : 내가 방금 만든 id 3.password : 아까 만든 비밀번호 입력후 ok Test Connection까지 누르면 끝

Api 개발/flask 2023.01.04

MySQL 새로운컬럼생성,조건문: case/if함수

새로운 컬럼생성(case) select *, case when 조건 then 결과 else '@@' end as 컬럼이름 from 테이블; case when 일때 then 결과 (이 결과가 나오고) else 결과 (아닐때 이결과가 나옴) end as 컬럼이름 case when 년도가 2000년보다 크거나 같으면 then '모던 북' else 아니면 '20세기 북' end as 컬럼이름 '장르' if함수 select * , if (조건,맞는결과,아닌결과) from 테이블; 컬럼생성 select *, case when 조건 then 결과 else '@@' end as 컬럼이름 from 테이블; if함수 select * , if (조건,맞는결과,아닌결과) from 테이블; 둘다 컬럼이기때문에 select 문에..

카테고리 없음 2022.12.08

MySQL 현재시간호출,시간차이,날짜더하기,date_format :datediff/date_add

select curdate(); select curtime(); select now(); 시간은 UTC 협정시간으로 출력 되기 때문에 9시간 차이가 난다. iso형식의 시간을 한글로 표현하기 select date_format(컬럼,'%Y년 %m월 %d일,%h시%m분%s초') from 테이블; 날짜에서 지금까지 날짜차이구하기 select datediff( now() , 날짜컬럼 ) from 테이블; 날짜 더하기 select birthdt, date_add(날짜컬럼,interval n day) from 테이블; 현재의 연월일 정보 호출 select curdate(); 현재의 시간을 호출 select curtime(); 현재의 연월일 시분초 호출 select now(); 시간은 UTC 협정시간으로 출력 되기 ..

데이터베이스 2022.12.08

foreign key 연결된 데이터 삭제 cascade

데이터베이스에서 id로 연결된 테이블중에서 특정 id데이터를 삭제를 해야한다면 데이터를 공유하고 있는 테이블마다 데이터를 먼저 삭제를 해줘야한다. 이렇게 삭제를 지시를해도 남아있는데 foreign키로 공유되고 있는 데이터를 삭제를 해준다면 하지만 이과정은 너무나도 복잡하고 귀찮기 때문에 이렇게 cascade를 선택해 준다면 바로삭제 가능

카테고리 없음 2022.12.08

MySQL 테이블 합치기 join/left join

테이블 합치기 MySQL에서 데이터끼리 합치는 방법 테이블간 연결을 위해선 당연히 공통되는 부분이 존재 해야한다. 공통되는 부분은 보통 id컬럼으로 정하고 다른 테이블에 첫번째 id컬럼을 인식할 컬럼을 만들어주면된다. 먼저 이렇게 테이블하나를 만들었다면. 이렇게 첫번째 테이블의 id와 join이 가능한 컬럼을 만들어줘야한다. 이때 주의 해야하는게 Unsigned 즉 부호 없음을 체크를 해줘야 한다는것인데 당연히 id값엔 음수가 들어갈수없기 때문에 저부분이 체크가 되어 있어야함. 이름은 원하는대로 적고 연결해줄 테이블을 찾은다음 연결해줄 컬럼을 눌러주면됨 select * from 테이블1 join 합처질 테이블 on 테이블.id = 합처질테이블.합치기위해만든_id; 테이블1과 합처질 테이블을 join 하고..

데이터베이스 2022.12.08

MySQL ~부터~까지,null값찾기,특정데이터무리찾기: between/is null/ in/notl ike

between A and B 에서 A랑 B는 범위에 포함 is null(null 데이터 호출) select * from 테이블 where 컬럼_at is null; not not을 명령문에 섞어 명령의 부정 만들기 select * from 테이블 where 컬럼 not 명령 a와b 사이 데이터 호출 between A and B A랑 B는 범위에 포함 is null select * from 테이블 where 컬럼_at is null; not select * from 테이블 where 컬럼 not 명령

카테고리 없음 2022.12.07

MySQL datetype 컬럼, 년/월/일 호출

컬럼설정 DATE 날짜 출력 TIME 시간 출력 DATETIME 모든시간 날짜 출력 시간이 들어있는 테이블 insert into people2 (name,birthdate,birthtime,birthdt) values ('Mike','1990-11-11','10:07:35','1990-11-11 10:07:35'), ('Larry','1972-12-25','04:10:42','1972-12-25 04:10:42'); 이름과 /년월일/시간/ 년월일시 날짜정보(일 만 가저오기) select name,day(년월일컬럼) from 컬럼; 요일 출력 select name,dayname(년월일컬럼) from 테이블; 요일을 숫자로 출력 select name,dayofweek(년월일컬럼) from 테이블; 일요일:1..

데이터베이스 2022.12.07

MySQL group by된 데이터 가공 : group by having

데이터베이스안에서 테이블에 카테고리컬 데이터를 그룹화한 다음 그 그룹별로 가공하고 싶을때 단순하게 생각했을때 그룹바이를 하고 그아래 where 쓰고 조건을 쓰면 될꺼 같지만 오류가 난다 예를들어 년도별 stock_qauntity 의 평균값이 70보다 큰 책들의, 년도와 평균값을 보여주세요 란 지문이 있다면 년도별 그룹바이 하고 stock_qauntity의 평균이 70보다 큰 조건을 where에 넣으면 될꺼 같지만 오류가 나게된다 select 컬럼 from 테이블 group by 카테고리컬컬럼 having 조건 ; group having select 컬럼 from 테이블 group by 카테고리컬컬럼 having 조건 ;

데이터베이스 2022.12.07

MySQL 집계하기,최대,최소,합계,평균 : group by/max()/min()sum()/avg() /sub query

집계하기 select 컬럼 from 테이블 group by 카테고리컬럼 ; 카테고리컬 데이터를 하나로 묶어서 원하는 컬럼 데이터를 호출할수 있다. 그룹할 컬럼을 적을때 컬럼명을 다 적어주면 다 묶어줌 최대/최소값 select max(컬럼) from 테이블; order 말고 sub query를 통해 최대값 호출하기 select * from 테이블 where 컬럼 = (select max(컬럼) from 테이블) ; 서브쿼리: 명령 안에 또 명령을 넣는것으로 조건을 wher 안에 넣어주면 된다 이때 다른 조건은 ()를 통해 먼저 실행하게 해야함 이렇게 가능 합계 select sum(컬럼) from 테이블; 평균 select avg(컬럼) from 테이블; 집계하기 select 컬럼 from 테이블 group..

데이터베이스 2022.12.07

MySQL distinct(유니크)/order by(정렬하기)/limit(조회한계설정)/like(문자검색)

데이터를 유니크하게 만드는 키워드 테이블안 어떠한 컬럼안 데이터가 카테고리컬 데이터 일경우 이 데이터를 유니크하게 보고 싶다. select distinct 컬럼 from 테이블; 중복되는 데이터를 하나로 합침 정렬하기 테이블위에 특정 컬럼을 중심으로 데이터를 정렬하고 싶을때 select * from 테이블 order by 컬럼 asc or desc; 정렬시 중요한건 정렬한 컬럼외에 다른 같은데이터도 따라 나오는게 중요 기본 디폴트는 asc(오름차순) 이고 desc를 입력시 내림차순으로 정렬이 된다 order by 로 정렬시킬 컬럼을 as로 만든 이름을 적는다 하더라도 똑같이 제대로 인식을 한다. 무슨소리냐면 order by라는 명령어 위에 일어나는 명령이 먼저 실행되고 그후 order by가 실행되는 식..

데이터베이스 2022.12.07