MySQL

MySQL/MySQL icia 30일차

MySQL index란?

index에 대해서 인덱스는 테이블의 동작 속도(조회)를 높게 해주는 자료 구조라고 볼 수 있다. 책의 색인이 인덱스의 역할이라고 보면 될 것 같다. 인덱스는 MYI(MYSQL INDEX) 파일에 저장된다. 조회속도는 빨라지지만 update, insert, delete의 속도는 저하된다는 단점이 있다. 만약 PK키값의 어떤 것을 찾아야 할때 , 인덱스를 이용하지 않는다면 모든 테이블을 조회해서 찾아내야 할 것이지만 PK값만 찾아봐서 찾을 수 있다면 조회속도가 빠를 것이다.

MySQL/MySQL icia 30일차

MySQL VIEW( 뷰 )란?

뷰( VIEW ) 란? 데이터베이스에 존재하는 일종의 가상 테이블을 말한다. 실제 테이블처럼 행과 열을 가지고 있지만, 실제로 데이터를 저장하고 있지는 않는다. 여러 테이블을 번거롭게 들러서 확인해야 할 때나 SELECT 문을 겹겹이 사용해서 어려운 쿼리문으로 조회해야 할 때 이러한 번거 룸을 줄여준다 단 , 뷰는 단지 보여주는 역할만을 수행한다는 것을 잊지 말아야 한다. 뷰 ( VIEW ) 의 특징 1. 장점 특정 사용자에게 테이블 전체가 아닌 필요한 필드만 보여줄 수 있다. 복잡한 쿼리를 단순화해서 사용할 수 있다. 위와 같이 사용한 쿼리를 재사용가능하다. 2. 단점 한번 정의된 뷰는 변경이 불가능하다. 삽입, 삭제, 갱신 작업에 많은 제한 사항을 가진다. 뷰는 자신만의 인덱스를 가질 수 없다. 뷰 ..

MySQL/MySQL icia 30일차

MySQL concat()에 대해서

MySQL에서의 concat 함수에 대해서 1. concat 함수란? 여러 문자열 혹은 칼럼 값을 합쳐서 가져와야 하는 경우가 있을 때 사용한다. 즉 , concat 함수는 둘 이상의 문자열을 입력한 순서대로 합쳐서 반환해 주는 함수이다. 2. 문법 concat(문자열1, 문자열2 [, 문자열3.. ]) 3. 쿼리 ( Query ) 더보기 -- 투표프로그램 명세셔 drop table if exists TBL_VOTE_202005; create table TBL_VOTE_202005( V_JUMIN char(13) not null, V_NAME varchar(20), V_NO char(1), V_TIME char(4), V_AREA char(20), V_CONFIRM char(1), constraint T..

MySQL/MySQL icia 30일차

MySQL case, then, else, end, substr이란 ?

Case, then, else, end문에 대해서 Case문은 프로그래밍 언어에서 스위치( switch ) 문과 비슷하지만 , 다수의 조건에 하나의 반환 값은 동작하지 않는다. 사용법 case when 조건 then '반환 값' when 조건 then '반환 값' else 'when 조건에 해당 안되는 경우 반환값' end when과 then은 한쌍이어야 한다. when과 then은 다수가 존재할 수 있다. else가 존재하면 모든 조건에 해당하지 않는 경우에 반환 값을 설정할 수 있다. else가 존재하지 않고, 조건에 맞지 않아서 반환 값이 없으면 null을 반환한다. 예제 쿼리 더보기 투표프로그램에서의 투표한 인원에 대한 테이블이다. -- 투표프로그램 명세셔 drop table if exists T..

MySQL/MySQL icia 29일차

MySQL 페이징이란?

페이징이란? MySQL은 Oracle에 비해 페이징을 구현하기 쉽다. 속성을 추가하지 않고 출력위치를 설정할 수 있기 때문이다. limit와 offset을 활용하여 페이징을 구현한다. 일반적으로 게시판 같은 것들을 만들 때 페이징 처리를 많이 한다. 만들어놓은 게시판 데이터를 이용해 활용해 보겠다. MySQL orders , limit , offset 간단하게 정의하자면 limit = 행을 가져올 숫자 offset = 어디서부터 그 행을 가져올 것인지 라고 정의할 수 있다. select * from [테이블명] orders limit A; A만큼 행을 출력한다. select * from [테이블명] orders limit A offset B 이 쿼리는 (B+1) 행부터 A행만큼 출력하겠다는 뜻이다. se..

MySQL/MySQL icia 29일차

MySQL 각종 쿼리 문 예제

https://swkn.tistory.com/94에서 이어지는 내용이다. 데이터는 아래와 같다. 더보기 drop table if exists member_table; create table member_table ( id bigint auto_increment, member_email varchar(50) not null unique, member_name varchar(20) not null, member_password varchar(20) not null, constraint pk_member_table primary key(id) ); drop table if exists category_table; create table category_table ( id bigint auto_increment..

MySQL/MySQL icia 29일차

MySQL 각종 쿼리문 작성하기

1. 테이블 설정 drop table if exists member_table; create table member_table ( id bigint auto_increment, member_email varchar(50) not null, member_name varchar(20) not null, member_password varchar(20) not null, constraint pk_member_table primary key(id) ); drop table if exists category_table; create table category_table ( id bigint auto_increment, category_name varchar(20), constraint pk_category_tab..

MySQL/MySQL icia 28일차

MySQL 쿼리 작성해보기

데이터는 아래를 참조하였다. 더보기 -- book table drop table if exists book; create table book( id bigint auto_increment, b_bookname varchar(20) not null, b_publisher varchar(10) not null, b_price bigint not null, constraint book primary key(id) ); insert into book(b_bookname, b_publisher, b_price) values('축구의 역사','굿스포츠',7000); insert into book(b_bookname, b_publisher, b_price) values('축구스카우팅 리포트','나무수',13000);..

MySQL/MySQL icia 27일차

MySQL ERD생성하기

ERD란 ? Entity Relationship Diagram으로 개체의 관계를 다이어그램으로 만들어 보여주는 것으로 , 테이블 간이 관계를 도식화했다고 보면 된다. ERD 생성하는 법 ERD를 생성할 데이터베이스에서 Ctrl + R 을 누르면 Reverse Engineer Database 창이 나온다 ( 원래는 프로젝트를 하기 전에 ERD를 생성하는 편이며 데이터를 생성후에 하는 것이라 Reverse가 붙었다고 들었다 )

MySQL/MySQL icia 27일차

MySQL 자동 번호 적용하기 ( Auto_increment )

Primary Key로 id 같은 고유의 값을 가져야 할때가 있다. 예를 들어 회원가입을 할때 유저번호가 다 달라야 하는 것처럼 숫자가 필요할 때 같은 경우다. -- id 컬럼에 자동 번호 적용하기 drop table if exists board4; create table board4( id bigint auto_increment, -- 글번호 board4_writer varchar(20) not null, -- 작성자 board4_contents varchar(500), -- 내용 constraint pk_board4 primary key(id) -- auto_increment를 사용하는 것은 key로 지정되어야한다. ); id에 auto_increment를 적용시켰는데 , 한가지 주의점이 있다. au..

swkn
'MySQL' 카테고리의 글 목록