everyday com-eat
작성일
2021. 12. 13. 13:59
작성자
갱수터
728x90

DBMS

- 데이터베이스 관리 시스템(DataBase Management System)

 

 

1. DBMS종류를 정하고 설치한다

(Oracle,MySQL,IBM의 DB2, SQL Server,MongoDB 등)

- 우리는 mysql를 서버 설치(구축)한다.  http://oracle.com/

- mysql dbms를 관리하는 툴도 설치해준다. ( dbeaver,QueryBox,HeidiSQL 등)
https://www.heidisql.com/

 

2. mysql DBA(DB관리자) root로 로그인

세션 이름 = 아이디_DB명로 통일해준다

 

 

3. DB생성

create database DB명;
CREATE DATABASE dev42db;

 

4. 일반사용자 계정 생성

CREATE USER 'DB접속ID'@'%' IDENTIFIED BY 'DB접속PW';
%일경우 모든 서버에서 접근 허용
CREATE USER 'dev42id'@'%' IDENTIFIED BY 'dev42pw';

 

5. 접근권한 부여

GRANT 권한을 줄 목록 ON DB명.* TO 'db접속id'@'호스트'
GRANT select,insert,delect,update,create,drop,alter ON dev42db.* TO 'dev42id'@'localhost';
또는
GRANT ALL PRIVILEGES ON dev42db.* TO 'dev42id'@'%';

 

6. 변경된 내용 메모리에 저장

FLUSH PRIVILEGES;

 

7. 일반사용자 로그인

세션관리자에서 위에서 만든 DB에 접속한다.

 

 

 

8. table 생성

create table 테이블명( 컬럼이름 데이터타입 (제약_조건) );
create table tb_member(
m_id VARCHAR(10) NOT NULL PIRMARY KEY,
m_pw VARCHAR(10) NOT NULL,
m_level VARCHAR(10) NOT NULL,
m_name VARCHAR(20) NOT NULL,
m_email VARCHAR(80)
)DEFAULT CHARSET=euckr;

tb_member 테이블을 생성한다. 컬럼은 m_id,m_pw,m_level,m_name,m_email 5개고 모두 varchar 데이터타입을 가진다.

m_id는 기본키(primary key)로 중복값을 가질 수 없고 m_email을 제외한 컬럼들은 null값을 가질 수 없다.

 

 

더보기
데이터타입
unsigned 자료형 앞에 사용, 음수 부호를 표현할 수 있는 만큼의 수가 양수로 표현됨
tinyint -127 ~ 128까지의 수 표현 가능, (unsigned 사용시 0~255)
int 약 -21억 ~ 21억 수 표현 가능, 정수형 표현에 많이 사용 (unsigned 사용시 0~약42억)
double[a,b] a,b 생략가능, a- 소수점 이하를 포함한 전체 자리수, b- 소수점 이하 자리수 지정
char(a) 문자열 , a만큼 문자입력받음, 1~255개의 문자 입력 가능(입력 안할 시 기본값 1)
varchar(a) char과 비슷, 문자개수가정해지지 않고 가변적임, a는 문자의 최대길이
binary(a) 길이가 a인 이진수 문자열, 길이는 a로 고정
varbinary(a) binary와 비슷, 가변길이, a는 최대 길이
date YYYY년 MM월 DD일 표시
time HH시 MM분 SS초 표시
datetime YYYY년 MM월 DD일 HH시 MM분 SS초 표시

 

TABLE 생성시 제약조건
not null
null을 허용하지 않음
unique
중복된 값을 허용하지 않음
primary key
기본키, 항상 유일한 값을 가지도록 하며 비어있을 수 없다 (not null +unique)
foreign key
외래키, 참조 테이블의 컬럼 값이 존재할때만 허용
check
미리 설정해둔 값 이외의 값이 들어오면 오류띄움 , 조건(<,>,<=,>=,in 등)
defaulte
값을 입력하지 않으면 자동으로 저장되는 값 지정
방법
1. 컬럼 방식
create table tb_member( m_id varchar(10) not null primary key);
2. 테이블 방식
create table tb_member(
m_id varchar(10) 
constraint pk_tb_member primary key(m_id) 
);

 

 

 

 

9. DML(데이터 조작어)

insert(입력) / update(수정) / delete(데이터 삭제) / select(조회) 할 수 있다

insert into 테이블명 values(컬럼 순서대로 값 넣기);
insert into tb_member values('id001','pw001','관리자','홍01','test01');
insert into tb_member values('id002','pw002','판매자','홍02','test02');
insert into tb_member values('id003','pw003','구매자','홍03','test03');

update tb_member set m_pw='3',m_level='3',m_name='삼길동',m_email='meail@' where m_id='id003';

delete from tb_member where m_id='id003';

select * from tb_member;

 

 

 

728x90

'{ "Hello World!" }; > DataBase' 카테고리의 다른 글

(DB) 데이터베이스 설계  (0) 2022.01.14
(DB) JOIN, UNION  (0) 2021.12.29
(DB) MySQL 내장 함수,연산자  (0) 2021.12.29
(DB) 데이터 모델링, 관계형 데이터 모델  (0) 2021.12.29
(DB) 데이터베이스, SQL  (0) 2021.12.23