1. 데이터(Data)
데이터는 정보를 나타내는 숫자, 문자, 기호의 집합으로 컴퓨터 또는 디지털 장치에서 처리하고 저장할 수 있는 형태
2. 데이터베이스(DataBase)
- 체계적으로 구성된 데이터의 집합이며 특정 목적을 위해 조직화되고 관리한다.
- 정보를 효율적으로 저장, 검색, 업데이트, 관리할 수 있는 기술적인 도구와 구조를 제공한다.
- 데이터베이스를 관리할 수 있는 기술적인 소프트웨어를 데이터베이스 관리 시스템(DataBaseManagement System)이라고 한다
- 데이터베이스 시스템에서는 관계형 데이터베이스 시스템이(RDBMS) 있으며 이는 SQL을 사용하여 데이터를 관리한다.
- SQL을 사용하지 않는 시스템은 NOSQL 이라고 한다.
- SQL은 국제 표준으로 지정되어 있어 모든 소프트웨어 가 같은 문법을 사용한다. 단 각 소프트웨어 마다 자체적으로 추가 한 다른 문법 들은 있을수있다.
3. MySQL
설치주소: https://dev.mysql.com/downloads/installer/
4. SQL(Structured Query Language)
- 데이터베이스 관리 시스템(DBMS)에서 데이터를 관리하기 위해 사용되는 표준화된 프로그래밍 언어이다.
- 주석문 : #, -- , /* */, '''
- 대소문자를 구별하지 않는다.
- 문자열을 저장할 때 ''(작은 따옴표)만 사용 'apple'
- 다른 언어에서 SQL을 연동해서 코드를 사용할때 SQL문을 큰따옴표로 감싸주어야 하기때문에 SQL안에서는 작은따옴표만 사용한다.
데이터베이스 확인하기
SHOW DATABASES;
데이터베이스 만들기
CREATE DATABASE kdt;
데이터베이스 -> 테이블
- 테이블: 데이터를 행(레코드, 로우)과 열(컬럼, 필드)로 스키마에 따라 저장할 수 있는 구조
- 스키마: 데이터베이스의 구조와 제약조건에 관한 명세를 기술한 집합
CREATE TABLE 테이블명( 필드명1 데이터타입 제약조건, 필드명2 데이터타입 제약조건, 필드명3 데이터타입 제약조건, ... )
데이터 타입
1. 숫자형 타입
- tinyint: 정수(1byte)
- smallint: 정수(2byte)
- int: 정수(4byte), 약 -21억 ~ 21억
- bigint: 정수(8byte)
- float: 부동 소수형 데이터 타입(4byte)
- double: 부동 소수형 데이터 타입(8byte)
- decimal(길이, 소수): 고정 소수형 데이터 타입
2. 문자형 타입
- char: 고정 길이 데이터 타입(최데 255byte)
- 지정된 길이보다 짧은 데이터를 입력하면 나머지 공간을 채워서 낭비한다.
- varchar: 가변 길이 데이터 타입(최대 65535byte)
지정된 길이보다 짧은 데이터를 입력하면 나머지 공간을 채우지 않아 아낄 수 있다. - text: 문자열 데이터 타입(최대 65535byte)
- longtext: 무제한 문자열 데이터 타입
3. 이진 데이터 타입
- binary, byte: char의 형태의 이진 데이터 타입(최대 255byte)
- varbinary: varchar의 형태의 이진 데이터 타입(최대 65535byte)
4. 날짜 데이터 타입
- date: 날짜(년도, 월, 일)형태의 데이터 타입(3byte)
- time: 시간(시, 분, 초)형태의 타입(3byte)
- datetime: 날짜와 시간 형태의 데이터 타입(8byte)
- timestamp: 1970년 1월 1일 0시 0분 0초부터 시작한 ms타입의 시간이 저장(4byte)
5. 제약 조건(constraint)
데이터의 무결성을 지키기 위해 데이터를 입력받을 때 실행되는 검사 규칙을 의미한다.
- not null: null값을 허용하지 않고, 중복값은 허용 한다.
- unique: 중복값을 허용하지 않고, null 값은 허용 한다.
- primary key: null값을 허용하지 않고, 중복값도 허용하지 않는다, 테이블에 단 하나만 설정가능하고, 참조키와 쌍으로 연결됨, 인덱 싱을 설정한다.
- default: null값을 삽입할 때 기본이 되는 값을 설정한다.
- enum: 원하는 범위를 설정하고 해당 범위의 값만 저장한다. # 권장하지 않음
- foreign key: 기본키와 쌍으로 연결된다.
데이터베이스 선택하기
USE kdt;
테이블 만들기
CREATE TABLE member (
userid VARCHAR(20) PRIMARY KEY,
userpw VARCHAR(20) NOT NULL,
name VARCHAR(20) NOT NULL,
hp VARCHAR(20) UNIQUE NOT NULL,
email VARCHAR(50) NOT NULL,
gender VARCHAR(10) NOT NULL,
ssn1 CHAR(6) NOT NULL,
ssn2 CHAR(7) NOT NULL,
zipcode VARCHAR(5),
address1 VARCHAR(100),
address2 VARCHAR(100),
address3 VARCHAR(100),
regdate DATETIME DEFAULT NOW(),
POINT INT DEFAULT 100
);
테이블이 잘 생성된것을 확인할수 있다.
'코딩 > MySQL' 카테고리의 다른 글
MySQL과 파이썬 연동 (0) | 2024.03.28 |
---|---|
MySQL 계정,사용자,권한 관리 (0) | 2024.03.27 |
ER 다이어그램 (0) | 2024.03.27 |
MySQL의 함수 (0) | 2024.03.27 |
MySQL 기본문법 (2) | 2024.03.26 |