-
[DBMS] MySQL 스키마생성, DDL ( workbench )기초/DBMS 2017. 7. 21. 10:26
# 만들어져있는 정보 보기 ( show )
- database보기
mysql> show databases;
------------------------------
Databases
------------------------------
information_schema
mysql
performance_schema
>> 기본으로 만들어져있는 3개의 데이터베이스는 설정에 관련된 데이터베이스이므로 건들이지 말자!
>> MySQL Workbench에서는 가려져있다.
#스키마 만들기 ( mysql에서는 스키마 == 데이터베이스라고 볼수 있다. )
mysql> CREATE SCHEMA `[스키마 이름]` ;
mysql> CREATE DATABASE '[데이터베이스 이름]';
-워크벤츠
>>
>> 계속 Apply를 눌러준다.
#스키마 선택 >> 데이터베이스를 선택해야 table에 대한 정보를 볼 수 있다.
mysql> USE '[스키마 이름]'#테이블 만들기
mysql> CREATE TABLE 'test'.'korea' ( 'id' CHAR NOT NULL, 'age' INT NULL, PRIMARY KEY (`id`));-워크벤츠
Column Name : 컬럼 이름
DataType : 컬럼 자료형
기호
용어
내용
PK
Primary Key
테이블에서 고유한 값 ( 중복 X )
NN
Not Null
빈 값을 허용하지 않는다.
UQ
B
UN
ZF
AI
Auto Increment
자동으로 넘버링해준다.
G
Default
>>테이블은 각각의 컬럼마다 데이터 자료형 (타입)을 지정해야 한다.
[자료형]
Char : 문자하나 ( 2BYTE ) >> 괄호안에 들어가는 수는 몇글자를 나타낸다
INT : 정수형 ( 비트 ) >> 괄호안에 들어가는 수는 비트(용량)을 나타내며 기본값으로 11비트를 사용한다.
#테이블 보기 ( 선택된 데이터베이스(스키마)의 테이블 목록을 보여준다 )
mysql> show tables;
--------------------
Tables_in_test
--------------------
korea
-------------------
-워크벤츠
SCHEMAS에 있는 스키마를 [ 더블클릭 ]하게 되면 폰트가 굵어지면서 [test]스키마가 선택되었다.
이때 information에 선택된 스키마가 표시된다. ( 테이블을 선택하면 테이블 속성도 표시된다. )
워크 벤츠 기능
Create Table : 테이블 생성
Alter Table : 테이블 속성 변경
Drop Table : 테이블 삭제
예)
CREATE DATABASE TESTCREATE TABLE 'test'.'korea' ( 'id' CHAR NOT NULL, 'age' INT NULL, PRIMARY KEY (`id`));
ALTER TABLE `test`.`korea` CHANGE COLUMN `id` `id` CHAR(5) NOT NULL ;
DROP TABLE TEST
DROP DATABASE TEST
TABLE생성 변경시, 컬럼에 대한 정보를 작성해야 한다.
뷰 또한 DDL 명령을 사용해 생성한다.
뷰란?
보안, 쿼리속도등 테이블의 정보를 한정적으로 줄이거나 여러테이블을 합쳐놓은 정보이다.
테이블을 참조하는 정보이기에 오직 읽기만 가능하며 테이블의 데이터가 바뀜에 따라 뷰의 데이터정보도 변경된다.
CREATE VIEW [생성될 뷰이름] as[참조될 테이블 쿼리(select 문으로) ]
SELECT memberName, memberAddress from memberTBL;-워크벤츠
인덱스 - 만들기
create index idx_indexTBL_firstname on shopDB.indexTBL(first_name);
create index [ 인덱스 컬럼이름 ] on [데이터베이스].테이블(컬럼);
인덱스에 이름을 지정할 때는 일반적으로 이름에 앞부분에 idx를 붙여 만들게 된다.
'기초 > DBMS' 카테고리의 다른 글
[DBMS] Mysql 데이터에 한글 넣기 (0) 2017.07.24 [DBMS] MySQL Workbench 폰트 및 단축키 (0) 2017.07.24 [DBMS] 리눅스 mysql 설치 (0) 2017.07.21 [DBMS] Oracle SQL Tip (0) 2017.07.12 [DBMS] DBMS의 사전지식! (0) 2017.07.11