[MySQL] DATETIME, TIMEZONE
·
DB/MySQL
MySQL의 자료형 중 DATETIME과 TIMESTAMP는 모두 날짜와 시간 정보를 저장하는데 사용된다. 이 둘의 차이는 TIMEZONE의 반영 여부이다.​xCREATE TABLE datetest ( test_datetime DATETIME, test_timestamp TIMESTAMP);​INSERT INTO datetest VALUE(NOW(), NOW());테스트를 위해 DATETIME과 TIMESTAMP를 가진 테이블을 만들고 현재 시간을 저장했다. xxxxxxxxxxSELECT * FROM datetest;위와 같이 동일한 값이 저장된 것을 확인할 수 있다. xxxxxxxxxxSET TIME_ZONE = "Asia/Seoul";하지만 위처럼 세션의 TIMEZONE을 변경하고 데이터를 조회할 경..
[MySQL]8. 데이터베이스 설계
·
DB/MySQL
34. 데이터베이스 설계데이터베이스를 설계한다는 것은 데이터베이스의 스키마 내에 테이블, 인덱스, 뷰 드으이 데이터베이스 객체를 정의하는 것을 말한다.테이블 명테이블을 설계할 떄 테이블 이름이나 열 이름을 지정한다.CREATE TABLE로 지정하는걸 물리명, 설꼐산 이름이 논리명테이블 생성시 COMMENT로 논리명을 표시해줄 수 있다.CREATE TABLE 물리명 ( id INT NOT NULLCOMMENT = '논리명 설명';자료형테이블의 열에 적절한 자료형 지정5.-2) 참고기본키테이블을 작성할 떄 기본키 제약을 거는 경우 주의 : 행의 유일성을 지정AUTO_INCREMENT : PRIMARY KEY, UNIQUE로 유일성을 지정하도록 한다. ER 다이어그램테이블을 설계할 떄 테이블 간의 관계를 명확..
[MySQL] 6. 데이터베이스 객체 작성과 객체
·
DB/MySQL
25) 데이터베이스 객체 데이터베이스 객체란? 테이블이나 뷰, 인덱스 등 데이터베이스 내에 정의해서 사용하는 실체를 가진 것을 말한다. 데이터베이스 객체는 스키마 내부에 만들어진다. 스키마를 정의하고, 그 안에 테이블 등 객체들을 담는다. MySQL에서 스키마를 생성하는 명령어는 다음과 같다. CREATE DATABASE [스키마 명]; 이렇게 생성한 스키마에 테이블이나 뷰 등 여러 객체를 생성할 수 있다. 스키마가 다르면 내부의 객체 이름이 같아도 상관없다. 26) 테이블 작성·삭제·변경 SELECT, INSERT, DELETE, UPDATE 같은 SQL은 데이터를 조작하는 DML로 분류된다. DDL은 데이터를 정의한는 명령으로, 스키마 내의 객체를 생성 및 관리할 떄 사용한다. xxxxxxxxxx C..
[MySQL] 5. 집계와 서브쿼리
·
DB/MySQL
20. 집계함수COUNT() : 행 개수를 반환 NULL 값이 있는경우 : COUNT(*)는 NULL 포함, 칼럼 지정할 경우 포함하지 않는다.AVG() : 해당 행 평균MIN() : 해당 열의 최소값MAX() : 해당 열의 최대값 GROUP BY가 MIN/MAX의 경우 EXPAIN을 실행해보면, Using index for group-by를 확인할 수 있다.22. 그룹화GROUP BY 구에 열을 지정하여 그룹화하면 지정된 열의 값이 같은 행이 하나의 그룹으로 묶인다. GROUP BY 구로 그룹화된 각각의 그룹이 하나의 집합으로서 집계함수의 인수로 넘겨진다.xxxxxxxxxxSELECT ...FROM 테이블명GROUP BY 열1, 열2, ....GROUP BY에서 조건을 주고 싶을 경우 WHERE를 사용..
[MySQL] 4. 데이터의 추가, 삭제, 갱신
·
DB/MySQL
16. 행 추가하기 - INSERT 1) INSERT로 행 추가하기 INSERT INTO 테이블명 VALUES(값1, 값2, ...) INSERT INTO 테이블명(열1, 열2, ...) VALUES(값1, 값2, ...) , (값1, 값2, ...) , (값1, 값2, ...) , ... 테이블의 열에 NOT NULL제약이 있을 경우, 해당 열에 NULL 삽입 시 에러가 발생한다. CREATE TABLE IF NOT EXISTS sample ( id INT, num INT NOT NULL ); INSERT INTO sample VALUES(1); //error... INSERT INTO sample VALUES(1, NULL); //error... CREATE TABLE IF NOT EXISTS sam..
[PHP] PDO
·
Language/PHP
데이터베이스는 웹 어플리케이션 개발에 절대 빠지지 않는 기능이다. php 역시 데이터베이스를 위한 추상화 계층인 PDO를 제공하며 이를 통해 데이터베이스를 간편히 사용할 수 있다. PDO는 php의 내장 기능이며 php프로그램과 데이터베이스 사이의 통신을 단순화하는 역할을 한다. 실습은 다음과 같은 환경에서 진행했다. php 7 MySQL 5.71. 테스트 테이블 생성 MySQL에 실습을 위한 새로운 스키마를 만들고 테이블을 생성했다. ` CREATE SCHEMA `test_sch` DEFAULT CHARACTER SET utf8 ; /* test용 테이블 */ CREATE TABLE `world_of_renaissance`.`test_table` ( `id` INT NOT NULL AUTO_INCREM..
[MySQL] 1. 데이터베이스와 SQL
·
DB/MySQL
1) 데이터베이스 데이터베이스는 이러한 의미있는 데이터를 모아놓은 데이터의 모임이다. 데이터베이스 내의 데이터는 영구적으로 보존해야 하기 때문에 보조 기억장치에 저장하여 관리된다. 이러한 데이터베이스를 이용하기 위해 DBMS를 이용한다. 서비스를 운용하는데 필요한 데이터를 저장하고 관리하기 위한 도구가 DBMS이다. SQL을 통해 DBMS를 이용하여 데이터베이스를 참조하거나 데이터를 관리한다. SQL은 RDBMS를 조작할 떄 사용되는데 크게 3가지로 나뉠 수 있다.DML(Data Manipulation Language) : 데이터베이스에 새로운 데이터를 추가하거나 삭제, 수정 등 데이터를 조작할 때 사용하는 명령어(ex: SELECT, UPDATE, DELETE)DDL(Data Definition Lan..