본문 바로가기

Database/MySQL

(6)
[Mysql] 랜덤 숫자 * ) RAND() select rand() --랜덤값 반환 RAND(1) 특정 값으로 고정된다 FLOOR( RAND() * 100 ) FLOOR( RAND() * {최대숫자} ) -- 소수점 이후의 숫자 없이 0~100사이의 수를 랜덤하게 가져온다. ROUND(RAND(), 3) -- 랜덤한 수를 소수점 3번째 자리에서 반올림한 결과로 반환한다. TRUNCATE(RAND() , 2 ) -- 소수점 2자리수 이하로 모두 버린 결과를 반환한다. * ) 3 ~ 10까지의 숫자 중 랜덤으로 검색 cast(rand() * {데이터 전체 범위} as signed ) + {최소숫자} select cast(rand() * 10 as signed ) + 1 -- 1에서 11 사이의 숫자를 랜덤하게 반환한다. selec..
[MySql] select한 결과를 값으로 CUD 하기 ( insert - select ) select - insert INSERT INTO 들어갈테이블명 (컬럼명1, 컬럼명2, 컬럼명3) SELECT 컬럼명1, 컬럼명2, 컬럼명3 FROM 조회할테이블명 insert into tb_post_hist ( post_no , hist_type , title , content ) select tp.post_no , #{postHist} , tp.title , tp.content from tb_post tp where tp.post_no = #{postNo}
[MySQL] Mysql Workbench로 ERD추출하기 ( mac ver ) Mysql Workbench란? SQL 개발과 관리, 데이터베이스 설계, 생성 그리고 유지를 위한 단일 개발 통합 환경을 제공하는 데이터베이스 설계 도구이다. 기존에 DB클라이언트 툴로 Dbeaver을 사용하고 있었지만 생성된 테이블정보로 관계도를 그려주는 기능은 유료모델이어서🥲 다른 툴을 추천받아 사용하게 되었다. 1. Mysql Workbench 를 설치 https://dev.mysql.com/downloads/workbench/ 으로 이동 후 화면 맨 아래의 [ No thanks , just start my download.] 를 눌러 다운로드 화면으로 이동한다. 2. 다운로드 후 설치 실행 다운로드 된 파일을 더블클릭하여 실행 > 나타나는 창에서 왼쪽의 돌고래 아이콘을 Applications 폴더..
[MySQL] 리눅스로 DB생성하기 & 계정 추가 & 권한추가 0. Mysql이 설치된 리눅스로 이동 1. mysql 에 로그인한다. # root로 로그인 $ sudo /usr/bin/mysql -u root -p 2. 데이터베이스 생성 mysql> create database {데이터베이스이름}; mysql> show databases; 3. sample_db를 사용할 계정 생성 및 확인 - localhost로 쓰여있으면 설치된 로컬 서버에서만 접근이 가능 - %로 설정 시 어디에서나 접근이 가능. mysql> create user '유저아이디'@'localhost' identified by '비밀번호'; mysql> create user '유저아이디'@'%' identified by '비밀번호'; mysql> flush privileges; mysql> sele..
[MySQL] on duplicate key update ( insert 할 때 키 값이 중복되면 update 하기 insert 시 이미 등록된 키값의 데이터여 중복 에러가 나는 경우 새 값으로 업데이트 한다 - 등록된 데이터가 없으면 insert 하고, 이미 등록된 데이터가 있으면 update를 한다. 🌈 on duplicate key update 활용 insert into {tableName} (column1, column2 ) values ( 1, 2 ) on duplicate key update column2 = column2+2 -- 결과 column2가 4로 등록된다. 🌈 select insert로 이미 등록된 값을 update하기 -- select insert 으로 중복 값 바꾸기 insert into {tableName1} ( column1, column2, column3 ) select v..
[ mysql ] 1년 사이에 등록된 데이터 리스트 뽑기 상황 - 2021년 1월 부터 2021년 12월 사이에 등록된 데이터 리스트를 뽑아야 한다. - 저장된 데이터는 GMT 00:00 이고, 한국 시간으로 보여주어야 한다. - 이벤트의 시작일과 종료일은 날짜만 있는 경우 날짜만 표시하고, 시간이 있는 데이터인 경우 시간까지 모두 표시해야한다. 찾아본 것 🌈 조건 검색 ( case when then end ) 체크해야할 조건이 많은 경우, 특정 조건에 부합할 때 특정한 값을 반환한다. 더보기 - 양식 case when 조건 then 반환값 when 조건 then 반환값 else 조건에 해당 안되는 경우 반환 값 end - when과 then은 무한대로 쓸수 있다. - 프로그래밍 언어의 switch /case문과 비슷하지만 mysql에서는 하나의 조건에 부합하..