반응형

DBMS(DataBase Management System)


 - 데이터를 관리하는 체계

 - 데이터 관리 프로그램


 - MySQL, ORACLE , DB2, ...


 - MariaDB



SQL(Structured Query Language)


 - DBMS에서 사용할 수 있는 언어


 - 거의 대부분의 DBMS가 지원



1. DDL(Data Definition Language)

  - 데이터 정의어

  - 실제 데이터의 변경은 불가능


  - CREATE, DROP, ALTER , ....


2. DML(Data Manipulation Language)

  - 데이터 조작어

  - 실제 데이터의 변경이 가능

   -입력, 확인, 수정, 삭제


  -INSERT, SELECT, UPDATE, DELETE


3. DCL(Data Control Language)

  - 데이터 제어어

  - 권한, 트랜잭션 , ...

 


* mysql 설치


- mysql 서버 설치


 #>yum install -y mysql-server.i686


- mysql 클라이언트 설치


 #>yum install -y mysql.i686


mysqld 실행하기


#>service mysqld start



*mysql이 사용하는 포트는 3306입니다




1. mysql server 접속


  - 기본적으로는 외부에서의 접속은 비활성화 되어있습니다.


  - 처음에는 로컬에서만 접속이 가능합니다.


  - 기본 사용자는 "root"로 지정


  - 리눅스 시스템의 root 사용자와는 다른 사용자입니다


  - mysql 서버의 관리자입니다



#>mysql -u root -h host(ip/domain)




mysql은 자기만의 쉘을 쓰기 때문에 명령어가 다릅니다(배쉬 쉘이 아닙니다)


mysql은 모든 명령어의 끝에 세미콜론(;)을 붙입니다.




2. mysql root 사용자 패스워드 설정


#> mysqladmin -u root password 사용자하고자 하는 패스워드


password 설정 하고 나서 mysql을 실행할때는 -p옵션을 써야합니다


#>mysql -u root -p






3. 데이터베이스(DB)

 

 - 데이터를 관리하는 단위


1) DB목록확인


  mysql>show databases;



2) DB생성 : CREATE

  

  mysql> CREATE database 디비이름; 



3) DB삭제 : DROP


  mysql> DROP database 디비이름; 



4 DB선택 : USE


  mysql> USE 디비이름;






4. 테이블(TABLE)


  - 테이블을 정의: 데이터의 모양을 정의


 *게시판을 만들 떄 쓰이는 DB


  - 사용자 정보 : user, usr, user_info, info

 

  - 세션 정보 : session, cookie, sessin_id

  

  - 게시판 정보 : board


  - 댓글 정보 : reply



1) user 테이블 생성


 - 열을 정의: 번호(식별자), 사용자 아이디, 패스워드(md5), 이메일


 - 번호(no): 중복 불가능(primary key) ,자동으로 생성( auto_increment)


 - 사용자아이디(user_id) : 널값 불가능 , 문자열 타입(최대 15글자)

 

 - 사용자 패스워드(user_pw): 널값 불가능, 문자열 타입(최대 50글자)


 - 이메일(e-mail): 널 값 가능, 문자열 타입(최대 30글자)


2) 테이블 생성 :CREATE


 mysql> CREATE TABLE 테이블 이름( 열 이름 타입..., 열 이름 ..,)


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);


mysql> show tables;

..


mysql> desc 테이블 이름;



3) 테이블 삭제: DROP


 mysql> DROP TABLE 테이블 이름;



5. DML


 1)입력 : INSERT


 mysql>INSERT INTO 테이블 VALUE(값, 값,...)

 mysql>INSERT INTO 테이블이름(컬럼이름, 컬럼이름 ,....)VALUE(값,값)



mysql> insert into user value(10,'user1',md5('1234'), 'user1@yahoo.com');




2.) 확인(조회): SELECT


 mysql> SELECT 컬럼, 컬럼,.... FROM 테이블이름;


 mysql> select no,user_id, user_pw,email from user;

 mysql> select  * from user;


 mysql> SELECT 컬럼, 컬럼,.... FROM 테이블이름 WHERE 조건;

  ---------------

조건절

 mysql> SELECT 컬럼, 컬럼,.... FROM 테이블이름 WHERE 조건 and|or 조건;


조건: 칼럼이름 부등호|등호 값(no=1,no>10,..)



3) 수정:UPDATE


 mysql> UPDATE 테이블 이름 set 수정할 컬럼 이름 = 값, 수정할컬럼이름 =값


 mysql>update user set email="anon@daum.net"; #모든 값이변경



mysql>update user set email="user1@yahoo.com where no=10;




4) 삭제 : DELETE


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


mysql>delete from user where no=10;



mysql>delete from user; # 다 지우기



11을 지우면 다시 11로 만들어지는게 아니고 그뒤 12로 만들어집니다

auto increment 특성입니다


*mysql 공식사이트 dev.mysql.com


내일부터는 본격적으로 게시판 페이지를 만들어보도록 하겠습니다.

'Security > Web' 카테고리의 다른 글

[WEB SECURITY]10. 게시판 만들기 2  (0) 2017.08.23
[WEB SECURITY]9. 게시판 만들기  (0) 2017.08.22
[WEB SECURITY]7. PHP 2  (0) 2017.08.18
[WEB SECURITY]6. PHP  (0) 2017.08.17
[WEB SECURITY]5.Javascript 2 와 PHP  (0) 2017.08.16
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기