MySQL 6

트랜잭션

트랜잭션이란 - 데이터베이스의 상태를 변화시키기 위해 이루어지는 하나의 작업 단위이다. 여기서 하나의 작업 단위라는 것이 어떤 건지 이해를 쉽게 하기 위해 예를 들어보자면, 은행에서 ATM을 통해 돈을 인출한다고 가정하자. 그런데 기계의 오작동으로 돈이 인출되지 않았지만 전산상에는 돈이 인출되었다고 등록되어있다. 또는 돈은 나왔는데 전산상에 등록이 안되었다. 이러한 상황이면 굉장히 위험한 상황이다. 그래서 돈이 인출된 기록이 전산에서 올바르게 등록되고, 돈도 제대로 인출이 되어야만 하나의 과정이 정상적으로 처리되었음을 확인할 수 있다. 여기서 ATM에서 돈을 인출하는 이 과정이 하나의 묶음으로 처리된다. 이게 바로 하나의 작업 단위라고 생각하면 된다. 트랜잭션 명령어 트랜잭션의 명령어로는 Commit과 ..

MySQL 2020.10.12

외래키 설정

새롭게 테이블을 만들 경우, CREATE TABLE ground_reservation ( id bingit, ground_id bigint, [CONSTRAINT 제약조건이름] FOREIGN KEY (ground_id) REFERENCES ground(id) ); 이미 테이블을 만들었을 경우, alter table 테이블 명 add constraint 제약조건명 foreign key(칼럼명) references 참조하고자 하는 테이블명(컬러명); alter table ground_reservation_list add constraint groundID foreign key(ground_id) references ground(id);

MySQL 2020.10.09

기본키 유니크키

테이블 내에서 유일한 레코드를 갖고자 할 때 두 가지를 사용한다. 기본키 기본키의 특징으로는 다음과 같다. - 테이블 내의 각 행을 구별하기 위해 사용한다. 그러므로 유일한 값이어야 한다 - null을 포함해서는 절대 안 된다. - 반드시 값을 포함시켜야 한다. - 값이 중복되면 안 된다. - 여러 개의 칼럼을 기본키로 지정할 수 있다.(복합 키) - 테이블의 고유 인식번호로 주로 사용한다.(like index번호) 유니크 키 유니크 키도 테이블의 칼럼에서 유일한 값을 가져야 한다. - 중복된 값을 가지면 안 된다. - null을 포함할 수 있다.(기본키와 다른 점) - 값을 입력하지 않아도 된다.(기본키와 다른 점) - 여러개의 칼럼을 유니크키로 지정할 수 있다.(복합 키) - 주로 중복되면 안 되는 ..

MySQL 2020.09.30

auto_increment

테이블 내에서 지정한 칼럼의 숫자를 자동으로 증가시켜주는 auto_increment 정리! 테이블이 생성되어있는 경우 ALTER TABEL {테이블명} MODIFY {컬럼명} INT NOT NULL AUTO_INCREMENT; alter table user modify user_index int not null auto_increment; 테이블 미 생성시 create table user( user_index int not null auto_increment ); 물론 이보다 더 자세하게 정리해야 한다. 얼마큼 숫자를 자동으로 증가시킬 것인지, 중간에 auto 값을 변경하거나 삭제할 때 어떻게 해야 하는지.. 하지만 그것은 프로젝트해나가면서 필요하면 정리해야겠다.

MySQL 2020.09.30

기본키 추가 삭제

DB를 잘 못 설계해서 기본키를 추가 삭제하는경우가 너무많아서 자주사용한다. 그래서 맨날 검색하는데, 그럴빠에 블로그에 정리해놓자~ 기본키 삭제 alter table {테이블명} drop primary key; EX) alter table user drop primary key; 기본키 추가 테이블이 생성 안되어있을 경우 create table user( user_index int not null, primary key(user_index) ); 테이블이 생성되어있을 경우 alter table {테이블명} add primary key({컬럼명}); ALTER TABLE user ADD PRIMARY KEY (user_index);

MySQL 2020.09.30