sqlite3 보여지는 방식을 MySQL과 비슷하게 설정 > 개발관련
개발관련

sqlite3 보여지는 방식을 MySQL과 비슷하게 설정

조회 14회 댓글 0건
  • 현재 페이지 주소 복사
  • 페이스북으로 공유
  • X 로  공유
  • 트위터로  공유
  • 네이버 블로그로 공유
  • 네이버 카페 공유하기
  • 네이버 라인 공유하기
  • 네이버 밴드 공유하기
  • 링크드인으로 공유하기
  • 핀터레스트에 공유하기

기본적인 특징은 아래와 같으며 사용 가능한지 어떤지 테스트 하면서 정리(테스트) 한것을 다음에 필요 할 수 있어 기록해 둡니다.

이 파일 디비는 동시 처리하는데 문제가 있어 동시 처리 사용하고 싶으면 MySQL 같은 것 사용해야 됩니다.


이게 MySQL과 명령이 비슷한것인가요? ANSI SQL 이라서 그런가요? 후자 인데요.

SQL 문법은 ANSI SQL 나머지 CLI 도구 명령들은 각 DBMS에 따라 다른 경우라고 보면 됨. 



 

- 파일 하나가 곧 데이터베이스 (.db, .sqlite). 그렇기 때문에 DBMS서버 필요 없는 경우 유용함.

- 서버 없이 동작하는 경량 임베디드 RDBMS

- Android, iOS, 브라우저 등에 기본 내장

- SQL 표준 대부분 지원하지만 일부 제한 있음 (예: RIGHT JOIN 미지원 등)

- 동시 쓰기는 약하지만 읽기 성능은 우수


● 동시 읽기

SQLite는 구조상 쓰기는 동시에 1개만 가능 — 이건 WAL도 동일


PRAGMA journal_mode = WAL;      -- 동시 읽기 허용

PRAGMA synchronous = NORMAL;    -- 성능/안전 균형


설정 확인 방법: PRAGMA journal_mode;



● 디비 만들기

sqlite3 DB파일명.sqlite3


.tables : 테이블 목록 나열

.schema 테이블명 : 스키마 보기 MySQL의 DESC


.help 명령을 통해서 사용가능한것을 알수고 있고 요즘은 LLM에게 물어 보면 원하는 것을 알려준다. 



● 설정 옵션 영구 적용

- .sqliterc 파일에 명시해 주면 된다. 

- .sqliterc 는 도트 커맨드(.)만 가능. PRAGMA 문은 직접 작성 불가

> 트릭으로 sql 문을 만들고 ~/.bashrc 파일에 아래와 같은 것을 넣어 사용 가능.

alias sqlite3='sqlite3 -init ~/init.sql' 



윈도우: %USERPROFILE%\.sqliterc

리눅스: ~/.sqliterc


.headers on

.mode box

.changes on

.timer on

.scanstats on


이정도만 설정해도 MySQL과 비슷한 결과를 볼 수 있다. 


.headers    : 쿼리 결과 상단에 컬럼명을 표시

.changes    : INSERT / UPDATE / DELETE 후 영향받은 행 수 표시

.mode box   : mysql 처럼 표형식으로 표여주기

.timer      : 쿼리 실행 후 소요 시간 출력

.scanstats : 쿼리 실행 시 테이블 스캔 통계 출력, 인덱스 사용 여부, 스캔한 행 수 확인 가능


  • 현재 페이지 주소 복사
  • 페이스북으로 공유
  • X 로  공유
  • 트위터로  공유
  • 네이버 블로그로 공유
  • 네이버 카페 공유하기
  • 네이버 라인 공유하기
  • 네이버 밴드 공유하기
  • 링크드인으로 공유하기
  • 핀터레스트에 공유하기
