MariaDB

    [MariaDB] CTE

    CTE(Common Table Expression)는 select로 가져온 결과를 하나의 테이블로 간주하여 필요한 쿼리를 좀 더 간략화하여 사용할 수 있도록 해줍니다. CTE의 사용형식은 아래와 같습니다. with [CTE이름] (컬럽명1, 컬럼명2....) as ( select 구문... ) 상기 규칙에 따라 CTE를 작성하면 다음과 같은 형식으로 만들어질 수 있습니다. with tmpCTETbl (userAddress, totalAge) as ( select userAddress, SUM(userAge) from tb_user tu group by userAddress ) select userAddress, totalAge from tmpCTETbl; 첫 번째 select문에서는 userAddress..

    [MairaDB] delete

    테이블의 데이터를 삭제하는 경우 delete 구문을 사용합니다. delete from tb_user where userSeq = 1; where를 생략하면 전체 테이블의 데이터를 삭제하므로 주의해야 합니다. 만약 전체가 아닌 조건에 맞는 상위 몇 건의 데이터만 삭제하고자 한다면 delete에 limit키워드를 사용합니다. delete from tb_user where userName Like '홍%' limit 2; 따라서 위 예제는 조건에 맞는 상위 2건의 데이터만 삭제하게 됩니다. 전체 데이터를 삭제하는 경우 delete대신 truncate table구문을 사용할 수도 있습니다. truncate table tb_user; truncate는 delete와 달리 트랜잭션 로그를 남기지 않습니다. 다른 D..

    [MariaDB] update

    특정 테이블의 데이터를 변경하기 위해서는 다음과 같이 합니다. update tb_user set userName = '홍길동' where userSeq = 1; where는 생략할 수 있으나 모든 행의 데이터가 변경될 수 있으므로 주의해야 합니다.

    [MariaDB] 실행 쿼리 모니터링

    1. 로그를 활성화 합니다. SET GLOBAL general_log='ON'; SET GLOBAL slow_query_log='ON'; SET GLOBAL log_output='TABLE'; 2. 로그 테이블을 통해 실행한 쿼리를 확인합니다. select * from mysql.general_log gl; 3. 로그를 계속 남기는것은 성능에 좋지 않으므로 필요하지 않으면 로그기능을 비활성화 합니다. SET GLOBAL general_log='OFF'; SET GLOBAL slow_query_log='OFF'; SET GLOBAL log_output='NONE';

    [MariaDB] Data 파일 위치 변경

    [MariaDB] Data 파일 위치 변경

    1. service.msc 에서 MariaDB 서비스를 중지합니다. 2. MariaDB가 설치된 폴더(C:\Program Files\MariaDB 10.5)를 찾아 Data폴더를 통째로 복사/잘라내기 한 뒤 이동시키고자 하는 위치(ex - D:\Data)에 붙여 넣습니다. 3. 옮겨놓은 위치(ex - D:\Data)에서 my.ini 파일을 찾아 datadir 속성에 기재된 위치 값을 이동한 위치(ex - D:\Data) 경로로 변경합니다. 4. Regedit를 열어 '컴퓨터\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MariaDB' 위치로 이동합니다. 오른쪽의 목록 중 ImagePath를 열어 my.ini의 위치를 이동한 폴더(ex - D:\Data\m..

    [.NET Core] DB로 부터 Model 생성하기 (MySQL/MariaDB)

    [.NET Core] DB로 부터 Model 생성하기 (MySQL/MariaDB)

    Entity Framework을 통해 Model(Entity -> 이하 Model이라고 칭함)을 만들면 모델에 따라 DataBase에 Table을 생성할 수 있습니다. 그런데 키나 값의 제약조건 등 다양한 테이블의 속성을 정확하게 Model로 구현하기가 까다로울뿐더러 Table의 개수가 수십 개가 되면 그와 매핑되는 모델을 만들어 주기도 어려웠습니다. Core이전에는 'ADO.NET Entity Data Model'을 사용했지만 Core는 아직 같은 기능으로 사용할 수 있는 건 없는 듯합니다. 따라서 차라리 직접 Database에 Query나 전용 Tool을 사용해 Table을 생성한 다음 만들어진 Table을 대상으로 Model을 가져오는 편이 나을지도 모르며. 이 글에서는 이러한 방법을 안내하고자 합..

    [node.js] mariaDB CRUD (시퀄라이즈)

    [node.js] mariaDB CRUD (시퀄라이즈)

    1. mariaDB 설치 (WSL2) mariaDB는 아래 명령어로 설치할 수 있습니다. apt update && apt-get -y upgrade apt-get install -y mariadb-server 설치가 완료되면 DB서비스를 시작하고 service mysql start 초기설정을 진행합니다. mysql_secure_installation = unix_socket athorization (시스템과 mysql의 root계정을 동일시 할것인가?) 사용여부 (y) = root 패스워드 설정여부 (n) = anonymous users 삭제여부 (y) = 원격지 root 로그인 비허용여부 (n) = test db 삭제 여부 (y) = 위 설정내용 적용 여부 (y) WLS2에서 mariaDB를 설치한 경..

    [C#] MySQL(MariaDB) EntityFramework 사용하기

    [C#] MySQL(MariaDB) EntityFramework 사용하기

    Core 이외에 보통. NET으로 작업을 하면 대부분 MSSQL을 많이 사용합니다. MSSQL사용 시는 별다른 제약사항 없이 편하게 EntityFramework를 이용할 수 있었는데 MySQL로 EntityFramework를 사용하려면 그게 쉽지가 않았습니다. 참 좋아졌네요. 작년까지만 해도 이래서 안되는둥 저래서 안되는 둥... 이래야 하고 저래야 하고... 말고 많고 탈도 많았는데 이번에 최신 버전으로 다시 해보니 매끄럽게 진행이 돼서 해당 내용을 같이 살펴보고자 합니다. 우선 아래 페이지로 들어가 Development Releases에서 설치파일을 내려받아 설치합니다. 설치하는 과정은 별다른 내용 없이 그냥 일반적인 방법으로 설치하면 됩니다. https://dev.mysql.com/downloads..