목록데이타베이스 (89)
아미(아름다운미소)
- 암호화 ASC_ENCRYPT(str, key); str : 암호화시킬 문자열 key : 키 문자열 Insert Into TableName( userId, userPhone ) Values ( 'testID', HEX(AES_ENCRYPT('01000000000', 'anykey')) ); - 복호화 AES_DECRYPT(str,key) str : 암호화 된 문자열 key : 키 Select userId, AES_DECRYPT(UNHEX(userPhone), 'anykey') From TableName
MYSQL 백업 및 복구 //백업 mysqldump {-h 호스트} -u 사용자 -p DB명 > 백업파일 //복구 mysql {-h 호스트} -u 사용자 -p DB명 < 백업파일 create database DB명;
MySQL 기본 명령어 //DB 생성 create database DB명; //DB 삭제 drop database DB명; //DB 연결 mysql -u 사용자 -p DB명 //데이터베이스 목록 보기 show databases; //테이블 목록 보기 show tables; 테이블 구조 보기 //describe 테이블명;, show columns from 테이블명; //인덱스 보기 show index from 테이블명;
mysql에서 이미 테이블이 생성된 경우는 alter 명령어를 통해 다시 정의해줘야한는데 이때쓰는 명령어 입니다. ALTER TABLE table_name CONVERT TO CHARACTER SET utf8;
mysql에서 charset이 어떻게 설정되어있는지 확인할 수 있습니다. show variables like 'c%';
character set관련 오류가 발생시이미 테이블이 생성된 경우는 alter 명령어를 통해 다시 정의해줘야한는데 이런 경우에 쓰는 명령어 입니다. ALTER TABLE table_name CONVERT TO CHARACTER SET utf8;
- 전월 첫째 날짜 SELECT LEFT(CONVERT(NVARCHAR,DATEADD(m,-1, GETDATE()),121), 7) + '-01' - 전월 마지막 날짜 SELECT CONVERT(VARCHAR(10),DATEADD(S, -1, DATEADD(MM, DATEDIFF(M, 0, GETDATE()), 0)),121)
반환 코드를 사용하여 데이터 반환 프로시저는 반환 코드라고 하는 정수 값을 반환하여 프로시저의 실행 상태를 나타낼 수 있습니다. RETURN 문을 사용하여 프로시저의 반환 코드를 지정할 수 있습니다. OUTPUT 매개 변수에서와 같이 프로시저가 실행될 때 호출 프로그램에서 사용할 수 있도록 반환 코드 값을 변수에 저장해야 합니다. 예를 들어 @result 데이터 형식의 할당 변수는 다음과 같은 my_proc프로시저의 반환 코드를 저장하는 데 사용됩니다. -- 이름, 메모 변수 선언 DECLARE@NAMENVARCHAR(50) DECLARE @MEMONVARCHAR(50) -- 커서 선언 DECLARE FRIEND_CURSOR CURSOR FOR SELECT NAME, MEMO FROM TB_FRIEND ..
CHARINDEX : 문자열의 시작위치 찾기SUBSTRING : 문자열 자르기RTRIM/LTRIM : 문자열 공백 제거REPLACE : 문자열 변경 CAST : 형변환 문자열 : 어쩌구 저쩌구 주민등록번호 : [1000001373497] 어쩌구 저쩌구에서 주민번호 1000001373497 만 추출하는 예제^^ 컬럼이 TEXT 타입이라서 CAST 작업을 하였습니다. SELECTRTRIM(LTRIM(REPLACE(SUBSTRING(CAST(기타내용 AS VARCHAR(4000)), CHARINDEX('주민등록번호', CAST(기타내용 AS VARCHAR(4000))),23)--주민등록번호 : [ 1000001373497,'주민등록번호 : [ ','')-- 1000001373497))FROM TABLE명
DB에 파일내용(txt, csv, excel 파일 등을) insert해야 할 때 적은 수라면 직접 DB insert문으로 추가하지만 대량의 데이터를 INSERT 할때 파일 규격만 정확히 알면 BULK INSERT 활용하면 유리합니다. 데이터(컬럼) 사이를 "|'로 구분하였고 로우단위는 "\n"로 구분하였을 경우 예제 입니다. BULK INSERT Tablename FROM 'D:\Filename.txt' WITH ( FIELDTERMINATOR = '|', ROWTERMINATOR = '\n')