개발하는 삶

[MySQL] 기본 문법 본문

CS/Database

[MySQL] 기본 문법

삶_ 2022. 11. 23. 14:18

 

MySQL

  • 오라클과 명령어 형태는 비슷하다.
  • 가장 널리 사용되고 있는 관계형 데이터베이스 관리 시스템
  • 오픈소스, 무료, 다양한 언어에 다양한 API 제공

 

 

 

기본 명령어

 

CREATE

  • CREATE DATABASE 데이터베이스이름 : 새로운 데이터베이스 생성
  • CREATE TABLE 테이블이름 : 새로운 테이블 생성
    • 제약조건에 대해
    • NOT NULL : 해당 필드는 NULL 값 저장 불가능
    • UNIQUE : 해당 필드는 서로 다른 값을 가져야 함
    • PRIMARY KEY : 고유 키 지정
    • FOREIGN KEY : 외래 키 지정
// 테이블 복사
create table 생성할테이블 (select * from mi_emission);

 

 

ALTER

  • ALTER DATABASE 데이터베이스이름
    • ALTER DATABASE 데이터베이스이름 CHARACTER SET=문자집합이름 : 문자집합이름 수정 (utf8, euckr)
    • ALTER DATABASE 데이터베이스이름 COLLATE=콜레이션이름 : 콜레이션이름 수정
  • ALTER TABLE 테이블이름
    • ALTER TABLE 테이블이름 ADD 필드명 필드타입 : 필드 추가
    • ALTER TABLE 테이블이름 DROP 필드명 : 필드 삭제
    • ALTER TABLE 테이블이름 MODIFY 컬럼명 필드타입 : 필드타입 변경
// pk 지정
alter table 테이블명 add primary key(pk지정할컬럼);

// auto_increment 지정
alter table 테이블명 modify 지정할컬럼 int auto_increment;
  • 컬럼 뒤에 컬럼 추가
// 컬럼1 뒤에 추가하는 컬럼2
alter table 테이블명 add 컬럼2 datatype after 컬럼1;
  • 컬럼명 변경
// 컬럼1을 컬럼2라는 이름으로 변경
alter table 테이블명
change 컬럼1 컬럼2 datatype;

// 컬럼 여러개 변경
alter table 테이블명
change 컬럼1 컬럼2 datatype,
change 컬럼3 컬럼4 datatype;

 

 

DROP

  • DROP DATABASE 데이터베이스이름 : 데이터베이스 삭제
  • DROP TABLE 테이블이름 : 테이블 삭제
// 테이블 여러개 삭제
drop table 테이블1, 테이블2;
  • TRUNCATE TABLE 테이블이름 : 테이블 내 데이터들만 삭제
  • 컬럼 삭제
// 컬럼 삭제
alter table 테이블명 drop column 컬럼명;

 

 

INSERT

  • INSERT INTO 테이블이름(필드명1, 필드명2 …) VALUES (필드값1, 필드값2 …)
  • 데이터 값이 문자열이면 반드시 ‘’ 을 사용.

 

UPDATE

  • UPDATE 테이블이름 SET 필드명 = 값, … WHERE 필드명 = 값
// 다른 컬럼에서 값 가져와 저장
update 테이블명
set 컬럼1 = substring(컬럼2,1,3)

 

DELETE

  • DELETE FROM 테이블이름 WHERE 필드명 = 값

 

SELECT

  • SELECT 필드명 FROM 테이블명

 

 

 

타입

 

숫자 타입

  • INT(자릿수값) : 정수값을 표현
  • FLOAT(전체자릿수, 소수점자릿수) : 소수점자리까지 표현
  • DOUBLE(전체자릿수, 소수점자릿수) : 소수점자리까지 표현. 좀더 많은 소숫점자리수.

 

문자열 타입

  • CHAR(길이) : 문자열 길이가 정해지면 고정됨
  • VARCHAR(길이) : 문자열 길이를 변경 가능

 

날짜와 시간 타입

  • DATE, DATETIME, TIMESTAMP : 날짜, 날짜+시간, 날짜+시간(최종변경시각 저장)
  • TIME : 시간 저장
  • YEAR : 연도 저장. YEAR(2) = 2자리의 연도 저장.

 

 

패턴 매칭

 

LIKE, NOT LIKE

  • 특정 패턴을 포함하는/하지않는 데이터 검색
  • % : 0개 이상의 문자라는 의미
  • WHERE 필드명 LIKE ‘포함될내용%’

 

 

'CS > Database' 카테고리의 다른 글

[Database] 관련 지식 메모  (0) 2023.05.23
[MySQL] 다중 테이블 및 JOIN, 조건문, 명령어  (0) 2023.02.22
[Oracle] create, alter 등  (0) 2022.08.16
[MyBatis] 기본 지식  (0) 2022.08.12
[Oracle] join  (0) 2022.08.11