본문 바로가기
728x90

MySQL14

MySQL 명령어 정리 (5) - MySQL 내장함수 # MySQL 내장함수 ## 제어 흐름 함수 ### IF(수식, 참, 거짓) ``` sql SELECT IF(100>200, '참이다.', '거짓이다.'); ``` 수식이 거짓이므로 `거짓이다.`를 출력. ### IFNULL(수식1, 수식2) 수식1이 NULL인 경우 수식2를 출력. 수식1이 NULL이 아닌 경우 수식1을 출력. ``` sql SELECT IFNULL(NULL, 200); -- 200 SELECT IFNULL(NULL, '널입니다.'); -- 널입니다. SELECT IFNULL(100, 50); -- 100 ``` ### NULLIF(수식1, 수식2) 수식1과 수식2가 같으면 NULL을 반환. 다르면 수식1을 반환. ``` sql SELECT NULLIF(2*5, 5*2); -- NULL.. 2024. 11. 5.
INSERT 중복키 문제 처리 INSERT 중복키 문제 처리만약 INSERT를 할 때 삽입하는 데이터의 키가 중복키라면 삽입이 되지 않는다. 또한 오류가 발생한 쿼리 이후의 쿼리들도 실행되지 않는다.INSERT INTO 테이블명 VALUES(값1, 값2, 값3);INSERT INTO 테이블명 VALUES(값4, 값5, 값6);INSERT INTO 테이블명 VALUES(값7, 값8, 값9);만약 값1이라는 키가 이미 존재한다면, 첫번째 쿼리가 실행되지 않는다. 그리고 두번째, 세번째 쿼리까지 모두 실행이 되지 않을 것이다.이에 대한 핸들링 방법은 두가지가 있다.1. IGNOREINSERT IGNORE INTO 테이블명 VALUES(값1, 값2, 값3);INSERT IGNORE INTO 테이블명 VALUES(값4, 값5, 값6);INSE.. 2024. 11. 5.
MySQL 명령어 정리 (4) 시스템 변수, AUTO_INCREMENT, 형변환 시스템 변수변수명 앞에 참조 기호를 붙여서 참조. 참조 기호는 다음과 같다.세션은 클라이언트와 MySQL 서버 간의 연결을 의미한다. 세션 관련 변수들(세션 수준 시스템 변수, 사용자 정의 변수)의 설정 값은 세션이 종료되면 사라진다.시스템 변수는 데이터베이스 서버의 설정을 조정하는데 사용됨.사용자 정의 변수는 세션 내에서 임시 데이터를 저장하는 데 사용됨.@@, @@SESSION. : 세션 수준의 시스템 변수@GLOBAL. : 전역 수준의 시스템 변수@ : 사용자 정의 변수, 세션 수준에서만 유효-- 세션 시스템 변수 설정 (아래 2가지 명령은 같은 기능을 함)SET SESSION 변수명1 = 값1;SET @@변수명1 = 값1;-- 세션 시스템 변수 참조SELECT @@변수명1;-- 글로벌 시스템 변수.. 2024. 11. 5.
MySQL 명령어 정리 (3) 다른 테이블 데이터 가져오기, 여러 데이터 입력 다른 테이블 데이터 가져오기테이블을 만들고 데이터 가져오기CREATE TABLE 테이블명2(컬럼1 데이터타입1, 컬럼2 데이터타입2);INSERT INTO 테이블명2 SELECT 컬럼1, 컬럼2 FROM 테이블명1;만들면서 데이터 설정CREATE TABLE 테이블명2( SELECT 컬럼1, 컬럼2 FROM 테이블명1);CREATE TABLE에서 SELECT 문을 사용해 다른 테이블을 복사할 수 있다.필요한 컬럼들만 선택하거나, limit을 주어서 복사할 수도 있다. 컬럼, 데이터 타입, null 조건, 내부 데이터는 그대로 복사가 되지만,PK, FK 와 같은 제약 조건은 복사되지 않음에 주의해야 한다.한꺼번에 여러 데이터 입력INSERT INTO 테이블명VALUES(값1, 값2, ...), (값3,.. 2024. 11. 5.
MySQL 명령어 정리 (2) DCL 사용자 생성 명령어CREATE USER '사용자명'IDENTIFIED BY '비밀번호'생성 시 사용자명 비밀번호는 문자열 형식으로 ''로 감싸져 있어야 함.권한 부여DBA 권한GRANT ALL PRIVILEGESON *.*TO 사용자명WITH GRANT OPTION;ON은 적용 범위. *.*는 모든 DB의 모든 테이블을 의미한다.GRANT ALL PRIVILEGES -> 모든 권한을 부여하게 됨.WITH GRANT OPTION 을 주게 되면, 해당 사용자는 다른 사용자에게 권한을 부여할 수 있는 자격을 가지게 됨.오라클에는 WITH ADMIN OPTION 또한 존재하지만, MySQL에는 WITH GRANT OPTION만 존재한다. WITH ADMIN OPTION - 권한 회수 시 연쇄적인 회수가 발생하지.. 2024. 11. 5.
MySQL 명령어 정리 (1) DDL, DML MySQL은 인스턴스 내부에 여러 데이터베이스를 둘 수 있다. 그리고 하나의 데이터베이스 내부에 여러 테이블, 뷰 등을 둘 수 있다.참고W3Schools이것이 MySQL이다🎈MySQL 접속 명령어워크벤치(GUI)를 사용하는 방법도 있지만cmd(CLI)에서 다음을 통해서 MySQL에 접속할 수 있다.mysql -u 유저명 -p이후 패스워드 입력🎈데이터베이스 명령어SHOW 데이터베이스 목록 보기SHOW DATABASES;명명 규칙영어로 된 이름을 권장30자 이내의 제한 글자 수snake case (공백 위치에 _)가 권장됨예약어 키워드는 사용 불가능CREATE 데이터베이스 생성CREATE DATABASE 데이터베이스명;USE 데이터베이스 사용USE DATABASE 데이터베이스명;테이블 명령어 사용 전에 .. 2024. 11. 5.
728x90