728x90
반응형

db 9

[MySQL] ERROR 1231 "NO_AUTO_CREATE_USER" 해결

MySQL이나 MariaDB에서 dump파일을 restore 할 때 버전이 높거나 맞지 않는 경우 해당 오류가 발생하는 것 같다. Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER'" dump를 한 파일은 MySQL 5.6 이었고 restore 하려고 하는 version은 MySQL 8.0과 MariaDB 10.6이었다. 우선 새로운 Version에는 'NO_AUTO_CREATE_USER" 옵션이 없다. 에디터로 해당 덤프 파일을 열어서 "NO_AUTO_CREATE_USER"를 삭제한다. (에디터의 모두 변경을 이용하면 편리하다.) 삭제 후에는 다음과 같은 에러가 발생했다. ERROR 1418 (HY000) : This funct..

DB/MySQL 2022.06.13

[SQLite] LIKE 구문

Query문의 WHERE을 사용하여 제약을 만들 때 부분적 일치를 확인하는 구문이다. MySQL과 대부분 동일하며, &를 %로 바꿔 사용하면 된다. -- A로 시작하는 이름을 가진 레코드 SELECT '컬럼명' FROM '테이블명' WHERE '컬럼명' LIKE 'A%' -- A로 끝나는 이름을 가진 레코드 SELECT '컬럼명' FROM '테이블명' WHERE '컬럼명' LIKE '%A' -- A를 포함하는이름을 가진 레코드 SELECT '컬럼명' FROM '테이블명' WHERE '컬럼명' LIKE '%A%' -- A로 시작하는 이름을 가진 두 글자 레코드 SELECT '컬럼명' FROM '테이블명' WHERE '컬럼명' LIKE 'A_' -- A로 시작하는 이름을 가진 세 글자 레코드 SELECT '..

DB/SQLite 2021.11.17

[데이터베이스] 데이터베이스의 종류

데이터베이스는 어떤 종류의 조직 또는 조직의 프로세스를 모델링하기 위한 목적으로 사용되는, 조직적으로 모아놓은 데이터를 말한다. 데이터베이스에는 운영(operational) 데이터베이스와 분석(analytical) 데이터베이스라는 두 종류가 있다. 데이터 베이스는 일상적으로 데이터를 수집하고 수정하고 관리할 필요가 있는 상황인 온라인 트랜젝션 처리(OLTP : On-Line Transaction Processing) 시나리오에 주로 사용된다. 반면에, 분석 데이터베이스는 역사적이고 시간에 의존적인 데이터를 저장하고 추적할 필요가 있는 상황인 온라인 분석 처리(OLAP : On-Line Analytical Processing) 시나리오에서 주로 사용된다. 분석 데이터베이스는 동향 파악, 장기간에 걸친 통계..

[MySQL] LIKE 구문

Query문의 WHERE을 사용하여 제약을 만들 때 부분적 일치를 확인하는 구문이다. -- A로 시작하는 이름을 가진 레코드 SELECT '컬럼명' FROM '테이블명' WHERE '컬럼명' LIKE 'A&' -- A로 끝나는 이름을 가진 레코드 SELECT '컬럼명' FROM '테이블명' WHERE '컬럼명' LIKE '&A' -- A를 포함하는이름을 가진 레코드 SELECT '컬럼명' FROM '테이블명' WHERE '컬럼명' LIKE '&A&' -- A로 시작하는 이름을 가진 두 글자 레코드 SELECT '컬럼명' FROM '테이블명' WHERE '컬럼명' LIKE 'A_' -- A로 시작하는 이름을 가진 세 글자 레코드 SELECT '컬럼명' FROM '테이블명' WHERE '컬럼명' LIKE '..

DB/MySQL 2021.06.04

[MySQL] SHOW TABLES 테이블 정보 확인

데이터베이스에 생성된 테이블 정보를 확인하는 명령은 'SHOW TABLES'가 있다. MariaDB [stsodb]> SHOW TABLES; +---------------------+ | Tables_in_stsodb | +---------------------+ | machcomptbl | | machsubcomptbl | | v_machcompDomain | | v_machsubcompDomain | | v_submachDomain | +---------------------+ 14 rows in set (0.000 sec) 다른 방법으로는 information_schema를 사용할 수 있는데 엄청난 정보들이 나와서 추천하지는 않는다. SELECT TABLE_NAME FROM information_s..