전체 227건 1 페이지
  • profile_image 하네스 엔지니어링 결론부터 말하면 개발 기획자는 별도로 할것 없이 기존에 하던데로 그냥 하면 됩니다.이것, 저것, 문제가많네~ 이런식으로 특정하지 않는 형태로 이쁘게 만들어줘 하는 방식이 문제가 있는것으로 이렇게 언급하는 방식은 현재 사람도 의도 파악을 정확히 모르기 때문에 원하는 결과가 나오지 않습니다.문제가 많아 - 어떤 문제가 많은지 구첵적으로 알려 줘야 해결 가능.이렇게 해석해도 큰 무리가 없는것으로 어떤 문제가 있는지 명확하게 알려줘야 개선이 되고 같은 문제가 생기지 않습니다. 예를 들면.1) 상태값 기록을 위해서 테이블에 시간과 현재 상태 기록해서 체크하는것을 만들어 달라고 했더니 만들긴 잘 만들었습…
  • profile_image 이건 백엔드는 데이터베이스등 서버개발이 유용한 측면들이 많죠.테스트 서버에서 작업하고 git으로 올리는 방법도 있고 git은 백업용도로만 사용하고 다중서버에 직접 올리는 방법도 있습니다.로컬의 편리한 UI + 서버의 강력한 자원 및 환경이 두 가지 토끼를 모두 잡을 수 있는 기능으로 저사양 노트북을 사용하더라도 강력한 클라우드 서버에 연결만 되어 있다면 그 서버의 성능을 내 것처럼 활용할 수 있게 됩니다.사용해 보시면 이런 좋은것을 이제 알았다니 할것입니다. 1. 로컬 환경과의 완벽한 분리 (Clean Local Machine)가장 큰 장점은 내 컴퓨터에 아무것도 설치할 필요가 없다는 것입니다.- 의존성 관리:…
  • profile_image 제목을 반대로 적어 보았습니다. 결국은 어떤 방식을 사용 했을 때 더 효율적이냐 많이 변화 시켰는데 실제 변화된 것이 있느냐.- 웹사트의 예를 들면 화면단에서 변한것이 아무것도 없이 내부적으로만 변경됨- 내부적으로 변경이 많이 되었다는데 시간 차이는 별 다른게 없음- 머지 한다고 충돌 난다고 더 오래 걸리면? 소규모 팀에서 Git을 쓰지 않으면 시대에 뒤처진다고요? 상황에 따라 Git은 오히려 불필요한 복잡성을 더할 수 있으며 아래 경우라면 Git 없이도 충분합니다.5명도 안되는 소규모 팀인 경우 매일 얼굴 보고 대화하는 사이라면 브랜치 전략이나 PR 리뷰 프로세스는 그냥 회의 한 번이면 해결됩니다팀원…
  • profile_image 먼저 실용성 문제에서 작은것이 필요하면 14인치 사면 됩니다.반드시 큰 화면이 필요하면 16인치 아니면 더 큰 것을 사면 되겠지만.여기선 이런 문제가 아니라 성능과 사용성 면에서 어떤것을 선택하는 것이 바람직한가 입니다.노트북은 이동성의 특성상 가능하면 얇게 만들려하고 있습니다.그렇기 때문에 가장 취약 부분이 발생하는 열의 처리 문제가 있는데 크면 클 수록 열처리하는데 있어 물리적으로 유리한 측면이 있습니다.그렇기 때문에 큰 화면 보다 발생하는 열 측면에서 배터리와 속도 모두 효율적인것은 크기 입니다. 발생하는 열을 처리 하는 방법은 냉각팬을 열심히 돌려서 식히는 방법과 다른 방법은 속도를 떨어트려 열 발생이 …
  • profile_image 텔레그램에서 봇파더를 이용해서 봇을 만들고 나서 이 봇에게 API로 메시지를 보내려면 chat_id가 필요한데 이걸 쉽게 알 수 있도록 하나 만들었습니다. cht id 란?텔레그램 봇 API로 메시지를 보내려면 대상의 chat_id(숫자)가 필요합니다.봇 토큰만으로는 메시지를 보낼 수 없고, 누구에게 보낼지를 지정하는 chat_id가 반드시 있어야 합니다.---요즘은 개발자가 아니어도 필요 할 수 있고 LLM에게 물어보면 쉽게 알려주기도 하지만 이것이 필요 할 수 있을것 같아 만들어 봤습니다.봇파더(BotFather)에서 /mybots 하면 봇의 목록을 볼 수 있고 클릭하면 어렵지 않게 이해가 가는 것들이 있고…
  • profile_image LLM은 한단어로 요약하면 두뇌 입니다. 이 인공 두뇌를 사용하기 위해 인터넷을 연결해 대형모델을 사용하느냐 아니면 인터넷 안되도 되는 환경에서 개인 컴퓨터에 뇌를 두고 사용하느냐 입니다.인공뉴런으로 만들어진 인공신경망을 학습시킨 인공 뇌 입니다.사람의 뇌는 뉴런이 있고 뉴런과 뉴런 사이에는 시냅스로 연결되어 학습에 따라 문턱치 값이 생기는데 이 값에 따라서 어떤것이 맞고 틀리고 뭐 그런것입니다.LLM이란?LLM(Large Language Model)은 말 그대로 대규모 언어 모델로 수천억 개에 달하는 파라미터를 기반으로 방대한 양의 텍스트 데이터를 학습해서 만들어진 인공지능 모델로 OpenAI의 GPT-4나 …

상업적 이용 금지. 컨텐츠는 개인 용도로만 사용이 가능 합니다.