MySQL설치 및 DB생성 / Table 생성

2017. 8. 21. 21:07WebHacking/Web




[ 개념 ]

SQL ( System Query Language )

 

1. DDL ( Data Definition Language ) - 데이터 정의어

CREATE     : DB 생성

DROP       : DB 삭제

ALTER       : DB 구조 변경 ( 컬럼 추가 및 삭제 )

 

2. DML ( Data Manipulation Language ) - 데이터 조작어

INSERT     : Data 입력

SELECT     : Data 확인

UPDATE    : Data 수정

DELETE     : Data 삭제

 

3. DCL ( Data Control Language ) - 데이터 제어어

GRANT     : 데이터에 대한 권한 부여

REVOKE    : 데이터에 대한 권환 회수

 

[ 실습 ]

1> MySQL 설치

#yum -y install mysql.i686               // MySQL Client

#yum -y install mysql-server.i686      // MySQL Server

#yum -y install php-mysql.i686        // php를 이용한 MySQL관리를 가능하게 한다

#service mysqld start                    // mysql 데몬 실행


mysql 실행 상태 확인

[root@localhost html]# netstat -ant


mysql은 3306/tcp 포트를 사용합니다


2> mysql서버 접속


-u : 유저명

-h : 접속할 서버입력 ( 외부에서의 접속은 기본적으로 차단되므로, 로컬로 접속하겠습니다 )

 

 

3> DataBase 관리 명령어

* 현재 존재하는 DB 종류 출력

=> mysql> show databases;

#1 DROP DATABASE [ DB명 ] : DB 제거


mysql>DROP DATABASE test;    -> test DB 제거
 

#2 CREAT DATABASE [ DB명 ] : DB 생성

 

mysql> CREAT DATABASE bbs;    -> bbs DB 생성

 

#3 use [ DB명 ] : 관리할 DB 지정

 

mysql> user bbs;    -> bbs DB를 사용하겠다 선언

해당 DB(bbs)에서 테이블을 생성하거나 삭제하는 등 여러가지 관리명령어를 통해서 DB를 관리합니다

 

 

4> Table 관리 명령어

#1 CREATE TABLE [TABLE NAME](열 이름 타입 속성 ... ,  ... ) : DB내에 테이블 생성하기

 

mysql> CREATE TABLE user( no int auto_increment primary key, user_id varchar(15) not null, user_pw char(50) not null, email varchar(30) not null); 

 

[ user 테이블 생성 ]

  no - 회원번호 ( 식별자로 사용할 것 -> primary key )

  user_id - 아이디

  user_pw - 비밀번호

  email - 이메일

속성

  auto_increment : 자동으로 1부터 숫자가 지정된다

  primary key : 중복이 불가능하다

  not null : 빈 값입력시 오류발생

 

* DB내의 테이블들 확인

mysql> show tables;

* 해당 테이블의 상세정보 확인

mysql> desc user;

 

#2 INSERT INTO [테이블명] VALUE(값1,값2 ... ) : 테이블에 데이터 추가

#3 SELECT FROM [테이블명] : 테이블 내 데이터 검색


#2-1. mysql> INSERT INTO user VALUE(no,user_id,user_pw,email);

no는 auto_increment 속성을 사용하기 때문에 첫번째 인자의 값은 입력할 필요가 없으므로 아래와 같은 명령어를 사용한다

 

#2-2. mysql> INSERT INTO user(user_id,user_pw,email) VALUE(user_id,user_pw,email);   

입력할 인자값들을 지정해준다음 값을 대입하는 방법 ( no는 지정하지 않고 자동으로 입력된다 )


 

#3-1. mysql> SELECT no,user_id,user_pw,email FROM user;

user테이블에서 해당 컬럼의 데이터들을 출력한다

 

#3-2. WHERE을 이용한 SELECT구문

mysql> SELECT * FROM user WHERE 조건;

mysql> SELECT * FROM user WHERE 조건1 and | or 조건2;

조건 : Column 부등호 or 등호 Value

ex) no=1 , no > 10 ...

 

user_id = 'user13' 인 컬럼만 검색

 

#4 UPDATE [테이블명] SET 수정할컬럼=값, ... : TABLE 수정하기

 

mysql> UPDATE 테이블명 SET 수정할컬럼=값, 수정할컬럼=값 ... ; 

mysql> UPDATE 테이블명 SET 수정할컬럼=값, 수정할컬럼=값 ... WHERE 조건 ; 

 

#5 DELETE FROM [테이블명] :테이블 내용 삭제하기


mysql> DELETE FROM 테이블명

mysql> DELETE FROM 테이블명 WHERE 조건;