MySQL 명령어, DB Table

2022. 2. 8. 11:47Study/PHP&MySQL

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

까만창 무섭다.

 

 

 

데이터베이스 접속 명령

mysql -u계정아이디 -p비밀번호 데이터베이스명
c:\>mysql -usong -p1234 song_db

또는

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

song_db로 들어왔음을 확인

 

 

 

데이터베이스 빠져나오기

\q

Bye 메세지

 


 

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

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

데이터베이스 생성 명령 : creat database 데이터베이스명;

 

데이터베이스는 관리자만 생성할 수 있기 때문에 반드시 root계정으로 생성한 후,

데이터베이스 출력 명령을 통해 그 존재를 확인해 본다.

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

root 계정으로 들어왔음을 확인
데이터베이스 생성 Query OK
데이터베이스 목록 출력 / sample1 을 확인할 수 있다.

 

 


 

디비세팅은 아래 포스팅을 참고하자

https://ooo-k.tistory.com/179

 

XAMPP MySQL 새로운 계정 생성하기

MySQL 새로운 계정 생성하기 간단요약 mysql -uroot -p mysql // root 접속 mysql>create database song_db; // song_db 생성 mysql>insert into user (host,user,password)              values..

ooo-k.tistory.com

 

 


 

데이터베이스 삭제하기

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

 

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

삭제되었다. Query OK! 두번 물어보지 않으니 조심조심
sample1 DB가 목록에서 사라졌음을 확인

 

 


 

MySQL 테이블 관련 명령

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

 

※ 관계형 데이터베이스의 개념 및 구조

더보기
더보기

관계형 데이터베이스의 개념

논리적 데이터베이스 설계 단계에 대한 이해를 잘 하기 위해서는 관계형 데이터베이스에서 사용되는 용어에 대한 이해를 잘 하는 것이 필수적인 요소이다.

 

구조

Table 관계형 데이터베이스의 기본 데이터 저장 구조이며, 하나의 테이블은 여러개의 Row로 구성
(ex. 사원정보, 부서정보...)
Row 하나의 테이블을 구성하는 다른 유형의 데이터
(ex.  2  주영현  과장  250  10.. )
Column 하나의 Row를 구성하는 구성요소
(ex. 사원번호, 사원명, 직급, 급여, 부서번호...)
Primary-key 테이블에서 각 Row를 유일하게 구분하는 Column-key
* 중복되지 않는 데이터가 저장되는 고유한 filed, 식별을 위애 꼭 필요하다
Filed 테이블에서 Row와 Column이 교차하는 데이터
Null 데이터가 존재하지 않는 Column의 값
Foreign-key 하나의 테이블에 있는 Column으로는 그 의미를 표현할 수 없는 경우, 다른 테이블의 Primary-key 컬럼의 값을 반드시 참조하여 표현해야 하는 Column

 

 

 

데이터베이스 테이블 생성

create table 테이블명(

    필드명1 타입,

    필드명2 타입,

    ......

    PRIMARY KEY(필드명)

);

 

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)    // 기본키는 필드값은 서로 중복되지 않는 유일한 값을 갖는다. 구별되는 필드
);
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, 테이블이 만들어졌다
friend 테이블이 생성된것을 확인

 

 

 

 

 

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

desc 테이블명;

mysql>desc friend;

테이블 구조 확인

 

 

 

 

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

 

새로운 필드 추가 명령

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

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

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

 

 

 

필드 삭제 명령

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

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

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

 

 

 

 

필드 수정 명령

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

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

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

 

 

 

 

필드 타입 수정 명령

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

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

 

 

 

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

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

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

테이블명이 student 로 변경됨

 

 

 

 

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

drop table 테이블명;

mysql>drop table student;
mysql>show tables;

테이블이 삭제됨

 

 

 

 

 

 

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

mysql>show variables like 'c%';

mysql>show variables like 'c%';

 

 

 

 

'Study > PHP&MySQL' 카테고리의 다른 글

MySQL 레코드 관련 명령(insert, select, update, delete)  (0) 2022.02.09
MySQL 명령의 일괄 실행  (0) 2022.02.09
get / post  (0) 2022.02.08
form 유효성 검사  (0) 2022.02.07
php 배열과 함수  (0) 2022.02.04