본문 바로가기
[파이썬]/데이터베이스

[MariaDB] 테이블 생성 (+HeidiSQL)

by sung min_Kim 2023. 11. 21.

· MariaDB 설치
2023.11.20 - [[파이썬]/프로그래밍] - [파이썬][프로그래밍] MariaDB 설치

 

[파이썬][프로그래밍] MariaDB 설치

MariaDB MySQL의 기능을 향상 시 오픈소스 관계형 데이터베이스 · MariaDB를 사용하는 이유는 ? MariaDB는 MySQL의 대체제로 개발되었으며, MySQL에 비해 더욱 개선된 성능, 보안, 안전성을 제공하면서도 기

sungmin93.tistory.com


· 테이블(Table)에 관한 개념 및 특징 (+ERD)
2023.11.20 - [[파이썬]/데이터베이스] - [파이썬][데이터베이스][MariaDB] 테이블의 개념 및 특징 (+ERD)

 

[파이썬][데이터베이스] 테이블의 개념 및 특징 (+ERD)

Table, 테이블 데이터를 저장할 수 있는 공간 · 테이블(Table)을 사용하는 이유는 ? 사용자는 데이터베이스의 테이블(Table)을 생성하여 데이터를 저장하고, 필요한 시점에 해당 데이터를 조회하거나

sungmin93.tistory.com


· 테이블(Table) 생성

 

  1. HeidiSQL ( = DB 클라이언트 툴) 프로그램을 실행하고, 데이터베이스 서버에 로그인한다.


  2. 왼쪽의 데이터베이스 트리에서 테이블을 생성하려는 데이터베이스를 선택한다.


  3. 선택한 데이터베이스를 작업 대상 데이터베이스로 설정한다. 이로써 데이터베이스의 테이블 조작이 가능하다.
    명령어 : USE 데이터베이스명;


  4. CREATE 명령어를 사용하여 테이블을 생성한다.
CREATE TABLE 테이블명 (
   컬럼명1 데이터타입,
   컬럼명2 데이터타입,
CONSTRAINT 제약조건이름 PRIMARY KEY (필드명)
);



  • 데이터 타입

    - int / float : 정수형 / 실수형 데이터
     

    - char : 고정 길이 문자열을 저장한다. char(n) 타입은 항상 n길이의 문자열을 저장하며, 입력된 문자열의 길이가 n보다 적을 경우 나머지 부분은 공백으로 채워진다.


    - varchar :  가변 길이 문자열을 저장한다. varchar(n) 타입은 최대 n길이의 문자열을 저장하며, 입력된 문자열의 길이가 n보다 적을 경우 공백으로 채워지지 않고 실제 데이터만큼만 저장 공간을 차지한다.


  • CONSTRAINT : 제약 조건을 선언하는 명령어로, '기본 키는 고유한 값이 반드시 존재하여야 하고, 그 값은 중복될 수 없다'는 제약 조건을 기본 키에 설정함으로써 데이터의 정확성을 보장한다.



<예시> 테이블 생성

 

테이블명 Lprod (상품분류정보)
컬럼명(ENG) 컬럼명(KOR) 자료형(Data Type) KEY NOT NULL
Lprod_id 순서 Int   Y
Lprod_gu 상품분류 코드 Char(4) PK Y
Lprod_nm 상품분류 명 Varchar(40)   Y

 상품분류정보에 대한 테이블 'Lprod'을 생성하고자 한다. 기본적으로 해당 테이블에 대한 각 컬럼명과 데이터 타입을 설정하고 not null 제약 조건을 걸어 해당 필드에 null 값을 허용하지 않도록 하였다. 더불어 기본 키에 대해 'constraint' 제약 조건을 설정함으로써 각 레코드의 고유성과 무결성을 보장하였다. 


상품분류 테이블 생성_1

  생성 결과 'gjdb' 데이터베이스 공간에 'lprod' 테이블이 생성된 것을 볼 수 있다.


상품분류 테이블 생성_2

 각 카테고리의 열 데이터와 데이터 유형 및 길이, Null 허용금지 등 입력한 값을 기반으로 테이블이 잘 생성되었다.

 



테이블의 생성은 각 필드의 테이터 타입, not null 제약 조건, 그리고 기본 키 설정을 통해 데이터의 구조와 무결성을 보장하는 과정이다.

이렇게 설계된 테이블은 데이터의 효율적인 관리와 정확한 분석을 가능하게 한다.

다음 글에서는 'CRUD'라고 하는, 데이터 입력, 수정, 조회, 삭제에 관하여 다루도록 하겠다.