목록나의보물들/MySQL (4)
솔솔
🟡 MySQL에서 데이터 값의 대소문자를 구별하지 못한다는걸 알고 계셨나요? MySQL에서 데이터 값의 대소문자 구분 방법에 대해서 알아보겠습니다 1. 데이터 값 대소문자 변환 방법 1-- upper() : 소문자 -> 대문자 / lower() : 대문자 -> 소문자-- ================================ 1번 방법 (속도측면에서 2번과 비교하면 1번 방법이 빠름)-- 찾을려는 값을 변환해서 찾는 방법SELECT ename , empno , deptno , job FROM empWHERE deptno = 10 and job = upper('manager');SELECT ename , empno , deptno , job FROM empWHERE deptno = 10 and..

실생활에서 영수증번호나 회원번호보면 '1', '2', '3' 이렇게 되있는건 잘 없잖아요 보통 '000001', '000002', '000003' 이렇게 자릿수가 있고 나머지자리는 0으로 채워져있는 느낌 아시쥬 그걸 어떻게 표현 하는지 정리 해보았습니다. * 참고로 저는 Toad for MySQL 툴 사용 LPAD, RPAD // 지정한 특정 문자가 왼쪽에 지정됨 LAPD({문자열}, {문자열길이}, {지정할 특정 문자}) // 지정한 특정 문자가 오른쪽에 지정됨 RAPD({문자열}, {문자열길이}, {지정할 특정 문자}) 1. 문자는 1, 길이는 5, 왼쪽으로부터 나머지 자릿수에는 0으로 채움. SELECT LPAD('1',5,'0') NUM FROM DUAL; 2. 문자는 1, 길이는 5, 오른쪽으로..

오라클 배울 때 PK에 중복방지를 위해 시퀀스를 사용해서 순차적으로 숫자가 증가 할 수 도록했는데 MySQL에서는 시퀀스라는게 없더라구요 ㅠㅠ 비슷한 기능 'AUTO_INCREMENT'를 찾았지만 저는 시퀀스를 하려는 컬럼이 증가가 안되더라구요 ㅠㅠ 열심히 찾다찾다 왜그런지 아래에 정리해 보았습니다. *참고로 저는 Toad for MySQL 툴 이용 AUTO_INCREMENT로 증가 시키기 (컬럼의 타입이 INT일 경우) 1. 테이블을 생성합니다. (보시면 컬럼'num'을 int타입으로 만들고 'AUTO_INCREMENT'적용 했습니다.) CREATE TABLE `test`( `num` int(10) NOT NULL AUTO_INCREMENT PRIMARY KEY, `name` varchar(10) NO..

회원정보 중 전화번호를 DB에 저장할 때 가운데번호를 암호화해서 저장하더라구요. 또 MySQL에서는 양방향 암호화 할 수 있는 기능이 있어서 한 번 해보겠습니다. 암호화 * KEY는 복호화 할 때 사용 hex(AES_DECRYPT('암호화 할 내용','KEY')) 복호화 * 암호화 할 때 작성했던 KEY값을 이용해서 복호화 AES_DECRYPT(unhex([복호화할 컬럼명]), 'KEY') 실습 1. USER테이블에 INSERT하는데 가운데 번호만 암호화해서 넣어보겠습니다. (아래 컬럼 전부 VARCHAR타입) INSERT INTO USER (PHON_NUM1, PHON_NUM2, PHON_NUM3) VALUES ('010', hex(aes_encrypt('1234','J')), '1234'); 2. 데..