Search
moon
sun
✅

240821_1813_SQLite+node

SQLite는 C로 작성된 오픈 소스 임베디드 관계형 데이터베이스 관리 시스템(RDBMS).

•
서버가 필요 없는 파일 기반의 데이터베이스로, 모든 데이터가 단일 파일에 저장.
•
주로 소형 애플리케이션, 모바일 애플리케이션, 데스크탑 소프트웨어 등에 사용됨.
•
ACID(원자성, 일관성, 고립성, 내구성) 속성을 지원.
•
SQL 표준을 준수하며, 복잡한 쿼리도 처리 가능.
•
외부 라이브러리 없이 사용 가능하여 배포와 유지 관리가 간편.

[주요 특징]

•
경량화된 구조로 매우 작은 메모리 및 디스크 공간 사용.
•
단일 데이터베이스 파일을 사용하여 손쉬운 배포 가능.
•
트랜잭션을 지원하여 데이터 무결성 유지.
•
풍부한 데이터 타입 지원(정수, 실수, 텍스트, BLOB 등).
•
외부 종속성이 없으며 크로스 플랫폼 지원.

[요약]

sqlite3: Node.js에서 SQLite 데이터베이스에 연결하기 위한 패키지.
Database: SQLite 데이터베이스를 열거나 생성하는 메서드.
CREATE TABLE: users라는 이름의 테이블을 생성.
INSERT INTO: 데이터 삽입을 위해 준비된 문(statement)을 실행.
db.each: 테이블에서 데이터를 조회하고 각 행을 출력.
db.close: 데이터베이스 연결을 종료.
// Copyright (C) 2024 GloryKim (glory@keti.re.kr) /* SQLite는 C로 작성된 오픈 소스 임베디드 관계형 데이터베이스 관리 시스템(RDBMS). - 서버가 필요 없는 파일 기반의 데이터베이스로, 모든 데이터가 단일 파일에 저장. - 주로 소형 애플리케이션, 모바일 애플리케이션, 데스크탑 소프트웨어 등에 사용됨. - ACID(원자성, 일관성, 고립성, 내구성) 속성을 지원. - SQL 표준을 준수하며, 복잡한 쿼리도 처리 가능. - 외부 라이브러리 없이 사용 가능하여 배포와 유지 관리가 간편. [주요 특징] - 경량화된 구조로 매우 작은 메모리 및 디스크 공간 사용. - 단일 데이터베이스 파일을 사용하여 손쉬운 배포 가능. - 트랜잭션을 지원하여 데이터 무결성 유지. - 풍부한 데이터 타입 지원(정수, 실수, 텍스트, BLOB 등). - 외부 종속성이 없으며 크로스 플랫폼 지원. [요약] sqlite3: Node.js에서 SQLite 데이터베이스에 연결하기 위한 패키지. Database: SQLite 데이터베이스를 열거나 생성하는 메서드. CREATE TABLE: users라는 이름의 테이블을 생성. INSERT INTO: 데이터 삽입을 위해 준비된 문(statement)을 실행. db.each: 테이블에서 데이터를 조회하고 각 행을 출력. db.close: 데이터베이스 연결을 종료. */ /* JavaScript로 SQLite 구현 예제 SQLite는 서버가 필요 없는 데이터베이스이기 때문에, Node.js 환경에서 이를 쉽게 구현할 수 있음. sqlite3 패키지를 사용하여 SQLite 데이터베이스에 접근 가능. */ const sqlite3 = require('sqlite3').verbose(); // 데이터베이스 연결 (test.db 파일이 없으면 생성됨) const db = new sqlite3.Database('test.db'); // 테이블 생성 db.serialize(() => { db.run("CREATE TABLE IF NOT EXISTS users (id INT, name TEXT)"); // 데이터 삽입 const stmt = db.prepare("INSERT INTO users VALUES (?, ?)"); stmt.run(1, "김영광"); stmt.run(2, "김광영"); stmt.finalize(); // 데이터 조회 db.each("SELECT id, name FROM users", (err, row) => { if (err) { console.error(err.message); } else { console.log(`User ID: ${row.id}, Name: ${row.name}`); } }); }); // 데이터베이스 연결 종료 db.close((err) => { if (err) { console.error(err.message); } else { console.log('Database connection closed.'); } }); /* 터미널 결과 mac@macui-MacBookPro platform % cd 240821_1658_SQLlite+node mac@macui-MacBookPro 240821_1658_SQLlite+node % npm install sqlite3 npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported npm WARN deprecated gauge@4.0.4: This package is no longer supported. npm WARN deprecated are-we-there-yet@3.0.1: This package is no longer supported. npm WARN deprecated @npmcli/move-file@1.1.2: This functionality has been moved to @npmcli/fs npm WARN deprecated npmlog@6.0.2: This package is no longer supported. added 123 packages in 6s 12 packages are looking for funding run `npm fund` for details mac@macui-MacBookPro 240821_1658_SQLlite+node % node main.js User ID: 1, Name: Alice User ID: 2, Name: Bob Database connection closed. mac@macui-MacBookPro 240821_1658_SQLlite+node % node main.js User ID: 1, Name: Alice User ID: 2, Name: Bob User ID: 1, Name: Alice User ID: 2, Name: Bob Database connection closed. mac@macui-MacBookPro 240821_1658_SQLlite+node % node main.js User ID: 1, Name: Alice User ID: 2, Name: Bob User ID: 1, Name: Alice User ID: 2, Name: Bob User ID: 1, Name: 김영광 User ID: 2, Name: 김광영 Database connection closed. mac@macui-MacBookPro 240821_1658_SQLlite+node % */
Plain Text
복사

안녕하세요😊

•
한국전자기술연구원 김영광입니다.
•
관련 기술 문의와 R&D 공동 연구 사업 관련 문의는 “glory@keti.re.kr”로 연락 부탁드립니다.

Hello 😊

•
I'm Yeonggwang Kim from the Korea Electronics Research Institute.
•
For technical and business inquiries, please contact me at “glory@keti.re.kr”