일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 |
- Spring
- RSocket
- SQLite
- Python
- bootstrap
- gradle
- Eclipse
- webflux
- spring boot
- pdo
- JavaFX
- Apache
- node.js
- jquery
- xml
- maven
- 일본
- build tool
- javadoc
- angularjs
- Linux
- SQL
- 개발자 이야기
- php
- WebClient
- swift
- 외국인 노동자
- Java
- Ajax
- mybatis
- Today
- 123
- Total
- 3,697,220
슬기로운 개발자 생활
[SQLite] 함수 - B데이터베이스 연결 후 실행된 SQL 문에 의해 수정/삭제/추가 된 행의 총수를 조회 (total_changes 함수) 본문
[SQLite] 함수 - B데이터베이스 연결 후 실행된 SQL 문에 의해 수정/삭제/추가 된 행의 총수를 조회 (total_changes 함수)
개발자 너부리 2019. 11. 19. 00:24total_changes 함수를 사용하여 데이터베이스에 연결되고 실행된 SQL 문에 의한 수정 또는 삭제된 행의 총수를 구할 수 있다. 여기에서는 total_changes 함수의 사용법에 대해 설명한다.
최근 SQL 구문의 수정 또는 삭제된 행수를 얻으려면 최근 실행된 SQL 문에 의해 수정/삭제/추가된 행수 구하기 (changes 함수)을 참조한다.
total_changes 함수 사용법
total_changes 함수는 데이터베이스에 연결되고 추가/삭제/수정의 SQL 문에 의해 처리된 행의 총 수를 얻기 위해 사용한다. 형식은 다음과 같다.
total_changes()
데이터베이스에 연결한 후에 INSERT 문, UPDATE 문, DELETE 문 등을 통해 테이블 행에 대한 작업을 수행할 때 실제로 처리된 행 수의 합계를 반환한다.
--
그러면 실습으로 추가/삭제/수정의 SQL 문에 의해 처리된 행의 총 수를 구하기 보기 위해 데이터베이스에 연결한다.
$ sqlite3 total_changes.sqlite3
SQLite version 3.19.3 2017-06-27 16:48:08
Enter ".help" for usage hints.
sqlite>
다음과 같이 테이블을 만든다.
create table user (id integer, name text, address text);
sqlite> create table user (id integer, name text, address text);
sqlite>
INSERT 문을 사용하여 1개의 데이터를 저장한다.
insert into user values (1, 'devkuma', 'Seoul');
sqlite> insert into user values (1, 'devkuma', 'Seoul');
sqlite>
INSERT 문을 실행했기 때문에 total_changes 함수를 사용하여 지금까지 처리된 행수를 취득 해 봅니다.
select total_changes ();
데이터베이스 연결한 후에 데이터의 추가와 삭제가 이루어 행수는 1이므로 total_changes 함수는 1을 반환한다.
sqlite> .mode column
sqlite> .header on
sqlite>
sqlite> select total_changes();
total_changes()
---------------
1
sqlite>
그러면 INSERT 문을 사용하여 추가로 7개의 데이터를 저장한다.
insert into user values (2, 'kimkc', 'Busan');
insert into user values (3, 'araikuma', 'Paju');
insert into user values (4, 'happykuma', 'Paju');
insert into user values (5, 'mykuma', 'Daejeon');
insert into user values (6, 'yourkuma', 'Seongnam');
insert into user values (7, 'raccoon', 'Suwon');
insert into user values (8, 'noguri', 'Suwon');
sqlite> insert into user values (2, 'kimkc', 'Busan');
sqlite> insert into user values (3, 'araikuma', 'Paju');
sqlite> insert into user values (4, 'happykuma', 'Paju');
sqlite> insert into user values (5, 'mykuma', 'Daejeon');
sqlite> insert into user values (6, 'yourkuma', 'Seongnam');
sqlite> insert into user values (7, 'raccoon', 'Suwon');
sqlite> insert into user values (8, 'noguri', 'Suwon');
sqlite>
INSERT 문을 실행했기 때문에 total_changes 함수를 사용하여 지금까지 처리 된 행수를 얻어 본다.
select total_changes();
데이터베이스 연결 후 데이터의 추가와 삭제가 이루어 행수는 첫 번째 회 이외에 이번 7번의 INSERT 문을 실행하고 있기에 total_changes 함수는 8을 반환다.
total_changes 함수 사용 (6)
sqlite> select total_changes();
total_changes()
---------------
8
sqlite>
--
다음 UPDATE 문을 사용하여 일부 데이터를 수정한다.
update user set address = 'suwon' where address = 'Suwon';
sqlite> update user set address = 'suwon' where address = 'Suwon';
sqlite>
이번에는 UPDATE 문에서 수정된 데이터의 수는 2이었기 때문에 데이터베이스 연결한 후에 데이터의 추가와 삭제가 이루어 행수는 지금까지 8회에 이번에 2회를 더해서 total_changes 함수는 10이 반환된다.
select total_changes();
sqlite> select total_changes();
total_changes()
---------------
10
sqlite>
이렇게 total_changes 함수를 사용하여 데이터베이스 연결한 후에 INSERT 문, UPDATE 문, DELETE 문에 의해 처리된 행의 총수를 받아올 수 있다.
'IT 개발 > SQLite' 카테고리의 다른 글
[SQLite] 함수 - 지정한 값과 같으면 NULL을 반환 (nullif 함수) (0) | 2019.11.19 |
---|---|
[SQLite] 함수 - 값이 NULL인 경우에 지정된 다른 값을 반환 (ifnull 함수, coalesce 함수) (0) | 2019.11.19 |
[SQLite] 최근 실행된 SQL 문에 의해 수정/삭제/추가된 행수 구하기 (changes 함수) (0) | 2019.11.19 |
[SQLite] 함수 - 지정한 바이트의 BLOB 타입 0x00 값을 생성 (zeroblob 함수) (0) | 2019.11.19 |
[SQLite] 함수 - BLOB 타입의 값에 대한 난수를 생성 (randomblob 함수) (0) | 2019.11.19 |
- Tag
- SQLite