DB/MySQL

· DB/MySQL
ON UPDATE 옵션절 행의 값을 새롭게 갱신 할 때의 기본값을 설정하는 옵션 CREATE TABLE test_date2( id INT PRIMARY KEY AUTO_INCREMENT, order_time DATETIME DEFAULT current_timestamp ON UPDATE current_timestamp ); FOREIGN KEY 옵션 ON DELETE 외래키관계에서 부모 데이터가 삭제 될 때 동작하는 옵션 설정 ON UPDATE 외래키관계에서 부모 데이터가 갱신 될 때 동작하는 옵션 설정 ALTER TABLE students ADD FOREIGN KEY (grade) REFERENCES grades(id) ON DELETE CASCADE ← 부모가 삭제 시 자식 행도 같이 삭제 ON UP..
· DB/MySQL
📌mysql 클라이언트 접속 명령어 >mysql -u root -p 📌 데이터베이스 목록 조회 >show databases; 📌 데이터베이스 선택 > use hr; 📌 테이블 조회 > show tables; 📌 테이블 구조 조회 > DESCRIBE employees; 📌 모든 컬럼 출력하기 > SELECT * -> FROM departments; 📌 연산 우선 순위 () > *, / > +, - 📌 NULL NULL값에 대한 연산의 결과는 표현식의 내용과 상관없이 NULL값이 된다. 📌 Column alias(컬럼 별명) alias에는 공백, 특수문자를 포함 할 수 없다. AS 키워드는 별도의 추가 기능은 없으며, 생략가능한 키워드이다. 대소문자 형태를 그대로 유지해서 결과로 출력한다. ""(큰따옴표)로..
· DB/MySQL
-- 1. my_employees 테이블을 생성하시오. CREATE TABLE my_employees ( id int PRIMARY KEY, last_name varchar(25), first_name varchar(25), userid varchar(8), salary int ); -- 2. my_employees 테이블 구조 조회 DESC my_employees; -- 3,4. 예제 데이터의 행들을 테이블에 추가 INSERT INTO my_employees VALUES (1, 'Patel', 'Ralph', 'rpatel', 895), (2, 'Dancs', 'Betty', 'bdancs', 860), (3, 'Biri', 'Ben', 'bbiri', 1100), (4, 'Newman', 'Chad'..
· DB/MySQL
• 테이블의 데이터를 다루는 목적의 문법들 INSERT 새로운 데이터를 테이블에 추가 UPDATE 기존 데이터를 갱신 DELETE 기존 데이터를 삭제 INSERT • 새로운 데이터를 테이블에 입력할 때 사용하는 문법 INSERT INTO절 데이터를 추가할 테이블과 컬럼의 목록을 작성하는 절. VALUES절 테이블에 입력할 값들의 목록을 작성. INSERT INTO 테이블명 [(컬럼 목록[, …])] VALUES (값1, [, 값2, ...]) desc departments; Field |Type |Null|Key|Default|Extra| ---------------+------------+----+---+-------+-----+ department_id |int unsigned|NO |PRI| | |..
· DB/MySQL
오류 해결하기 어떠한 부서의 최소급여와 같은 급여를 받는 사람을 출력하라. SELECT employee_id, last_name FROM employees WHERE salary = (SELECT MIN(salary) FROM employees GROUP BY department_id); SQL Error [1242] [21000]: Subquery returns more than 1 row 위 코드를 아래와 같이 바꿔주면 에러발생X SELECT employee_id, last_name, salary, department_id FROM employees WHERE (department_id, salary) IN (SELECT department_id, min(salary) FROM employees GR..
· DB/MySQL
INLINE VIEW란? 가상의 테이블 오브젝트인 VIEW를 서브쿼리로 구현하는 활용방법이다. VIEW와 마찬가지로 테이블을 연산하여 만들어 활용하는 형태이고 서브쿼리의 출력 결과가 가상의 데이터로 구성된다. 데이터 값들은 모두 기반이 되는 테이블의 데이터를 가공하여 사용한다. 함수나 표현식과 같은 연산을 사용하는 경우, 컬럼명으로 사용할 수 없기 때문에 이 경우 COLUMN ALIAS를 활용하여 컬럼명을 바꾸어 출력하도록 작성한다. 또한 JOIN과 같이 테이블을 대체하는 경우 인라인 뷰에서는 테이블 명이 없기 때문에 TABLE ALIAS를 필수적으로 추가해서 사용해야 한다. 사원들 중 본인이 근무하는 부서의 평균 급여값보다 더 높은 급여를 받는 직원의 last_name, salary, departmen..
· DB/MySQL
SUBQUERY란? 쿼리를 보조해주는 기능의 쿼리를 서브쿼리라한다. 사원 'Abel' 보다 더 많은 급여를 받는 직원을 출력 현재 'Abel'의 급여를 알 수 없기 때문에 별도로 조회하는 것이 필요함. 외부에서 조건값을 얻어 올 수 있겠지만 오차를 줄이기 위해서는 데이터베이스 내부에서 바로 필요한 조건을 얻어오는 것이 좋음. 따라서 현재 시점의 'Abel' 급여값을 쿼리 내부에서 또 다른 쿼리가 조회할 수 있도록 서브쿼리 방식으로 얻어온다면 원하는 시점의 정확한 데이터를 얻을 수 있다. 순서 상 메인쿼리보다 서브쿼리가 먼저 실행된다. SELECT employee_id, last_name, salary ← 메인쿼리, outer query FROM employees WHERE salary > ( SELECT..
· DB/MySQL
그룹 함수 그룹 단위로 데이터를 입력받아 연산하는 종류의 함수 그룹함수는 입력받은 그룹의 수만큼 결과가 출력된다. MAX(최대) / MIN(최소) 아래의 예제에서는 그룹 관련 작업을 하지 않아 테이블의 모든 행이 하나의 그룹으로 취급되며, 따라서 1개의 행 결과가 출력되었음. MAX(expr) : 각 그룹에서 입력값에 대한 최대값을 돌려주는 함수 SELECT MIN(salary) AS "최소 급여", MAX(salary) AS "최대 급여" FROM employees; 최소 급여 |최대 급여 | -----------+------------+ 2310.00 |26510.00 | MIN(expr) : 각 그룹에서 입력값에 대한 최소값을 돌려주는 함수 SELECT MIN(hire_date) AS "가장 오래된..
ઇ츄르먹는 땅콩 전사ଓ
'DB/MySQL' 카테고리의 글 목록