# 한 줄 주석문
-- 한 줄 주석문
/*
여러 줄 주석문
...
*/
# 데이터베이스 확인 그 줄 아무곳에 커서 놓고 ctrl+Enter
show databases;
# 데이터베이스 생성
# create database 데이터베이스병;
create database aidev;
# 데이터베이스 삭제
# drop database 데이터베이스명;
drop database aidev;
# 테이블(table)
# 데이터를 행과 열로 스키마에 따라 저장할 수 있는 구조
# 스키마: 데이터베이스의 구조와 제약조건에 관한 명세를 기술한 집합의 의미
/*
create table 테이블명 (
필드명1 타입 제약조건, --예) no int not null
필듬여2 타입 제약조건,
...
필드명n 타입 제약조건
)
*/
/*
데이터 타입
1. 숫자 타입
- 정수: tinyint, smallint, mediumint, int(범위 -21억~21억,주로사용), bigint ...
- 실수: float, double
2. 문자열 타입
- 텍스트: char, varchar(65,535byte까지 저장, 주로사용,더 많이 쓰고싶으면 text써라), text // varchar(20) 20바이트인데 영어는 20글자 한글은 2바이트라 10글자
//userid varchar(20) 나머지 빈칸은 삭제=> 메모리 효율적 1바이트 저장하면 1바이트만 사용함
//userid char(20) 나머지도 빈칸도 점유 => 비효율적 1바이트만써도 20바이트 소모
- 바이너리: binary, varbinary
- 열거: enum
enum('남자','여자') //이 필드에는 남자, 여자만 들어갈수있다!
3. 날짜와 시간타입
- 날짜: date
- 날짜와 시간타입: datetime, timestamp(1970년 1월 1일 0시0분0초 ~) ms(1/1000초)
*/
/*
제약조건
데이터의 무결성을 지키기 위해 데이터를 입력받을 때 실행하는 검사 규칙
- NOT NULL
필드에 NULL을 저장할 수 없음
- UNIQUE
중복된 값을 저장할 수 없음
NULL은 저장할 수 있음
- DEFAULT
기본값을 설정(NULL을 저장할 때 기본값을 설정)
- AUTO_INCREMENT (my sql에만 있음)
자동으로 숫자가 증가되어 추가
중복값이 저장되지 않음
직접 데이터를 추가할 수 없음
auto_increment를 사용한 필드는 primary key로 등록
no int auto_increment
- PRIMARY KEY
UNIQUE제약과 NOT NULL제약을 동시에 적용 => 중복x,NULL x
테이블에 오직 하나의 필드에만 적용
데이터를 쉽고 빠르게 검색할 수 있도록 설정(색인)
외래캐가 참조할 수 있도록 설정
- FOREIGN KEY
다른 테이블과 연결해주는 역할
기준이 되는 테이블의 내용을 참조해서 레코드를 입력
PRIMARY KEY를 참조
*/
# 데이터베이스 선택
# use 데이터베이스명
use aidev;
# 테이블 만들기
create table tb_member(
mem_id int auto_increment primary key,
mem_userid varchar(20) unique not null,
mem_userpw varchar(20) not null,
mem_name varchar(20) not null,
mem_hp varchar(20) not null,
mem_email varchar(50) not null,
mem_hobby varchar(100),
mem_ssn1 varchar(6) not null,
mem_ssn2 varchar(7) not null,
mem_zipcode varchar(5),
mem_address1 varchar(100),
mem_address2 varchar(100),
mem_address3 varchar(100),
mem_regdate datetime default now()
);
# 테이블 확인
# desc 테이블명
desc tb_member;
# 테이블 삭제
# drop table 테이블명
drop table tb_member;
# 테이블 필드 추가
# alter table 테이블명 add 컬럼명 타입 제약조건
alter table tb_member add mem_point int default 0;
# 테이블 필드 수정
# alter table 테이블명 modify column 컬럼명 컬럼타입 제약조건
alter table tb_member modify column mem_point double default 0;
# 테이블 필드 삭제
# alter table 테이블명 drop 컬럼명
alter table tb_member drop mem_point;
'서버&백엔드 > 🗃️ DataBase' 카테고리의 다른 글
MyBatis | DAO => XML 파라미터넘길때 여러방법들 (0) | 2024.03.15 |
---|---|
MongoDB (0) | 2024.02.10 |
Redis설치 (0) | 2023.06.25 |
MySQL (0) | 2022.10.17 |
MySQL (0) | 2022.10.17 |