블로그는 나의 힘!
[ Programing ]/Database2023. 5. 8. 11:09

# SHOW TABLE STATUS : 테이블 상태 확인 하기.
> SHOW TABLE STATUS WHERE NAME = "[TABLE]";

# LAST_INSERT_ID() : INSERT 쿼리가 수행될 때 메모리로 저장된 구문값 호출.
> INSERT INTO ... VALUES(...);
> INSERT INTO ... VALUES(...);
> INSERT INTO ... VALUES(...);     -- INSERT 3번 생성
> SELECT LAST_INERT_ID();   
     -- 결과 : 3

> INSERT INTO ... VALUES(...)(...)(...);     -- 하나의 쿼리로 INSERT 3번 생성
> SELECT LAST_INERT_ID();
     -- 결과 : 4  
       (INSERT VALUES 6번 삽입 되었다고 결과 4가 나오는게 아님.)




INSERT 후 시퀀스 다음 번호를 알고 있다면 AUTO_INCREMENT 확인하자.
(성능 보장 못함. 테스트 X)

> SELECT AUTO_INCREMENT 
   FROM information_schema.TABLES 
   WHERE TABLE_SCHEMA = "[DATABASE]" AND TABLE_NAME = "[TABLE]";

혹은, SHOW TABLE 에서 AUTO_INCREMENT 확인.
> SHOW TABLE STATUS WHERE NAME = "[TABLE]";




참고 : https://blog.naver.com/pjt3591oo/222890004904

 

[mysql] auto_increment와 last_insert_id()

안녕하세요. 멍개입니다. 이번 시간은 PK로 자주 사용하는 AUTO_INCREMENT를 알아보겠습니...

blog.naver.com

 

Posted by Mister_Q
[ Programing ]/Database2023. 5. 8. 10:55

SELECT * 
FROM information_schema.TABLES 
WHERE TABLE_SCHEMA = "[DATABASE]" AND TABLE_NAME = "[TABLE]";

 

Posted by Mister_Q
[ Programing ]/Database2023. 5. 4. 17:57

RowCount : 쿼리 실행문 실행 후 영향을 받은 로우의 수를 반환한다.

# MS-SQL
MS-SQL 에서 SELECT, INSERT 할때 실행 반환 체크로 @@Rowcount 있다.

> CREATE TABLE #TEMP (Object VARCHAR(10), Price INT);   -- 임시 테이블
> INSERT INTO #TEMP (Object, Price) VALUES ('Toy', 10000);
> INSERT INTO #TEMP (Object, Price) VALUES ('Toy', 30000);
> INSERT INTO #TEMP (Object, Price) VALUES ('book', 50000);

> UPDATE #TEMP1 SET Price = 20000 WHERE Object = 'Toy';
> SELECT @@ROWCOUNT 
-- 결과 : 2





# MySQL
INSERT, DELETE, UPDATE 쿼리를 통해 수행된 row 수를 알려준다.
MySQL 에서 SELECT 는 FOUND_ROWS(), INSERT / UPDATE / DELETE 는 ROW_COUNT() 있다.
영향을 받은 행이 없다면 -1 반환.

> SELECT rowIndex, rowValue FROM tableName;
> SELECT FOUND_ROWS();


> INSERT INTO tableName VALUES (1, 'value'); 
> SELECT ROW_COUNT();
-- 결과 : 1

> INSERT INTO tableName VALUES (10, 'value') (11, 'value') (12, 'value')
> SELECT ROW_COUNT();
-- 결과 : 3

> DELETE FROM
 tableName rowIndex IN(1, 10)

> SELECT ROW_COUNT();
-- 결과 : 2






참고 : 
MySQL :: MySQL 5.7 Reference Manual :: 12.15 Information Functions

https://dev.umejintan.com/7

 

[MySql] Select 된 Rowcount 를 얻는 방법(MSSql의 @@Rowcount)

Mysql에서는 어떻게 Select된 Rowcount를 얻을 수 있는가? MSSql를 주로 사용하다 보니 SQL에서 자주 사용 하던 @@Rowcount 를 대신 할 수 있는 기능이 필요했다. MySql에는 FOUND_ROWA() 라는 함수가 있다. 사용

dev.umejintan.com

 

https://ggmouse.tistory.com/155

 

[MSSQL] @@ROWCOUNT 영향 받은 행 수 반환

실행된 쿼리문의 영향을 받은 행의 수를 반환하는 @@ROWCOUNT에 대해 알아보자 @@ROWCOUNT 쿼리 실행문 실행 후 영향을 받은 로우의 수를 반환한다. 예제 CREATE TABLE #TEMP1 ( 제품 VARCHAR(10), 가격 INT ) INSERT

ggmouse.tistory.com

 
 
 

Posted by Mister_Q