본문 바로가기

Database36

[MySQL] Boolean 사용법 MySql 에서 BOOLEAN TYPE 은 5버전대부터 사용이 가능하다. 실제로 BOOLEAN(BOOL) TYPE 으로 정의하면 TINYINT(1) 형식으로 정의 된다. 데이터 역시 TRUE는 1, FALSE 는 0 으로 저장이 된다. 물론 저장 할때는 TRUE, FALSE 로 저장이 가능하다. 하지만 불러올때는 1, 0 으로 나와서 헤매는 경우가 있는데 이럴땐 아래와 같이 사용하면 된다. IF(칼럼명 , 'true', 'false') as 칼럼명 예를 들면 SELECT IF(agree, 'true', 'false') as agree 이렇게 사용하면 된다. 출처: https://freegians.tistory.com/entry/MySQL-BOOLEAN-TYPE-use-tip MySQL에서 BOOLEAN .. 2022. 8. 3.
[MySQL] 암호화해서 저장하는법 암호화/복호화 하는법이 포스팅된 블로그 포스팅을 그대로 가져왔는데 암호화는 되는데 복호화가 안된다.. MariaDB에서만 되는건가.. 컬럼의 속성이 varchar(30)으로 되어있었는데 넉넉하게 varchar(200)으로 수정하니 정상적으로 복호화가 됐다. 컬럼이 너무 짧게 되어있던듯 ㅋㅋㅋ 요약! 암호화 UPDATE PM_USER SET PASSWORD = HEX(AES_ENCRYPT('abc1234', SHA2('shxdb@123', 256))) WHERE CMPCD = 'P0001' AND USERID = 'guest4' 복호화 SELECT USERID , PASSWORD , LENGTH(PASSWORD) , CONVERT(AES_DECRYPT(UNHEX(PASSWORD), SHA2('shxdb@1.. 2022. 7. 28.
[MySQL] AutoCommit 해제 MySQL Workbench 오토커밋(Auto Commit) 해제하기 MySQL Workbench로 MySQL DB에 접속했을 때 AutoCommit 설정이 기본값이다. 실수로 데이터를 날려버릴 가능성이 있기 때문에, AutoCommit을 해제하기를 권장한다. (필자는 MySQL Workbench 6.3 CE 버전 사용) -- 현재 AutoCommit 값 확인 SELECT @@AUTOCOMMIT; -- AutoCommit 설정 SET AUTOCOMMIT = 1; -- AutoCommit 해제 SET AUTOCOMMIT = 0; 그런데 MySQL Workbench를 기동할 때마다 SET AUTOCOMMIT = 0; 명령어 실행하는 것을 깜빡할 수 있다. 따라서 언제나 AutoCommit이 해제되어 시작되도.. 2022. 7. 2.
[MySQL] 시퀀스 사용법 MySQL에는 오라클처럼 따로 시퀀스 기능을 제공하지 않는다. Oracle(오라클) 데이터베이스에서는 기본적으로 sequence 객체를 사용하여, 기본키로 설정하는 경우가 많다. 생성하는 방법도 쉽고, 사용하는 방법도 쉬운 오라클 시퀀스 객체에 비해 mysql은 다소 어려운 감이 있다. ​ /* 오라클 시퀀스 기본 생성 예 */ create sequence [시퀀스 명]; [시퀀스 명].nextval() -- 1씩 순차적으로 증가함. ​ 오라클 데이터베이스에 익숙해진 상태에서, mysql로 똑같은 기능을 구현하려니 많이 답답했다. 이것저것 검색 해 본 뒤에야, 가장 간단하고 쉽게 구현하는 방법을 찾아냈다 /* seq_mysql 테이블 생성 */ CREATE TABLE seq_mysql( id INT NO.. 2022. 6. 27.