create database mydb;
use mydb;
-- 테이블 생성
create table student(
student_id int,
name varchar(50) not null,
grade int not null,
major varchar(50) not null
);
select * from student;
desc student;
-- 과목 테이블 생성
create table subject(
subject_id int,
subject_name varchar(50) not null,
credit int not null,
department varchar(5),
professor char(50) not null
);
select * from subject;
desc student;
-- 이미 생성된 테이블에 기본 키 추가 하는 쿼리 사용방법
ALTER TABLE student ADD PRIMARY KEY(student_id);
-- 사전기반지식 : 특정 컬럼을 기본키로 만들게 되면 중복된 데이터를 허용 못하고
-- NULL 값이 있어서는 안됨
-- 먼저 쿼리구문 작성해보기
-- subject 테이블에 PK 추가 대상 - sbject_id
-- 제약 확인
ALTER TABLE subject ADD PRIMARY KEY(subject_id);
desc subject;
DESC 명령어는 특정 테이블의 구조(스키마) 정보를 출력하는 명령어입니다. DESC는 DESCRIBE 의 약어로, 테이블의 구조 정보를 보다 간략하게 확인할 수 있도록 지원하는 명령어입니다.
테이블 생성 시 PK를 추가하는 방법
-- 테이블을 삭제하는 명령어 확인
DROP TABLE student;
DROP TABLE subject;
-- 학생 테이블 생성 PK 추가
CREATE TABLE student(
student_id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
grade INT NOT NULL,
major VARCHAR(50) NOT NULL
);
desc student;
CREATE TABLE subject(
subject_id INT PRIMARY KEY,
subject_name VARCHAR(50) NOT NULL,
credit INT NOT NULL,
department VARCHAR(10) NOT NULL,
professor VARCHAR(20) NOT NULL
);
desc subject;
MySQL에서 가장 많이 사용하는 데이터 타입
- TEXT는 대부분의 문자열 데이터를 저장하는 데 사용됩니다
- BLOB는 이진 데이터를 저장하는 데 사용됩니다. 최대 크기는 TEXT와 동일하지만, TEXT는 문자 집합(Character Set)과 관련된 처리를 합니다. BLOB은 이진 데이터로 간주되어 문자 집합에 영향을 받지 않습니다.
-- 예약어는 기본적으로 테이블 이름을 선점할 수없다.
-- 하지만 강제적으로 `` 작은 따옴표를 사용해서 테이블 이름이라고 명시할 수 있다.
create table `order`(
id int primary key,
price bigint,
cusotmer_order varchar(50),
product_name varchar(20) not null,
quantity int not null,
order_date date not null
);
desc `order`;
-- 도전 과제 : 위 형식에 맞는 insert 구문을 만고 실행 하세요.
-- 도전 과제 : 위 형식에 맞는 insert 구문을 만고 실행 하세요.
INSERT INTO `order` (id, price, cusotmer_order, product_name, quantity, order_date)
VALUES (2, 15000, 'or123', '청바지', 3, '2024---05-30'); // date (값 확인)
select * from `order`;
'MySQL' 카테고리의 다른 글
SELECT 구문과 조건절 (2) | 2024.06.13 |
---|---|
INSERT 구문과 제약 사항 (0) | 2024.06.13 |
테이블에 데이터 입력 (0) | 2024.06.07 |
데이터베이스 모델링 (0) | 2024.06.07 |
데이터베이스 구축 절차 (1) | 2024.06.07 |