본문 바로가기

DB7

MySQL 입력용 프로시저 - 트랜젝션, 시퀀스, 롤백 사용 START TRANSACTION;1. 서론MySQL 프로시저를 사용하여 간단한 구조의 테이블에 INSERT를 해보고 TRANSACTION을 이용해 입력에 실패한 경우 입력을 ROLLBACK하고 오류에 대한 내용까지 저장해보도록 하겠습니다.해당 글에서는 INSERT를 사용하지만 SELECT나 UPDATE, DELETE에 응용하셔서 사용하셔도 좋습니다.추후 프로시저에 대한 내용도 자세하게 다룰 예정이지만 기초적인 구조를 알아가는데에 좋을 것 같습니다. 1.1. 사용환경사용할 DB는 마리아DB입니다.PK를 생성할 때 직접 pk를 생성하는 방식을 사용하기 때문에 내부적으로 코드의 중첩을 피하기 위해 시퀀스를 사용하는데 아직 MySQL은 시퀀스를 공식적으로 지원하지 않기 때문에 마리아 DB를 사용하였습니다. 1... 2024. 8. 12.
MySQL windows/linux 버전 확인 1. 서론windows 방법은 MySQL에 접속 한 후 실행하는 방법입니다.linux 방법은 MySQL에 접속하지 않아도 사용할 수 있는 방법입니다. 2. Windows 명령문select version(); 명령문은 다음과 같습니다. 2.1. 실행 결과 저는 DBeaver에서 확인하였으며 실행시 쿼리 결과문에 버전을 확인할 수 있습니다. 3. Linux 명령문mysql --version linux 환경에서는 터미널에서 다음과 같이 명령어를 사용할 경우 버전을 확인할 수 있습니다. 4. 결론보통 linux 계열을 사용할 경우 저는 gui를 사용하지 않기 때문에 mysql --version 구문을 이용하지만 windows에서는 터미널에서 해당 구문을 사용하여도 확인할 수 없는 경우가 있습니다.각 OS 환경에.. 2024. 8. 7.
SQL Error [1290] [HY000]: The MySQL server is running with the --secure-file-priv option so it cannot execute this statement windows 환경에서 Mysql, MariaDB를 사용하고 있을 경우 로컬 파일을 DB에 입력할 때 발생하는 오류이다.보안 옵션에 의해 로컬 파일을 DB에서 사용할 경우 특정 위치에 파일에 위치시킨 파일을 사용하지 않았을 경우 발생하며 SHOW VARIABLES LIKE 'secure_file_priv';다음 구문을 DB에서 실행 시키면 현재 내 DB 환경에 따른 공유 폴다 위치를 확인할 수 있다. 내 경우는 다음과 같았고  해당 위치에 따른 다음 쿼리문을 사용하였음에도 오류가 발생하였다.  LOAD DATA INFILE 'C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\dummy_data_faker.xlsx' INTO TABLE tbl_user FIELDS TERMI.. 2024. 7. 29.
IBM Data Studio 설치 1. 서장ERD 툴을 찾다보니 IBM Data Studio라는 툴을 찾았습니다.이름대로 IBM 에서 지원하는 툴인데 원래는 IBM DB2 사용하기 위해 지원하는 툴로보이는데 Oracle, MySql도 지원합니다.대기업에서 지원하는 툴로서는 드물게 무료 이용이 가능한 툴이고 해당 툴을 이용해서 ERD를 작성하고 사용하기에 너무 좋아 해당 툴을 소개 하고자 합니다.국내에서는 해당 툴에 대한 소개가 거의 없어서 설치 부터 간단한 ERD 작성까지 진행해보자고 합니다.해당 툴은 이클립스를 기반으로 작성되어 있다고 합니다.초반 설치가 살짝 헷갈리는 부분이 있어서 설명하고자 하니 캡쳐된 부분만 확인하셔도 쉽게 설치하실 수 있을겁니다. 설치를 위한 URL은 다음과 같습니다.https://www.ibm.com/produ.. 2024. 7. 28.
마리아DB 시퀀스 생성 대부분 DB에서 지원하지만 Mysql에서는 지원하지 않아 MariaDB로 옮겨가게된 가장 큰 요인 중 하나인 스퀀스 생성 방법에 대해 설명하고자 합니다.시퀀스는 특정 영역의 시작점과 종료 지점을 설정한 후, 순차적으로 숫자를 증가시켜 시작점에서 종료지점에 도달하면 다시 시작점부터 숫자를 반환합니다.따라서 1에서 9999까지의 범위를 가지며 1씩 증가하는 시퀀스를 생성한다고 했을 경우 다음과 같이 동작하게 됩니다. 1. 시퀀스 동작 방식 DB에서 PK를 지정할때 사용되곤 하는 auto_increment 와 비슷한 느낌이지만 auto_increment 와 달리 일정한 규칙을 가지고 해당 반복 안에서 중복되지 않은 반환값을 가지며, DB를 통해 호출하는 만큼 사람이 DB에서 마지막 번호를 호출하여 +1을 하여.. 2024. 5. 15.
MariaDB 데이터베이스 생성 및 테이블 생성 기존에 로컬에 MariaDB를 설치하고 DBeaver를 이용하여 로컬환경에 설치한 MariaDB에 접속하는 방법까지 알아봤습니다.오늘은 DBeaver를 이용해 접속한 MariaDB에서 사용할 데이터베이스를 생성하고 테이블까지 생성해보도록 하겠습니다. 1. 데이터베이스 생성마지막으로 작업했던 부분에서 시작하겠습니다.DBeaver를 이용하여 로컬 환경에 설치한 MariaDB에 접속하였습니다. 좌측 데이터베이스 네비게이터에서 localhost 하단 DataBase 항목의 화살표를 선택합니다.  아직 로컬 환경에서 별도의 Database를 생성하기 전이기 때문에 기본 생성된 sys 만 존재합니다. 이제 데이터베이스 생성을 위해 Database 항목에 커서를 가져간 후 마우스 오른쪽 클릭을 한후 나오는 메뉴창에서.. 2024. 5. 15.
윈도우(windows) mariadb 설치 실제 서비스를 하게되면 대부분 Centos 나 Rocky 혹은 ubuntu 환경을 사용하기에 Windows에서 MariaDB를 설치할 일은 없지만 서비스 전 자신의 개발 환경에서 테스트를 하기위해 윈도우에서 MariaDB를 설치하는 방법에 대해 소개하고자합니다. 1. MariaDB 다운로드MariaDB를 다운로드하기 위해 공식 홈페이지로 들어갑니다. https://mariadb.com/ Open Source Database (RDBMS) for the Enterprise | MariaDBMariaDB provides enterprise open source database and cloud managed database services to support scalability, mission-critic.. 2024. 5. 14.