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 테이블이름 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 |