본문 바로가기

코딩공부

(31)
[SQL] MYSQL 테이블스페이스 설정, 쿼리 응답시간 에러 해결방법 ✍️ Study Note 테이블스페이스 테이블이 실제로 저장되는 물리적 공간. 기본적으로는 'C:\Programdata\MySQL\MYSQL Server 8.0\Data' 폴더 대량의 데이터를 저장할 경우, 별도의 테이블 스페이스를 만들어 저장할 수 있다. (성능 향상) 시스템 변수 확인 SHOW VARIABLES LIKE 'innodb_file_per_table' (ON이 되어 있어야 함) 테이블스페이스 생성 CREATE TABLESPACE 스페이스이름 ADD DATAFILE 파일이름 테이블스페이스에 테이블 생성 CREATE TABLE 테이블이름 (열) TABLESPACE 스페이스이름 기존 테이블의 테이블스페이스 변경 ALTER TABLE 테이블이름 TABLESPACE 스페이스이름 SHOW VARIAB..
[SQL] MYSQL 스토어드 프로시저(IF, CASE, WHILE)와 동적 SQL ✍️ Study Note 1. 프로시저 프로시저(PROCEDURE) 생성 -- 스토어드 프로시저 생성 DELIMITER $$ CREATE PROCEDURE '스토어드 프로시저 이름' BEGIN '~~ SQL 프로그래밍 코딩 ~~' END $$ DELIMITER ; -- 스토어드 프로시저 실행 CALL '스토어드 프로시저 이름' - 프로시저를 ㅌ 프로시저(PROCEDURE) + IF 조건 DELIMITER $$ CREATE PROCEDURE IFPROC() BEGIN DECLARE VAR1 INT; -- 변수 선언 SET VAR1 = 100; -- 변수 값 대입 IF VAR1 = 100 THEN -- IF 조건 삽입 SELECT '100입니다.'; -- 참값 문장 끝에도 ';' 작성 필요 ELSE SELE..
[SQL] MYSQL 뷰(View) 생성, 수정, 삭제 ✍️ Study Note 뷰 (VIEW) 뷰 생성 CREATE 뷰이름 AS SELECT 문 CREATE OR REPLACE 뷰이름 AS SELECT 문 : 기존에 있는 뷰일 경우, 새로운 정보로 대체됨(Replace) 임시테이블과 비슷한 역할. 장점 : 정보 접근권한 제한을 통해 보안 강화 / 복잡한 쿼리 단순화 뷰 생성 시, 집계함수(SUM, AVG, etc), UNION, GROUP BY, DISTINCT, JOIN 등 사용 가능 -- 뷰 생성 -- #1 USE TABLEDB; CREATE OR REPLACE VIEW V_USERBUYTBL AS SELECT U.USERID AS 'USERID', U.NAME AS 'USERNAME', B.PRODNAME AS 'PRODUCTNAME', U.ADDR,..
[SQL] MYSQL 테이블 삭제, 수정 & 제약조건 추가, 삭제, 비활성화 ✍️ Study Note 1. 테이블 삭제 DROP TABLE 테이블이름 FOREIGN KEY 제약조건의 기준테이블은 삭제 불가. (제약조건 or 외래키 테이블 선삭제 필요) 2. 테이블 수정 ALTER TABLE 테이블이름 '수정 조건' '수정 조건' 종류 : ADD COLUMN, ADD CONSTRAINT, ADD INDEX, DROP CHECK, DROP PRIMARY KEY 등 (1) 열 추가 ALTER TABLE 테이블이름 ADD 열이름 USE TABLEDB; ALTER TABLE USERTBL ADD HOMEPAGE VARCHAR(30) -- 열 추가 DEFAULT 'WWW.HANBIT.CO.KR' -- 디폴드값 추가 NULL; -- NULL 허용 (2) 열 삭제 ALTER TABLE 테이블이..
[SQL] MYSQL Workbench 테이블 생성, 제약조건 종류 ✍️ Study Note 1. MYSQL Workbench 테이블생성 (1) 테이블 생성 TABLES 오른쪽 마우스 클릭 후, CREATE TABLE 선택 TABLE 이름, COLUMN 이름, 데이터타입 작성 PK, NN, UQ 체크 - APPLY #예시1 CREATE TABLE `tabledb`.`usertbl` ( `USERID` CHAR(8) NOT NULL, `NAME` VARCHAR(10) NOT NULL, `BIRTHYEAR` INT NOT NULL, `ADDR` CHAR(2) NOT NULL, `MOBILE1` CHAR(3) NULL, `MOBILE2` CHAR(8) NULL, `HEIGHT` DATE NULL, PRIMARY KEY (`USERID`)); #예시2 CREATE TABLE `..
[SQL] MYSQL 대용량 텍스트, 영상 업로드 방법 ✍️ Study Note SQL 기본 용량인 4M 이상의 파일 저장하고 싶을 때, 1. '최대 파일크기' 확인 SHOW VARIABLES LIKE 'MAX_ALLOWED_PACKET'; 기본 용량 4M 확인 가능. 2. '파일 업로드/다운로드 폴더'의 경로 허용여부 확인 SHOW VARIABLE LIKE 'SECURE_FILE_PRIV'; 현재 '업로드하려는 파일의 폴더경로'가 없는 것을 확인 가능 3. '최대 파일크기' 수정 & '업로드 폴더의 경로' 허용 추가 (1) 명령프롬프트 관리자모드 실시 (관리자모드 필수. 이후 에러 발생 가능) (2) SQL이 설치, 실행되는 드라이브로 이동 C드라이브일 경우, 그대로 진행 D드라이브일 경우, 'D: '기재 (3) 아래 명령어 차례로 기재 CMD CD %PR..
[SQL] MYSQL JOIN (INNER, OUTER, SELF, CROSS) ✍️ Study Note 1. INNER JOIN 테이블 A, B의 교집합 SELECT U.USERID, U.NAME, B.PRODNAME, U.ADDR, CONCAT(U.MOBILE1, U.MOBILE2) AS '연락처' FROM USERTBL U INNER JOIN BUYTBL B ON U.USERID = B.USERID ORDER BY U.USERID; -- INNER JOIN vs EXISTS -- 구매내역 1회 이상 고객 명단 조회 SELECT DISTINCT U.USERID, U.NAME, U.ADDR FROM USERTBL U INNER JOIN BUYTBL B ON U.USERID = B.USERID ORDER BY U.USERID; SELECT DISTINCT U.USERID, U.NAM..
[SQL] MySQL 내장함수 #2 (수학, 날짜&시간, 시스템 정보 함수) ✍️ Study Note [수학 함수] 1. ABS (숫자) 숫자의 절대값을 반환 2. CEILING, FLOOR, ROUND (숫자) 숫자가 소수점일 때, 올림, 내림, 반올림을 반환 3. CONV(숫자, 원래 진수, 변환할 진수) 진수 변환 4. DEGREES, RADIANS, PI DEGRESS : 라디안 값 -> 각도값으로 변환 rADIANS : 각도값 -> 라디안 값으로 변환 PI : 파이값 3.141592 반환 5. MOD (숫자1, 숫자2) 숫자1을 숫자2로 나눈 후 나머지 값을 반환 [숫자1 % 숫자2] 로 표현할 수 있음 6. POW, SQRT POW (숫자1, 숫자2) : 숫자1을 숫자2만큼 제곱한 값 반환 SQRT(숫자) : 해당 숫자의 루트값 반환 7. SIGN (숫자) 숫자의 양수..