728x90

journal 파일

- 파일 이름-journal 파일을 사용합니다.
  》 예) jcode-journal

- rollback journal file이라고 부른다.
  》 rollback 방식을 통하여 Transaction을 구현한다.


SQLite rollback journal file은 Notepad++ 소프트웨어 응용 프로그램을 위해 개발 됨.

데이터 변경 순서

1. 원본 데이터를 별도의 파일에 저장
2. 데이터 변경
3. 백업 데이터 제거


728x90
728x90

A 열 이름
B 열 이름
C 테이블 이름

SELECT A,B FROM C WHERE NOT A is NULL

=> C테이블의 A열과 B열에서 조건이 A열의 NULL 값 제외한 결과

테이블 :

NULL

13 

NULL 


결과 :

A

13 

NULL 


SELECT A,B FROM C WHERE NOT A is NULL LIMIT 2, 2

=> C테이블의 A열과 B열에서 조건이 A열의 NULL 값 제외 중 1번 행과 2번 행만 가져온 결과

테이블 :

NULL

13 

NULL 


결과 :

1번 행은 있지만 2번 행은 값이 없기 때문에 1번행만 가져온다.

NULL 



728x90
728x90

mysql를 사용하면 문자열을 합쳐야 할 경우가 생기기 마련입니다.

그래서 이번에는 문자열 합치기에 대해 알아보도록 하겠습니다.


함수에는 CONCATCONCAT_WS가 있습니다.


1. CONCAT

mysql> SELECT CONCT(str1, str2, ...);


ex) SELECT CONCT('My', 'sql');

> 'Mysql'


ex) SELECT CONCT('My', 'sql', '123');

> 'Mysql123'


ex) SELECT CONCT('My', 'sql', 'NULL');

> 'NULL'

-> NULL이 나오는 경우는 문자열 합치는 값안에 NULL이 들어가 있으면, 무조건 NULL만 나오게 됩니다.


2. CONCAT_WS

mysql> SELECT CONCAT_WS(sepator, str1, str2, ...);


ex) SELECT CONCAT_WS(',', 'My',  'sql');

> My, sql


ex) SELECT CONCT_WS(',', 'My', 'sql', 'NULL');

> My, sql

-> CONCAT처럼 NULL을 넣었지만, CONCT_WS에서는 NULL을 빼고 반환합니다.



728x90
728x90

mysql 사용 중 특정 날짜 조건으로 결과 값을 불러오고 싶었습니다.

그래서 BETWEEN에 대해서 알아보겠습니다.


BETWEEN a AND b

> a와 b를 사이 모든 값 해당 여부를 조건으로 합니다.



SELECT * FROM contacts WHERE contact_id BETWEEN 10 AND 20;


위와 아래는 모두 동일한 조건을 취득합니다.


SELECT * FROM contacts WHERE contact_id >= 10 AND contact_id <= 20;

728x90
728x90

오류 원인

mysql을 설치 할 때 입력한 비밀번호가 암호화되서 저장이 된 것이 문제가 되었습니다.


오류 내용

mysqli_connect(): The server requested authentication method unknown to the client [caching_sha2_password] in


해결 방법

예전의 암호화방식으로 변경하여 저장해주면 해결 됩니다.


로컬로 접속 할 경우!!

ALTER USER 'mysqlUsername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mysqlUsernamePassword';

외부에서 접속 할 경우!!

ALTER USER 'mysqlUsername'@'%' IDENTIFIED WITH mysql_native_password BY 'mysqlUsernamePassword';

mysqlUsername : root
mysqlUsernamePassword : mysql 비밀번호



Query OK, 0 rows affected 라고 나오면 성공!!!

그 후, 아파치와 php 재실행 해주시면 됩니다.






참고 사이트!!!

https://mysqlserverteam.com/mysql-8-0-4-new-default-authentication-plugin-caching_sha2_password/

https://stackoverflow.com/questions/50026939/php-mysqli-connect-authentication-method-unknown-to-the-client-caching-sha2-pa/50776838

728x90
728x90

1. [ ] 대괄호를 사용하여 결과 값 출력 하였을 경우. 
SELECT [Starttime] FROM UserTime WHERE [Datetime]='2020-03-11'




2. [ ] (대괄호) 사용 없이 결과 값 출력 하였을 경우. 
SELECT Starttime FROM UserTime WHERE Datetime = '2020-03-11'

 

 

3.  ' ' (작은 따옴표) 사용하여 결과 값 출력 하였을 경우. 
SELECT 'Starttime' FROM UserTime WHERE 'Datetime' = '2020-03-11'


728x90
728x90

Visual Studio에서 MSSQL을 사용 하던 중 뜬금 없이 오류가 발생 했습니다.

 

오류 내용
데이터 형식 Text 및 Varchar가 equal to 연산자에 호환되지 않습니다.


해결 방법
MSSQL 데이터 형식을 String형의 Text에서 varchar(MAX)로 변경하여 주면 됩니다.


오류 발생 원인
Visual Studio에서 간혹.. 어쩌다가... Text형의 컬럼이 오류를 반환하면서, Text 형이 안정성이 많이 떨어짐.

728x90

+ Recent posts