# DBMS의 종류
-- 관계형 데이터베이스(RDBMS)
-- - 테이블(Table based)기반의 RDBMS.
-- - 테이블-컬럼형태의 데이터 저장 방식
-- - 여러 테이블을 합쳐 큰 테이블을 생성(조인:JOIN)해서 필요한 정보를
-- 찾아내는 방식
-- NoSQL(Not only SQL)
# 기본용어
-- 1) 스키마(Schma) : DB, 테이블 정의 내역
-- 2) SQL 쿼리(SQL Query) : RDBMS를 사용하는 전용 질의언어
-- 대소문자 가리지 않는다.
-- 3) 기본키(primary key:PK) : 테이블에서 하나의 레코드를 지정할
-- 수 있는 하나 이상의 컬럼 집합
-- ex)주민등록번호
-- 4) 외래키(foreign key:FK) : 어떤 테이블의 기본키가 다른 테이블의
-- 컬럼에 들어 있을 경우.
# SQL(Structured Query Language) : 구조화된 질의 언어
-- 1) 데이터베이스에 있는 필요한 정보를 사용할수 있도록 도와주는 언어.
-- 2) 대소문자 구별하지 않음
-- 사용자
-- 프로그램-------SQL------DBMS-------DB
# CRUD (Create, Read, Update, Delete)
-- - 기본적인 데이터 철기 기능인 생성, 읽기(Read), 갱신, 삭제를
-- 묶어서 일컫는 말.
DB, TABLE, 열의 이름이 확실하지 않을 때 조회하는 법
-현재 서버에 어떤 DB가 있는지 보기
SHOW DATABASES
query-1
use employees;
select *
from employees;
# shopdb라는 데이터베이스를 만드는 것
create database shopdb;
# use명령어는 '~사용하겠다.'
use shopdb;
# member 테이블 생성
create table member(
memberId varchar(10) not null,
memberName varchar(10) not null,
memberAdress varchar(30),
primary key(memberId)
);
# member 테이블 제거하는 명령어
drop table member;
# member 테이블의 상태를 알아보는 명령어
desc member;
# member에 있는 모든 열의 값들을 다 출력하는 쿼리문.
select * from member;
# 데이터를 member에 저장하는 쿼리문
# not null이라는 제약조건은 ""저장을 시켜주지만
# null이라고 저장하면 이것은 null이라고 인정하여 저장 시켜주지 않는다.
insert into member values('do','도우너','');
insert into member values('lee','',null);
# 데이터를 삭제해주는 명령어
delete from member where memberId ='do';
delete from member where memberId ='lee';
insert into member values('do','도파민','');
insert into member values('Dang','당나귀','경상도 부천시 중동');
insert into member values('jee','지운이','서울 인천시 헬동');
insert into member values('Han','한국은','서울 삼성시 주동');
insert into member values('Sang','상도둑','경기 성남시 분당구');
create table product(
productName varchar(10) not null,
cost int not null,
makeDate date,
company varchar(10) not null,
amount int not null,
primary key(productName)
);
desc product;
insert into product values('컴퓨터',10,'2013-01-01','삼성',17);
select * from product;
insert into product values('세탁기',20,'20140901','LG',3);
insert into product values('냉장고',10,'20150102','대우',22);
question-1-2
-- 문제 1
-- mydb를 만들고, 아래와 같이 테이블을 만들어라.
-- 테이블명: dept
-- 열이름 데이터형식 NULL허용 PK
-- DEPTNO int x O
-- DNAME varchar(14) x
-- LOC varchar(30) o
-- 문제 2
-- 만들어진 DEPT 테이블에 아래의 데이터를 추가하라.
-- 10, '경리부','서울'
-- 20, '인사부','인천'
-- 30, '영업부','용인'
-- 40, '전산부','수원'
create database mydb;
use mydb;
create table dept(
DEPTNO int not null,
DNAME varchar(14) not null,
LOC varchar(30),
primary key(DEPTNO)
);
desc dept;
insert into dept values(10, '경리부','서울');
insert into dept values(20, '인사부','인천');
insert into dept values(30, '영업부','용인');
insert into dept values(40, '전산부','수원');
select * from dept;