DB/DB 공통 관리

MySQL 구조

서버엔지니어 2023. 3. 11.
728x90

로컬 계정으로 MySQL 서버에 관리자로 접속

mysql -u root -p비밀번호 
최초 접속시에는 비밀번호가 설정되어 있지 않음. 

mysql -u root 
접속 후 관리자계정(root)의 비밀번호 설정해야함.. 

use mysql; <--- mysql: MySQL자체의 관리 정보를 담아놓는 데이터베이스 
update user set password=password('1234') where user='root'; 
flush privileges; 

MySQL 기본구조 정리

===============================================================================

 

# 데이터베이스(Database) 
테이블을 담는 울타리역할.... 

# 테이블(Table) 

실제 데이터들을 저장하는 역할

# 컬럼(Column) 

테이블에 저장되는 항목을 컬럼으로 구분한다.. 

# 로우(Row) 

데이터가 입/출력되는 단위 
다른말로 레코드(Record)

 

===============================================================================

Database(데이터베이스)

 

데이터베이스 생성 
create database DB명 
create database shopDB 

데이터베이스 제거하기 
drop database shopDB; 

데이터베이스 확인 
show databases 

데이터베이스 선택 
use DB명 
use shopDB 

 

===============================================================================

자료형(Data Type) 

숫자형
bit
int -> Integer, 정수(음수,0,양수) 
tinyint
smallint
mediumint
bigint
float --> 부동소수(소수점 들어간거) 
double
decimal

문자형
char -> Character, 문자/문자열 1~255까지 고정형 남은공간은 공백으로 채움
char(10) --> 최대 10글자, 1글자만 입력해도 10바이트 잡아먹음... 
varchar -> Variable Character, 가변길이 문자열(문자열인데 길이가 가변), 
varchar(255) --> 최대 255글자, 1글자만 입력하면 1바이트만 잡아먹음... 
text(1~65535)
longtext(~429496729)

날짜형
date --> 날짜. 3바이트크기, YYYY-MM-DD
datetime --> 날짜/시간, 8바이트크기, YYYY-MM-DD HH:MM:SS
timestamp --> 4바이트크기, 1970-01-01 ~ 2037-01-01 

제약조건 (Constraints) 
unique --> 컬럼에 중복되는 값을 입력할 수 없다. 
not null --> 컬럼에 null 값을 허용하지 않음. 값이 반드시 들어가야함... 
default --> 컬럼에 들어갈 기본값을 지정 
check --> 조건에 맞는 값만 입력 가능 
primary key(기본키) --> 테이블의 기준 열(컬럼)을 설정 
foreign key(외래키) --> 기준열(Primary Key)에 있는 값만 입력가능함. 
primary key는 unique와 not null을 포함... 
===============================================================================

 

테이블 (table)

 

테이블 내용 수정하기 
update members set m_pw='1818' where m_id='tap'; 
update members set score=score+2000000 where l_name='JJobs'; 

테이블 내용 삭제하기 
delete from members ; 

테이블 구조 변경하기 
alter table 

- 컬럼 추가 
alter table [테이블명] add [컬럼명] [데이터타입] [제약조건] 
alter table memberTB add mlevel int not null 
alter table memberTB add mlevel int unsigned not null 

- 컬럼명 변경 
alter table [테이블명] change [기존컬럼명] [새로운컬럼명] [기존자료형] [기존제약조건] 
alter table memberTB change pass pwd char(15) not null 

- 컬럼 타입 변경 
alter table [테이블명] modify [기존컬럼명] [새자료형] [새제약조건] 
alter table memberTB modify name char(20) not null 

- 컬럼 삭제 
alter table [테이블명] drop [컬럼명] 
alter table memberTB drop mlevel 

- 테이블명 변경 
alter table [기존테이블명] rename [새테이블명] 
alter table memberTB rename members; 

테이블 제거하기 
drop table [테이블명]; 
drop table members;

 

댓글