Database/SQL

데이터베이스 , 테이블 삭제/생성

NiceKHJ 2024. 9. 9. 18:42

데이터베이스를 먼저 생성합니다.

 

생성한 데이터베이스를 사용하여 그 안에 테이블을 만들어줍니다.

 

테이블 생성

 

idx , age , userid...등은 컬럼명으로  JavaScript 에서 변수명이라 생각하면 이해하기 쉽습니다.

MySQL 에서는 대 소문자를 구분하지 않습니다.

 

1. int (정수형)

  • int는 정수값(숫자)을 저장할 때 사용합니다.
  • 음수 , 양수 , 0 등 숫자 데이터를 저장하는 데 적합합니다.
  • 예를 들어, 사용자 ID, 나이,점수,카운트 등 숫자 데이터를 다룰 때 사용합니다.

예시 : idx int auto_increment primary key 

여기서 auto_increment 란 숫자 자동 증가 입니다. idx에 값을 주지않아도 자동으로 하나씩 추가할때마다 +1 씩 증가합니다.

 

primary key 란 데이터베이스 테이블에서 각 행을 고유하게 식별하는데 사용되는 컬럼입니다.

  1.  고유성 : 프라이머리 키는 테이블 내에서 각 행을 고유하게 식별합니다. 즉, 같은 값이 두 번 이상 나타날 수 없습니다.
  2.  NULL 불가 : 프라이머리 키 컬럼은 NULL 값을 가질 수 없습니다. 모든 행에 반드시 값이 있어야 합니다.
  3. 인덱스 : 프라이머리 키는 자동으로 인덱스가 생성되어 검색 속도가 빨라집니다.

예로 idx 컬럼이 프라이머리 키로 설정되어 있으면 각 행의 idx 값은 고유해야 하며 NULL 값을 가질 수 없습니다. 또한 이 컬럼을 기준으로 데이터를 빠르게 검색할 수 있습니다.

프라이머리 키는 테이블의 무결성을 유지하고 데이터의 일관성을 보장하는 중요한 역할을 합니다.

 

 

2. varchar (문자열)

  • varchar는 문자열(글자) 데이터를 저장할 때 사용합니다.
  • 괄호 안에 최대 문자 수를 지정할 수 있습니다. 예를 들어 varchar(30)은 최대 30자까지의 문자열을 저장할 수 있습니다.
  • 이름 , 아이디 , 비밀번호 , 전화번호 등 문자를 다루는 데이터를 저장하는 데 적합합니다.

예시 : name varchar(30) not null

여기서 not null 은 해당 열(컬럼)에 빈 값(null 값)이 들어가는 것을 허용하지 않겠다는 의미입니다.

즉, 필수 입력값을 요구하는 제약 조건입니다.

 

 

날짜:

indate datetime default now() 는 데이터베이스 테이블에서 indate 컬럼이 행이 추가될 때마다 현재 날짜와 시간으로 자동 설정되도록 함

  • indate : 컬럼 이름 , 날짜와 시간을 저장합니다.
  • datetime : 데이터 타입 입니다. 날짜와 시간을 함께 저장할 수 있는 형식
  • default now() : 기본값을 현재 날짜와 시간으로 설정합니다. 

 

요약 ::

create table my_test(
idx int auto_increment primary key, -- 숫자형 
name varchar(30) not null,              -- 최대 30자의 문자열 
age int ,                                           -- 숫자형 
userid varchar(20) not null,             -- 최대 20자의 문자열 
userpw varchar(20) not null,           -- 최대 20자의 문자열
tel varchar(20),                               -- 최대 20자의 문자열 null 허용
indate datetime default now()         -- 날짜와 시간(현재)
);

 

 

테이블 삭제

 

drop table if exists 테이블명;

 

테이블 삭제 후 생성 

 

truncate table 테이블명;

 

테이블 내용 삭제

 

delete from 테이블 where 조건;

 

 

데이터 베이스 삭제

 

drop database db명;

 

 

'Database > SQL' 카테고리의 다른 글

데이터베이스 Data 추가/수정/삭제/확인  (0) 2024.09.09
데이터베이스 컬럼 추가 / 삭제 / 수정  (0) 2024.09.09
Join  (0) 2024.07.09
transaction(트랜잭션)  (0) 2024.07.09
Sequence  (0) 2024.07.09