MY SQL
DDL, MYSQL 기본 설명
미스터 한뺑
2022. 8. 11. 23:15
반응형
1. DDL
-- 데이터베이스와 테이블을 정의하는 언어
-- CREATE: 데이터베이스와 테이블을 생성하는 명령어
-- ALTER: 테이블을 수정하는 명령어
-- DROP: 데이터베이스와 테이블을 삭제하는 명령어
2. MY SQL기본 설명
2-1 데이터 베이스 기본 조작
-- 데이터베이스 생성하기
create database (데이터베이스 명);
-- 데이터베이스 삭제하기
drop database (데이터베이스 명);
-- 데이터베이스 삭제시 조건 주기
drop database if exists(데이터베이스 명);
-- 데이터베이스 리스트 출력하기
show databases;
-- 데이터베이스를 선택하려면 아래의 USE 사용해야한다.
use(데이터베이스 명);
-- 현재 어떤 데이터베이스를 선택 했는지 확인한다.
select database();
2-2. 테이블 기본 조작
- 테이블 생성하기
create table (테이블 명)
user_id int
);
-- 테이블 리스트 보기
show tables;
-- 테이블 삭제하기
drop table(테이블 명);
drop table if exists (테이블 명);
create table(테이블 명)(
(테이블 행) int,
(테이블 행) varchar(10), # 가변길이, 입력한 크기만큼 공간이 잡힌다.
(테이블 행) char(13) # 고정길이 , 가변길이보다 속도가 빠르다.
);
-- 테이블 구조 확인하기
desc (테이블 명)
*제약 조건
:데이터를 삽입할때 무조건 삽입되는게 아니라
-- 어떠한 조건을 만족 했을 경우에만 삽입되도록 하는 제약
-- 기본키(primary key) : 중복값 X, Null X
-- auto_increment: 새데이터 저장시 고유번호가 자동생성되서 들어간다.
create table tb_product(
(테이블 행)int primary key auto_increment,
(테이블 행) varchar(20) unique not null,
(테이블 행) int
);
desc (테이블 명)
select * from (테이블 명)
*테이블 수정하기
-- 컬럼 추가하기
alter table (테이블 명) add(테이블 행) varchar(255);
desc tb_user;
-- 컬럼명 수정하기
alter table(테이블 명) change(테이블 행) varchar(50);
desc tb_user;
-- 컬럼 타입 수정하기
alter table(테이블 명) modify column (테이블 행)varchar(13);
-- 컬럼에 대하여 제약조건 및 속성 추가하기
alter table(테이블 명) modify column (테이블 행) int primary key auto_increment;
desc(테이블 명)
alter table (테이블 명) add(테이블 행) int;
-- 컬럼 삭제하기
alter table(테이블 명) drop(테이블 행);
desc tb_user;
alter table(테이블 명) modify column (테이블 행) varchar(10) not null;
alter table (테이블 명)modify column (테이블 행) varchar(13) not null;
alter table (테이블 명)modify column (테이블 행) varchar(255) not null;
desc (테이블 명);
# foreign key
-- 외래키, 외부키 , 참조키
-- pk 보유하는 테이블이 부모, 참조하는 테이블을 자식
create table tb_order(
order_id int primary key auto_increment,
user_id int, # 부모의 기본키의 데이터 타입으로..
product_id int, # 부모의 기본키의 데이터 타입으로..
order_dt datetime default current_timestamp,
foreign key(user_id) references tb_user(user_id),
foreign key(product_id) references tb_product(product_id)
);
desc tb_order;
반응형