티스토리 뷰

MySQL 기본 SQL ( Table )




  SQL( Structured Query  Language , 구조화 질의어 )


  SQL은 관계형 데이터베이스 관리 시스템( RDBMS )의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이다.
  관계형 데이터베이스 관리 시스템에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스의 객체
  접근 조정 관리를 위해 고안 되었다.

  데이터베이스 언어 SQL 문법의 종류는 3가지로 구분된다.
    
    ㆍ데이터 정의 언어 ( DDL  : Data Definition Language )
    ㆍ데이터 조작 언어 ( DML : Data Manipulation Language )
    ㆍ데이터 제어 언어 ( DCL  : Data Control Language )


   【 데이터 정의 언어 : DDL 

  실제 데이터를 조작하지 않고, 정의할때 사용한다. Database관련 주요 SQL이 포함되어있다. 

      기본적인 DDL
    ㆍCREATE ( 데이터베이스 개체 ( 테이블, 인덱스, 조건 등 )의 정의 ,생성 )
    ㆍDROP ( 데이터 베이스 객체 삭제 )
    ㆍALTER ( 데이터 베이스 개체 변경 )
   
   【 데이터 정의 언어 : DML 

  실제 데이터를 조작할때 사용 Table 관련 주요SQL 포함되어 있다.

      기본적인 DML
    ㆍSELECT ~ FROM ~ WHERE ( 테이블 데이터 선택 및 검색결과 조회 )
    ㆍINSERT INTO ( 행 데이터 또는 테이블 데이터의 삽입 )
    ㆍUPDATE ~ SET ( 테이블 내용 업데이트 )
    ㆍDELETE ~ FROM ( 테이블에서 특정 행 삭제 )



   【 데이터 정의 언어 : DCL 


  권한 부여, 박탈, 연결 등 데이터 동기화나 데이터를 다룰때 사용한다.

      기본적인 DCL
    ㆍGRANT ( 특정 데이터베이스 사용자들에게 특정 작업에 대한 권한을 부여 )
    ㆍREVOKE ( 특정 데이터베이스 사용자들로부터 부여해준 권한을 박탈 )
    ㆍSET TRANSACTION ( 트랙잭션 모드 설정 )
    ㆍBEGIN ( 트랙잭션 시작 )
    ㆍROLLBACK (트랜잭션 취소 )



  SQL에는 많은 명령어가 있다. 그 중 SELECT문은 ' 데이터를 선택 ' 하는 명령어로, SQL에서 가장 많이 사용하는 키워드 이다.

  SELECT 명령은 아무리 사용해도 데이터가 훼손되거나 변경될 염려가 없으므로 , 데이터베이스를 처음 접하는 단계에서는

  SQL에 익숙해 지기 위해서라고 SELECT를 자주 접해보는게 좋다.


   【 테이블 생성  


  테이블을 만들떄에는 CREATE TABLE이라는 명령을 사용한다. 괄호 ( )안에 칼럼 이름과 자료형을 입력한다. 칼럼 이름과

  자료형 사이에는 공백을 두어 구분하고, 칼럼과 칼럼 사이에는 반점( , )을 사용해서 구분한다.


  Query > CREATE TABLE 테이블_이름 (칼럼_이름1 자료형1, 칼럼_이름2 자료형2, ...);



 ↑ 테이블을 생성할 데이터 베이스를 선택해야 한다.


 ↑ Hogwarts라는 테이블을 생성했다. 컬럼은 no, student, age를 생성했고 각각 int, text, int 타입으로 설정했다.

   # 'Query OK'라는 문구가 나와야 성공적으로 생성된것이다.

   # 오류가 발생했다면 입력 오류나 마지막에 쎄미콜론( ; )을 확인

   

  숫자 자료형의 종류

 자료형 

 의미 

 대응하는 범위 

 INT 

 오른쪽 범위 안에 있는 정수 

 -2147483648 ~ 2147483647 

 TINYINT 

 매우 작은 정수 

 -128 ~ 127 

 SMALLINT 

 작은 정수 

 -32768 ~ 32767 

 MEDIUMINT 

 중간 크기의 전수 

 -8388608 ~ 8388607 

 BIGINT 

 큰 정수 

 -9223372036845775808 ~ 9223372036854775807 

 FLOAT

 단정도 부동소수점 수  

 -3.402823466E+38 ~ -1.175494351E-38 

 DOUBLE 

 배정도 부동소수점 수 

 -2.2250738585072014E-308 ~ 1.7976931348623157E+308

 DECIMAL      고정소수점의 수                  최대 자릿수, 소수점이하 자릿수 형식으로 최대자릿수는 65 까지이며, 소수점 이하
 자릿수는 30까지 지정할 수 있다. 오차는 발생하지 않는다.


  문자 자료형의 종류

 자료형

 의미 

 대응하는 범위 

 CHAR 

 고정형 문자열 

 255자까지 

 VARCHAR 

 가변형 문자열  

 1 ~ 65532바이트, 문자수의 상한은 이용하는 문자 코드에 따라 다르다.

 TEXT 

 긴 문자열 

 65535자 까지 

 LONGTEXT 

 매우 긴 문자열  

 4294967295자 까지 

   # char 와 varchar의 차이점(클릭)





   【 모든 테이블 표시 


  MySQL에서 데이터베이스의 정보를 표시할때, SHOW 명령을 사용한다.


  Query > SHOW TABLES;


 

  【 테이블 컬럼 구조 확인 


  Query > DESC 테이블_이름;








  【 테이블 삭제 

  Query > DROP TABLE 테이블_이름;


  【 테이블에 데이터 추가 .1 


  Query > INSERT INTO 테이블_이름 VALUES( 데이터1, 데이터2, ... );


  컬럼을 정해주지 않으면 순서대로 들어간다. 단, 컬럼 갯수에 맞게 VALUES값을 넣어야 한다.


 ↑ 3개의 컬럼 존재


 ↑ VALUES값에 입력한 순서대로 컬럼에 들어갔다.


  【 테이블에 데이터 추가 .2 

  Query > INSERT INTO 테이블_이름( 컬럼_이름1, 컬럼_이름2,.... ) VALUES( 데이터1,데이터2,...);


 컬럼을 지정해서 컬럼에 맞는 테이터를 넣을 수 있다.


 ↑ 컬럼을 지정해서 값을 넣을 수 있다. 이때 지정한 컬럼의 갯수와 데이터의 값의 갯수가 같아야 한다.


  【 테이블에 데이터 추가 .3 

  Query > INSERT INTO 테이블_이름 ( 컬럼_이름1, 컬럼_이름2,.. ) VALUES ( 데이터1, 데이터2,... ),(데이터1,데이터2,...)


 컬럼의 지정해 해당컬럼에 여러개의 데이터를 넣을 수 있다.


 ↑ VALUES뒤에 값을 이어서 넣을 수 있다.


  【 데이터 표시 


  Query > SELECT 컬럼_이름1,컬럼_이름2,... FROM 테이블_이름;


 모든 컬럼이라는 의미의 별표( * )를 이용해  모든 데이터를 표시할 수 도 있다.



 ↑ SELECT 를 이용해 원하는 컬럼의 데이터를 조회할 수 있다.


 ↑모든 컬럼을을 의미하는 * 을 이용해서 모든 컬럼데이터를 조회할 수 있다.



  【 컬럼 구조 변경 

  컬럼 구조를 변경할 때 ALTER TABLE 명령을 사용한다. 변경내용에 따라 MODIFY,ADD,CHANGE,DROP을 함께 사용한다.
    ㆍ컬럼의 정의를 변경할때            : ALTER TABLE ... MODIFY ...
    ㆍ컬럼을 추가할때                      :  ALTER TABLE ... ADD ... 
    ㆍ컬럼의 이름과 타입를 변경할 때  : ALTER TABLE ... CHANGE ...
    ㆍ컬럼을 삭제할 때                     : ALTER TABLE ... DROP ...
 

  【 컬럼 구조 변경.1 - 컬럼의 자료형 변경 


  Query > ALTER TABLE 테이블_이름 MODIFY 컬럼_이름 자료형;


  ↑컬럼의 타입을 변경할 수 있다.


  【 컬럼 구조 변경.2 - 컬럼 추가 


  Query > ALTER TABLE 테이블_이름 ADD 칼럼_이름 자료형;


  ↑테이블 맨 아래로 컬럼을 추가시킬 수 있다.


  【 컬럼 구조 변경.3 - 컬럼 이름, 타입 변경  

  Query > ALTER TABLE 테이블_이름 CHANGE 변경_전_컬럼_이름 변경_후_컬럼_이름 변경_후_자료형;

  ↑컬럼의 이름과, 타입을 변경할 수 있다. 

     # 타입을 변경하고 싶지 않을때 타입은 전과 동일하게 작성하면 된다.


  【 컬럼 구조 변경.4 - 컬럼 삭제 

 SQL에서는 컬럼뿐만 아니라 데이터 베이스나 테이블 등을 삭제할 떄, DROP을 사용한다. DROP을 이용한 조건으로 컬럼을 
 삭제할 수 있지만 조건이 중복 된다면 삭제하기 까다롭다. 이때 ALTER와 함께 사용한다.

  Query > ALTER TABLE 테이블_이름 DROP 컬럼_이름

  ↑ALTER을 이용해 컬럼을 삭제할 수 있다.





'MariaDB,MySQL > 함수 및 레퍼런스' 카테고리의 다른 글

MySQL 시간 관련 함수  (0) 2018.12.05
문자열 함수 - strcmp  (0) 2018.05.11
제어문- IF  (0) 2018.05.11
CONCAT  (0) 2018.05.11
MySQL - 기본 SQL ( 데이터베이스 )  (1) 2017.06.05