일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 테이블
- 3306
- groupby
- substring
- DISTINCT
- now()
- 삭제
- 입력
- DB접속
- 조인
- 데이터타입
- pytthon
- 집계 함수
- EQUI
- java
- Linux
- 서브쿼리
- 줄바꿈
- cmd
- live server
- word wrap
- foreignkey
- 생성
- 리눅스 명령어
- visual studio code
- date_add
- primarykey
- 데이터베이스
- MySQL
- select
- Today
- Total
목록MySQL (14)
재유's
백업 mysqldump -uroot -p 데이터베이스이름 > 백업파일저장경로 백업시 sql문으로 저장을 한다. (확장자를 .sql 로!)(create와 drop으로 이루어진 sql문들!)▶ 경로(디렉토리)는 미리 생성해두어야 된다. * 백업시 MySQL CMD에서 하는것이 아니라 그냥 일반 CMD(명령프롬프트)에서 해야된다. 복구 mysql -uroot -p 데이터베이스이름 삭제 할 필요가 없당! ) * 복구시 MySQL CMD에서 하는것이 아니라 그냥 일반 CMD(명령프롬프트)에서 해야된다.
My SQL의 기본 Port(포트) 번호는 3306 입니다. 종종 잊어버리는 경우가 있거나 수정되는 경우가 있습니다.이때 찾는 법을 포스팅합니다 ㅎㅎ CMD(명령 프롬포트) 창을 엽시당 * 기본 위치가 C:\가 아닌경우 cd \ 을 쳐서 C:\ 위치로 바꿔 준후 dir /s my.ini 라고 입력하면 C:\ ... \MySQL Server ~ 디렉터리 라는 말이 나옵니다.그걸 복사해서~ cd C:\ ... \MySQL Server 5.7 라고 쳐서 주소 변경후 my.ini를 실행해 주면 notepad(설정기준) 으로 my.ini가 뜹니다. 좀만 내려보면 port 번호가 똻!
테이블 생성 CREATE TABLE 테이블이름( 컬럼이름 데이터타입 [ NOT NULL | NULL ] [AUTO_INCREMENT ], 컬럼이름 데이터타입 [ NOT NULL | NULL ] [AUTO_INCREMENT ], ... [ , PRIMARY KEY (기본키컬럼이름)] [ , FOREIGN KEY (참조키컬럼이름) REFERENCES 대상테이블명 (대상테이블의 컬럼명) ] ) ENGINE = InnoDB DEFAULT CHARSET = UTF8; 데이터 타입구분 데이터 타입 설명 문자, 문장형 CHAR(n) 크기가 n바이트인 고정 길이 문자열 저장한다. ex) char(10)이라 지정된 컬럼의 경우 ▶ "mysql"이라 저장하면 모자란 5글자는 공백처리가 되어 "mysql "라고 저장된다. ..
데이터베이스 생성 CREATE DATABASE 데이터베이스이름 DEFAULT CHARSET UTF8; CHARSET UTF8은 데이터(한글 등)가 깨지는 것을 방지 데이터베이스 삭제 DROP DATABASE 데이터베이스이름; DROP으로 삭제할경우 복구불가하니 신중하게!
데이터 입력 INSERT INTO 테이블 이름 (컬럼1, 컬럼2, ..., 컬럼n) VALUES (값1, 값2, ..., 값n); - 컬럼 이름 나열을 생략할 경우 테이블 구조에 따라 전제 값을 모두 명시해야 한다.- 컬럼 이름과 값은 저장하기를 원하는 필드만 명시하면 된다.명시하지 않을 경우 NULL 저장NOT NULL로 설정된 필드는 반드시 명시되어야 한다.- 날짜 형식의 경우 YYYY-MM-DD HH:MI:SS 형식으로 설정NOW() 함수를 사용할 경우 현재 시점이 저장된다. 데이터 수정 UPDATE 테이블이름 SET 컬럼1 = 값1, 컬럼2 = 값2, 컬럼n = 값n [ WHERE 검색조건(수정조건) ]; WHERE절이 설정되지 않을 경우 모든 행이 일괄 수정됨 데이터 삭제 DELETE FROM ..
서브쿼리 (SubQuery)- 하나의 SQL문 안에 새로운 SQL문이 구성되어 있는 경우- 주로 특정 조회결과를 다른 조회에서 조건검색에 활용할 경우 사용한다. SELECT ... FROM 테이블1 WHERE 컬럼이름 [=, IN] (SELECT .... FROM ...) 단일행 SubQuerySubQuery의 결과가 하나의 행으로만 구성되어있는 경우비교연산자를 사용하여 메인쿼리의 WHERE절을 구성한다. 다중행 SubQuerySubQuery의 결과가 여러 개의 행으로만 구성되는 경우IN 연산자를 사용하여 메인쿼리의 WHERE절을 구성한다.
조인(JOIN) 두 개 이상의 테이블에서 동시 데이터 검색 EQUI 조인FROM 절에서 테이블을 콤마로 구분하고 WHERE절에서 조인조건을 명시항 두 개 이상의 테이블에서 동시 데이터 검색 SELECT {컬럼 이름 [ as 별칭] ... } FROM 테이블1, 테이블2, ..., 테이블n WHERE 조인조건 [ AND 검색조건 ] [GROUP BY 컬럼이름] [ORDER BY 컬럼이름 [정렬옵션]] - 추가적인 검색 조건은 조인 조건 뒤에 AND로 명시- FROM절에서는 데이블 이름을 나열하면서 별칭 지정 가능- 두개 이상의 테이블에서 같은 이름의 컬럼이 있을 경우SELECT에서 각 컬럼을 테이블이름.컬럼이름 혹은 별칭이름.컬럼이름 형태로 지정 ex) SELECT s.name, s.deptno, d.na..
그룹 조건의 조회 SELECT 컬럼, 집계함수(컬럼) FROM 테이블이름 [WHERE 표현식] [GROUP BY 컬럼1, 컬럼2 ...] [HAVING 집계함수(컬럼)에 대한 표현식] [ORDER BY 컬럼...]; - WHERE절을 사용하여 검색된 결과에 대해서 그룹핑 가능.- GROUP BY절에 사용되 컬럼은 집계함수 없이 SELECT에 명시, 혹은 생략 가능- GROUP BY절에 사용되지 않은 컬럼은 반드시 집계함수를 사용해서 지정.- 집계함수의 결과값에 대한 조건 검색을 할 경우 반드시 HAVING 절을 사용해야 한다.
자주 사용하는 집계 함수함수명 설명 MAX 최대값 MIN 최소값 SUM 합계 AVG 평균 COUNT 갯수조회(컬럼명 지정시 NULL데이터 제외)
날짜 관련 함수의 종류 함수 이름 설명 now() 시스템의 현재 시각을 리턴한다. date_add(시각, INTERVAL 값 단위) 주어진 시각을 기준으로 날짜를 연산하여 리턴한다. date_format(시각, 형식) 주어진 시각을 형식에 맞춰 변경한 결과를 리턴한다. * date_add 함수에서 사용 가능한 단위 - YEAR, MONTH, DAY, HOUR, MINITUE, SECONDex) 1년 후 -> date_add(now(), interval 1 year)3개월 전 -> date_add(now(), interval -3 month) * date_format 키워드기능 키워드 기능 키워드 달 이름(영문) %M MM형식의 월 %m 요일 이름(영문) %W HH형식의 시간(24시간제) %H YYYY형식..