DB/MySQL 2021.05.25

[SQLite] VSCode에서 SQLite 사용하기

VSCode에서 SQLite를 사용하는 것이 가능하다. 우선 SQLite로 만들어진 *.db3 파일을 VSCode로 연결하면 확장팩에서 SQLite를 추천해준다. 그것이 아니라면 확장팩 검색을 하자. '설치'를 눌러주면 자동으로 설치해 준다. 설치가 끝나면 MySQL Workbench처럼 바로바로 사용할 수 있을 줄 알았는데 그것은 아닌 것 같았다. [SQLite] SQLite 설치 및 사용 준비 SQLite는 클라이언트 응용 프로그램에 임베디드 되어 동작하는 Open Source DBMS이다. SQLite는 '경량화' 되어 있는 DB이며 파일을 기반으로 하기 때문에 데이터베이스의 백업 역시 파일을 통째로 복사하 stormpy.tistory.com Database 파일 여는 방법 1. 명령 팔레트 명령을..

DB/SQLite 2021.05.14

[SQLite] SQLite 설치 및 사용 준비

SQLite는 클라이언트 응용 프로그램에 임베디드 되어 동작하는 Open Source DBMS이다. SQLite는 '경량화' 되어 있는 DB이며 파일을 기반으로 하기 때문에 데이터베이스의 백업 역시 파일을 통째로 복사하면 된다. 또한 모든 기능을 라이브러리 내에서 구동할 수 있기 때문에 따로 미들웨어를 쓰지 않아도 된다. 경량화를 목적으로 두고 있기 때문에 복잡하거나 큰 데이터를 보관하는 데에는 적절치 않다. 또한 Unicode만 사용할 수 있다. 개발 당시부터 이지스함에서 구동되던 탓에 자질구레한 기능은 없다. SQLite를 사용하려면 우선 관련 파일을 받아야 한다. 공식 사이트에 접속하여 해당 파일을 다운로드 하자. SQLite Download Page Templates (1) and (2) are ..

DB/SQLite 2021.05.14

[MySQL] REPLACE 문자열 일괄 변경

PRIMARY KEY를 복수개를 사용할 경우, 외래키를 사용하는 것이 쉽지 않다. 그럴 경우에는 데이터의 무결성을 지켜기 위해서 CASCADE를 직접 구현해야 할 때가 있다. 그 중에서 UPDATE의 경우에 'REPLACE'라는 명령어를 사용하면 쉽게 구현할 수 있다. Column에서 특정 문자를 변경해서 표시할 경우 SELECT REPLACE(필드명, TARGET, NEW) FROM 테이블명; Column의 특정 문자를 변경해서 업데이트 할 경우 UPDATE 테이블명 SET 필드명 = REPLACE(필드명, TARGET, NEW); 상기와 같은 명령을 실행하게 되면 테이블에서 TARGET 데이터가 NEW 데이터로 일괄 변경되어 버린다. 이 때 특정 조건을 이용하여 변경될 데이터를 제약할 수 있다. UP..

DB/MySQL 2021.05.03

[MySQL] Cursor

MySQL은 Stored Procedure의 내부에 Cursor를 사용할 수 있다. Cursor는 일반 프로그래밍 언어의 파일 처리와 방법이 비슷하기 때문에 행의 집합을 다루기에 편리한 기능을 많이 제공해 준다. 1. Cursor의 처리 순서 Curosr는 일반적으로 아래와 같은 순서를 통해서 처리된다. Cursor를 하나씩 이해하기보다는 우선 간단한 예제로 Cursor의 동작을 이해하는 것이 빠르다. DELIMITER $$ CREATE PROCEDURE SP_check_integrity_submach() BEGIN DECLARE endOfRow BOOLEAN DEFAULT FALSE; -- 행의 끝 여부 (Default : FALSE) -- CURSOR에 사용할 변수 DECLARE sqlmachID V..

DB/MySQL 2021.04.20
728x90
반응형