본문 바로가기

mySQL

[mysql]날짜 포맷 FORAMT 설명 %M 월(Janeary, December, ...) %m 월(01,02,03, ...) %W 요일(Sunday, Monday, ...) %D 월(1st, 2dn, 3rd, ...) %Y 연도(1987, 2000, 2013) %y 연도(87, 00, 13) %X 연도(1987, 2000) %V와 같이 쓰임. %x 연도(1987, 2000) %v와 같이 쓰임. %a 요일(Sun, Tue, ...) %d 일(00, 01, 02, ...) %e 일(0, 1, 2, ...) %c 월(1, 2, ..., 12) %b 월(Jan, Dec, ...) %j 몇번째 일(120, 365) %H 시(00, 01, 02, 13, 24) %h 시(01, 02, 12) %I(대문자 아이) 시(01, 02, 12).. 더보기
[mySQL]없으면 INSERT하고 있으면 UPDATE하기 예시를 보자. INSERT INTO 주문(주문번호, 상태, 가격) VALUES (10,'주문완료', 10000 ) ON DUPLICATE KEY UPDATE 주문번호 = 10,상태 = '주문취소', 가격 = 10000; 주문테이블에 '주문완료' 상태인 주문번호 10번을 넣고, 만약 주문이 있다면 '주문취소'로 바꾼다. UPDATE문의 경우 기존 UPDATE문과 다르게, SET이 들어가지 않음을 알 수 있다. 더보기
[mySQL]case when 조건별로 다른 결과 출력하기 다른 코딩 언어에서 조건식을 사용하듯, mysql에서도 조건식을 사용한다. CASE [컬럼명] WHEN [조건식1] THEN [결과1] WHEN [조건식2] THEN [결과2] ....... WHEN [조건식n] THEN [결과n] ELSE [결과] END 예시) 주민등록번호 뒷자리 첫번째 자리에서 1이면 남자고, 2는 여자를 뜻한다. case gender when 1 then '남자' else '여자' end 그래서 1이면 남자를 출력하게 했고, 2이면 여자를 출력하게 했다. 더보기
[mySQL]권한에러ERROR 1410 (42000): You are not allowed to create a user with GRANT ERROR 1410 (42000): You are not allowed to create a user with GRANT mysql에서 보안을 위해 유저를 만들고 권한을 줬다. root로 로그인했는데도 저런 에러가 나타나서 정말 당황스러웠다.. 이 문제가 나타난 상황은 이렇다. mysql> create database [생성할 데이터베이스 이름]; mysql> create user [생성한데이터베이스이름]@[localhost또는%] identified by '[비밀번호]'; # '%' : 외부권한 허용 mysql> grant all privileges on [생성한데이터베이스].* to '[유저이름]'@'%' WITH GRANT OPTION; 이 상황에서 에러가 나서 정말 당황스러웠다 왜지?하고 검색을 .. 더보기
[mySQL]타임존 바꾸기 - Ubuntu인 경우 1. 터미널 또는 cmd를 연다. $ cd /usr/share/zoneinfo/Asia/Seoul 여기로 잘 들어가진다면 다음 단계로 넘어간다. 만약 없다면 다른 방법을 찾아봐야한다. 2. 한국 시간대로 변경한다. $ sudo cp /usr/share/zoneinfo/Asia/Seoul /etc/localtime $ date date로 현재 시간이 잘 반영되었는지 확인한다. 3. mysql을 restart한다. $ sudo su # service mysql restart +) [datagrip사용하는 경우] - datagrip사용하는 사람의 경우 등등은 계속 진행 1. 터미널 또는 cmd에서 아래의 명령어를 실행한다. $ mysql_tzinfo_to_sql /usr/share/zo.. 더보기
[mySQL]컬럼 데이터타입 변경, 컬럼 크기 늘리기 등 2020/12/05 - [mySQL] - [Database, mySQL]주키수정/주키변경 +주키를 바꾸고 싶을 경우, 삭제하고 추가하는 부분을 권한다.. +꼭 바꿔야한다면 위 글을 봐주면 될 듯 하다. 1. 컬럼 데이터 타입 바꾸기 ALTER TABLE [테이블 이름] MODIFY [컬럼명] [바꾸고자 하는 데이터타입]; 2. 데이터타입에서 크기 늘리기 int -> double ALTER TABLE [테이블 이름] MODIFY [컬럼명] [바꾸고자 하는 데이터타입크기 ex)double]; 3. 컬럼명 바꾸기 ALTER TABLE [테이블 이름] RENAME COLUMN [바꿀 컬럼 이름] TO [바꾸려고 하는 이름] 4. 등등 ALTER TABLE [테이블 이름] COLUMN [컬럼 이름] 뒤에 올 수 .. 더보기
ubuntu ec2 reboot... ec2를 접속한 상태에서 reboot을 하게 되는 경우 모든 게 안 되는 것을 볼 수 있다. 'reboot'을 하면 다행히도 ip 주소만 바뀐다.. 대신 ip 관련 설정했던 것을 모두 해야한다.. reboot은 터미널에 절대 치지 말자,, 더보기
[mySQL][42000][1055]에러 sql_mode=only_full_group_by [42000][1055] Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'artiseeDB.user.u_id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by mySQL로 하다보면 이 문제를 꼭 보게 된다.. 이 문제를 해결해보자 [해결 방법] 1. cmd 또는 터미널을 연다. 2. mysql을 실행한다. $ mysql -u root -p 3. 아래의 명령어를 따라 친다. > show variables like 'sql_mode.. 더보기