본문 바로가기
DBMS

2. My SQL - DDL 기초

by suehyune12 2022. 2. 19.

 

1. SQL 명령문은 대소문자 가리지 않습니다.

 

대문자 사용

 

소문자 사용

 

 

2. 문자열 은 ' ~ ' (홀따옴표)로 감쌈,  문자열 내의 내용은 대소문자 가림

3. 여러줄에 걸쳐 명령문 입력 가능

 

여러줄 이용

 

 

4. 명령문이 끝나면 반드시   ;   입력

 

명령문 끝에 ; 사용

 

5. COMMIT; 을 실행하기 전까지는 임시저장만 되는 것임,  COMMIT; 을 해야만 데이터베이스의

내용이 업데이트 됨.  (ORACLE 의 경우)  (MySQL 의 경우 기본적으로 auto-commit 한다)

 


 

6. 데이터베이스 접속 

 

  • 커맨드 라인에서 밑에 내용 작성하면 데이터베이스 접속한다.
mysql -u [사용자아이디] -p [데이터베이스이름]

 

데이터베이스 접속

 

7. 사용자 확인

 

  • 현재 접속한 사용자 확인에는 status; 를 사용하는 방법도 있지만, selct user( ); 를 사용한다.
  • status; 는 현재 데이터 베이스 정보를 보여준다.

 

사용자 root@localhost

 

  • root 계정에서 생성된 모든 사용자 정보 확인방법은 SELECT user, host FROM mysql.user; 를 사용한다.

 

모든 사용자 정보 확인

 

8. SHOW DATABASES

 

  • 현재 데이터 베이스 조회 / 열람
  • 기본적으로 설치된 DB
    • information_schema
    • mysql    : MySql 관련 정보 세팅 (사용자 계정…)
    • performance_schema
  • 샘플 DB
    • sakila
    • world  :  지역 정보 (국가, 도시..)

 

 

 

 

9. CREATE DATABASE / DROP DATABASE

 

    • CREATE DATABASE [데이터베이스명] ;   <- 데이터 베이스 생성

             

데이터 베이스 생성한 후, 똑같은 데이터 베이스 생성 불가

 

 

    • DROP DATABASE [IF EXISTS] [데이터베이스명] ;  <- 데이터 베이스 삭제

 

한번 삭제 했으면 복구 되지 않는다.

 

 

10. CREATE USER / DROP USER

 

  • CREATE USER  ‘[사용자아이디]’  IDENTIFIED BY ‘[암호]’;

 

  • CREATE USER  ‘[사용자아이디]’@’[호스트]’  IDENTIFIED BY ‘[암호]’;
CREATE USER 'myuser' IDENTIFIED BY '1234';


CREATE USER 'myuser'@'127.0.0.1' IDENTIFIED BY '1234';


CREATE USER 'myuser'@'%' IDENTIFIED BY '1234';


CREATE USER 'myuser'@'localhost' IDENTIFIED BY '1234';

 

 

PRIMARY KEY : 고유한 키값을 같는 필드

AUTO_INCREMENT : 레코드가 생성될때마다 자동증가
NOT NULL : Null 값 허용 안함

 

 

  • DROP USER '사용자 아이디' ;

 

사용자 삭제

 

11. 권한 설정 ( grant)

 

  • grant all privileges on 디비명.테이블명 to '사용자'@'접속지 주소' (with grant option);
  • flush privileges;   ← grant 명령 후에 flush 를 해주어야 실제 적용됨.

 

'@'%' : 어디서 접속해도 사용가능

12. USE : 데이터 베이스 선택

 

  • 현재 데이터 베이스 조회 / 열람

 

mydb111 열람

 

 

 

13. CREATE TABLE / DROP TABLE

 

  • CREATE TABLE : 테이블 생성

 

테이블 생성

 

MySQL 필드의 데이터 타입

 

숫자형 필드  TINYINT, INT, FLOAT...

문자형 필드  CHAR, VARCHAR, TEXT, ENUM...

날짜형 필드  DATE, DATETIME, TIMESTAMP ...

 

 

 

특히 많이 사용되는 타입

  • INT : 4bytes 정수를 저장할때 사용
  • CHAR(n) : 문자의 수가 n 개인 문자열을 저장할때 사용
  • VARCHAR(n) : 문자의 수가 최대 n 개인 문자열을 저장할때 사용
  • TEXT : 문자의 수가 최대 65535 개인 문자열을 저장할때 사용

 

  • DROP TABLE 

한번 삭제하면 복구 불가

 

 

14. ALTER TABLE ~ MODIFY COLUMN / ALTER TABLE ~ ADD COLUMN / ALTER TABLE ~ DROP

 

 

  • ALTER TABLE ~ MODIFY COLUMN : 테이블 수정

 

phonebook 테이블을 생성한 후, ALTER 이용해 phonenum 변경

 

 

  • ALTER TABLE ~ ADD COLUMN : 테이블 추가

 

CHECK(age >=0) : 나이가 0보다 커야한다.는 제약조건

 

  • ALTER TABLE ~ DROP : 테이블 삭제

 

email 삭제

 

 

 

'DBMS' 카테고리의 다른 글

5. MySQL : DISTINCT, CONCAT, WHERE  (0) 2022.02.23
4. DBeaver 설치  (0) 2022.02.22
3. MySQL - DML(INSERT, UPDATE, DELETE, SELECT)  (0) 2022.02.22
1. DBMS의 기본  (0) 2022.02.19
0. DBMS 정의 및 설치  (0) 2022.02.19