본문 바로가기

반응형

Database

(26)
제약조건 (Constraint) 데이터 무결성 (Integrity) - 저장된 데이터에는 '잘못된 데이터'가 없어야 함 제약조건 (Constraint) - DBMS는 데이터의 무결성을 보장하기 위해 잘못된 데이터가 저장되는 것을 방지하기 위해 제약조건을 사용 - 제약조건을 테이블의 컬럼에 설정하여 사용 - 해당 컬럼에 설정된 제약조건에 위배된 데이터가 들어오는 경우 에러 발생 제약조건 이름 제약조건의 의미 NOT NULL NULL 입력 불가 UNIQUE 중복값 입력 불가 PRIMARY KEY 테이블당 단 1개 설정 가능. 데이터의 유일성 보장 NOT NULL + UNIQUE의 의미 FOREIGN KEY 다른 테이블의 컬럼을 참조해서 무결성 검사 외래키 값은 NULL 혹은 참조할 수 있는 값이어야 함 CHECK 설정된 값만 입력 허용
DBMS (Database Management System) DBMS (Database Management System) - 사용자와 데이터베이스(DB) 사이에서 사용자의 요구(query)에 따라 정보를 생성해주고 데이터베이스를 관리해 주는 소프트웨어 집합 - 보통 database 설계라고 한다면 database 안에 들어가는 테이블과 그 관계를 설계하는 것을 뜻함 - 테이블에서 특정 레코드를 검색하거나 정렬할 수 있는 기준이 되는 필드를 키(key)라고 함. DB에서는 레코드를 구분하기 위해 특별히 선정한 키를 primary key (PK)라고 한다. DML (Data Manipulation Language) INSERT, UPDATE, DELETE, MERGE * 테이블 내의 레코드나 컬럼을 다루는 명령어 DDL (Data Definition Language)..
MySQL_section9_The Magic of Aggregate Functions #1. COUNT ::SELECT COUNT(컬럼명) FROM ; EX1. SELECT COUNT(*) FROM books; EX2. SELECT COUNT(author_fname) FROM books; EX3. SELECT COUNT(DISTINCT author_fname) FROM books; EX4. SELECT COUNT(DISTINCT author_lname) FRMO books; EX5. SELECT COUNT(DISTINCT author_fname, author_lname) FROM books; EX6. How many titles contain 'the'? SELECT COUNT(title) FROM books WHERE title LIKE '%the%'; SELECT COUNT(*) FR..
MySQL_section8_Refining our selections #1. DISTINCT : Select unique data ::SELECT DISTINCT FROM ; EX1. SELECT author_lname FROM books; EX2. SELECT DISTINCT author_lname FROM books; EX3. SELECT DISTINCT CONCAT(author_fname, ' ', author_lname) FROM books; EX4. SELECT DISTINCT author_fname, author_lname FROM books; #2. ORDER BY : 정렬 ::SELECT FROM ORDER BY ; ::SELECT FROM ORDER BY DESC; #내림차순 ::SELECT FROM ORDER BY ASC; #오름차순 ::SELECT FR..
MySQL_section7_The world of string functions #1. SOURCE : MySQL에서 텍스트 파일의 SQL문 실행. 외부 파일의 SQL문을 실행 ::SOURCE 경로/파일명.sql !! 주의 : SOURCE 명령어의 파일명을 쓸때는 반드시 '\' 대신에 '/'를 써주어야 함 EX1. SOURCE d:/mysql/test.sql; #2. CONCAT : column 병합 :: SELECT CONCAT(column, another column) FROM (테이블명); :: SELECT CONCAT(string값, string값); :: SELECT CONCAT(column, '문자 사이에 넣고 싶은 문자', another column) FROM (테이블명); :: SELECT CONCAT(string값, '문자 사이에 넣고 싶은 문자', string값);..
MySQL_section6_CRUD Exercise #1. CRUD Exercise 'Create' (1) Create a new database 'shirts_db' CRAETE DATABASE shirts_db; USE shirts_db; #shirts_db를 사용하기 위해 선택 (2) Create a new table 'shirts' # shirts 테이블 생성 CREATE TABLE shirts( shirt_id INT NOT NULL AUTO_INCREMENT, article VARCHAR(100), color VARCHAR(100), shirt_size VARCHAR(100), last_worn INT, PRIMARY KEY(shirt_id) ); # 생성한 shirts 테이블에 데이터 입력 INSERT INTO shirts(article, c..
MySQL_section5_CRUD [[ Create / Read / Update/ Delete ]] #1. WHERE : 조건을 주고, 보고 싶은 데이터 확인 :: SELECT (보고 싶은 컬럼명 혹은 *) FROM (테이블명) WHERE (조건 컬럼명) = (조건 값); EX1. Select by age : SELECT * FROM cats WHERE age = 4; EX2. Select by name : SELECT * FROM cats WHERE name = 'Egg'; #2. Aliases : 임시로 컬럼명 바꾸기 :: SELECT (바꾸고 싶은 컬럼명) AS (임시 컬럼명) FROM (테이블명); EX1. SELECT cat_id AS id, name FROM cats; EX2. SELECT name AS 'cat name', ..
MySQL_section3, 4_Databases and Tables 1. 데이터베이스 1) 현재 존재하는 DATABASE가 무엇인지 확인 SHOW DATABASES; 2) 새로운 DATABASE를 생성 CREATE DATABASE ; 3) DATABASE를 삭제 DROP DATABASE ; 4) 사용하려는 DATABASE를 지정 USE ; 5) 현재 내가 사용하고 있는 데이터베이스가 무엇인지 확인 SELECT database(); 2. 테이블 (데이터베이스 안에 있는 파일) 1) 테이블 생성 CREATE TABLE ( column_name data_type, column_name data_type ); 2) 현재 존재하는 테이블 확인 SHOW TABLES; 3) 테이블의 서식 확인 SHOW COLUMNS FROM ; 혹은 DESC ; 4) 테이블 삭제하기 DROP TAB..