Post

[MySQL] 명령어, DB Table

[MySQL] 명령어, DB Table

SQL 데이터베이스 관련 명령어

데이터베이스 접속 명령

mysql -u계정아이디 -p비밀번호 데이터베이스명

1
c:\>mysql -usong -p1234 song_db

또는

1
2
c:\>mysql -usong -p1234   // 계정로그인
mysql>use song_db         // use 명령을 사용해 작업하려는 데이터베이스 선택

song_db로 들어왔음을 확인 song_db로 들어왔음을 확인

데이터베이스 빠져나오기

1
\q

Bye 메세지 Bye 메세지


데이터베이스 생성, 목록 출력

데이터베이스 생성과 삭제 권한은 관리자에게만 있으므로 root로 접속해서 명령을 실행해야 한다!!!! (중요)
데이터베이스 생성 명령 : creat database 데이터베이스명;

데이터베이스는 관리자만 생성할 수 있기 때문에 반드시 root계정으로 생성한 후,
데이터베이스 출력 명령을 통해 그 존재를 확인해 본다.

1
2
3
c:\>mysql -uroot -p mysql	// root 계정으로 접속, 비밀번호는 엔터
mysql>create database sample1;	// sample1 데이터베이스 생성
mysql>show databases;	//데이터베이스 목록 출력 명령

root 계정으로 들어왔음을 확인 root 계정으로 들어왔음을 확인

데이터베이스 생성 Query OK 데이터베이스 생성 Query OK

데이터베이스 목록 출력 sample1 을 확인할 수 있다. 데이터베이스 목록 출력 / sample1 을 확인할 수 있다.

디비세팅은 아래 포스팅을 참고하자 XAMPP MySQL 새로운 계정 생성하기


데이터베이스 삭제하기

데이터베이스 삭제 명령 : drop database 데이터베이스명;

1
2
3
c:\>mysql -uroot -p mysql	// root 계정 접속
mysql>drop database sample1;    // sample1 데이터베이스 삭제
mysql>show databases;   //데이터베이스 목록 출력 명령

삭제되었다. Query OK! 두번 물어보지 않으니 조심조심 삭제되었다. Query OK! 두번 물어보지 않으니 조심조심

sample1 DB가 목록에서 사라졌음을 확인 sample1 DB가 목록에서 사라졌음을 확인


MySQL 테이블 관련 명령

테이블 : 실제 데이터가 저장될 수 있는 공간

데이터베이스 테이블 생성

create table 테이블명(
필드명1 타입,
필드명2 타입,
……
PRIMARY KEY(필드명)
);

1
2
3
4
5
6
7
8
9
mysql>create table friend(
  num int not null,     // *필수항목(primary-key) 값이  들어가야  / int : 정수, null 안됨
  name char(10),     // char(10) : 글자(글자수)
  address char(80),
  tel char(20),
  email char(20),     // not null 없으므로 필수항목이 아니다.

  primary key(num)    // 기본키는 필드값은 서로 중복되지 않는 유일한 값을 갖는다. 구별되는 필드
);
1
2
3
4
5
6
7
8
9
10
11
12
mysql -usong -p1234 song_db	// 데이터베이스 접속

mysql>create table friend(
    num int not null,
    name char(10),
    address char(80),
    tel char(20),
    email char(20),

    primary key(num)
);
mysql>show tables;  // 테이블 생성 확인

Query OK, 테이블이 만들어졌다 Query OK, 테이블이 만들어졌다

friend 테이블이 생성된것을 확인 friend 테이블이 생성된것을 확인


데이터베이스 테이블 구조 확인

desc 테이블명;

1
mysql>desc friend;

테이블 구조 확인 테이블 구조 확인


데이터베이스 테이블 수정 명령

새로운 필드 추가 명령

alter table 테이블명 add 새로운필드명 필드타입 [first 또는 after 필드명];

1
2
mysql>alter table friend add age int;  // friend 테이블에 age 필드를 정수형으로 추가 (제일 마지막에 추가됨)
mysql>alter table friend add hp char(20) after tel;  // tel 필드 바로 다음에 hp필드를 추가

age filed가 맨 마지막에 추가된 것을 확인할 수 있다. age filed가 맨 마지막에 추가된 것을 확인할 수 있다.

tel 다음에 hp filed가 추가된 것을 확인 tel 다음에 hp filed가 추가된 것을 확인

필드 삭제 명령

alter table 테이블명 drop 삭제할 필드명1, drop 필드명2, ….;

1
2
3
mysql>alter table friend drop email;   // email 필드 삭제
mysql>alter table friend drop age, drop hp;    // age, hp 필드 삭제 
mysql>desc friend;

email과 age filed가 삭제된 것을 확인 email과 age filed가 삭제된 것을 확인

필드 수정 명령

alter table 테이블명 change 이전필드명 새로운필드명 필드타입;

1
2
mysql>alter table friend change tel phone int;    // tel 필드를 phone 필드 정수형으로 수정
mysql>desc friend;

tel 필드가 삭제되고 phone필드가 들어감 tel 필드가 삭제되고 phone필드가 들어감

필드 타입 수정 명령

alter table 테이블명 modify 필드명 새로운타입 not null;

1
2
mysql>alter table friend modify name char(20);   // name 필드 타입을 char(20) 수정
mysql>desc friend;

필드 타입 수정 명령

데이터베이스 테이블명 수정 명령

alter table 이전테이블명 rename 새로운테이블명;

1
2
mysql>alter table friend rename student;
mysql>show tables;

테이블명이 student 로 변경됨 테이블명이 student 로 변경됨

데이터베이스 테이블 삭제 명령

drop table 테이블명;

1
2
mysql>drop table student;
mysql>show tables;

테이블이 삭제됨 테이블이 삭제됨


데이터베이스 문자셋 확인하기

mysql>show variables like ‘c%’;

1
mysql>show variables like 'c%';

데이터베이스 문자셋 확인하기

This post is licensed under CC BY 4.0 by the author.