SQLite 자습서(5): 데이터베이스 및 트랜잭션
ATTACH DATABASE 문구는 현재 연결에 다른 데이터베이스 파일을 추가합니다. 파일 이름이':memory:'이면 메모리 데이터베이스로 간주할 수 있습니다. 메모리 데이터베이스가 디스크 파일에 오래 지속되지 않습니다.Attached 데이터베이스에 있는 테이블을 조작하려면 테이블 이름 앞에 데이터베이스 이름을 추가해야 합니다. 예를 들어dbname.table_name.마지막으로 설명해야 할 것은, 만약에 하나의 업무가 여러 개의Attached 데이터베이스 조작을 포함한다면, 이 업무는 여전히 원자적이다.다음 예제를 참조하십시오.
sqlite> CREATE TABLE testtable (first_col integer);
sqlite> INSERT INTO testtable VALUES(1);
sqlite> .backup 'D:/mydb.db' -- 。
sqlite> .exit
-- sqlite :
sqlite> CREATE TABLE testtable (first_col integer);
sqlite> INSERT INTO testtable VALUES(2);
sqlite> INSERT INTO testtable VALUES(1);
sqlite> ATTACH DATABASE 'D:/mydb.db' AS mydb;
sqlite> .header on -- 。
sqlite> .mode column -- 。
sqlite> SELECT t1.first_col FROM testtable t1, mydb.testtable t2 WHERE t.first_col = t2.first_col;
first_col
----------
1
2. Detach 데이터베이스:현재 연결된 지정한 데이터베이스를 마운트 해제합니다.main과temp 데이터베이스는 마운트 해제할 수 없습니다.다음 예제를 참조하십시오.
-- , mydb Attach 。
sqlite> DETACH DATABASE mydb;
sqlite> SELECT t1.first_col FROM testtable t1, mydb.testtable t2 WHERE t.first_col = t2.first_col;
Error: no such table: mydb.testtable
3. 업무:SQLite에서 현재 SQL 명령(SELECT 제외)에 대해 지정된 트랜잭션이 표시되지 않으면 SQLite는 자동으로 이 작업의 원자성과 일치성을 보장하기 위해 스텔스 트랜잭션을 추가합니다.물론 SQLite도 대부분의 관계형 데이터베이스에 비해 문법이 기본적으로 같은 사무를 지원합니다.다음 예제를 참조하십시오.
sqlite> BEGIN TRANSACTION;
sqlite> INSERT INTO testtable VALUES(1);
sqlite> INSERT INTO testtable VALUES(2);
sqlite> COMMIT TRANSACTION; -- , 。
sqlite> SELECT COUNT(*) FROM testtable;
COUNT(*)
----------
2
sqlite> BEGIN TRANSACTION;
sqlite> INSERT INTO testtable VALUES(1);
sqlite> ROLLBACK TRANSACTION; -- , 。
sqlite> SELECT COUNT(*) FROM testtable;
COUNT(*)
----------
2
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
SQLite 데이터베이스 설치 및 기본 운영 설명서대부분의 경우 - SQLite의 바이너리 파일이 존재하는지 확인하면 데이터베이스를 만들고 연결하며 사용할 수 있다.내장형 데이터베이스 항목이나 솔루션을 찾고 있다면 SQLite는 매우 고려할 만합니다. SQLite ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.