본문 바로가기
반응형

SQL/MySQL66

MySQL INSERT 한 번으로 여러 줄 삽입방법 INSERT INTO 테이블명 (컬럼명1, 컬럼명2) VALUES (값1, 값2), (값1, 값2); MySQL에서 INSERT 여러 줄의 ROW를 삽입하려고 하는 경우 ROW 하나마다 INSERT 쿼리를 사용할 필요는 없고 위 예제처럼 각 ROW의 끝에 ,를 붙이는 식으로 여러 행을 INSERT 한 번으로 삽입할 수 있다 2022. 7. 7.
MySQL 테이블 컬럼 순서 변경방법 MySQL에서 테이블 컬럼 순서를 변경할 경우에는 아래 쿼리를 사용해주면 되는데 먼저 신규 컬럼 추가시 컬럼 순서를 지정해주려면 ALTER TABLE 테이블명 ADD 컬럼명 데이터타입 제약조건 FIRST/AFTER 컬럼명; 위 쿼리에서 FIRST를 사용해주면(뒤 컬럼명 제거해야 함) 테이블의 처음 위치에 신규 컬럼을 생성할 수 있고 AFTER 컬럼명을 사용해주면 지정한 컬럼 뒤에 신규 컬럼을 생성할 수 있다 다음은 기존 컬럼 위치를 옮기는 방법인데 ALTER TABLE 테이블명 MODIFY COLUMN 컬럼명 데이터타입 제약조건 FIRST/AFTER 컬럼명; 주의할 점은 해당 컬럼에 제약조건이 걸려있을 경우 제약조건 위치에 동일하게 입력을 해 줘야 컬럼 위치 변경 후에도 제약조건이 날아가지 않는다 2022. 6. 29.
MySQL Name '테이블명_PK' ignored for PRIMARY key. 해결방법 MySQL에서 테이블 생성 시 Name '테이블명_PK' ignored for PRIMARY key. 이런 에러가 발생하면 에러가 발생했음에도 테이블은 잘 생성되는 것이 보일텐데 Create 쿼리를 보면 아래와 같은 경우일거다 CREATE TABLE 테이블명 ( id bigint auto_increment NOT NULL, CONSTRAINT 테이블명_PK PRIMARY KEY (id) ) PK의 경우에는 CONSTRAINT 명을 부여할 수 없는데 DBeaver 등을 통해 Create table 쿼리를 생성할 경우 PK에도 제약조건명을 부여하기 때문에 이런 에러가 발생하게 되는데 에러라기 보다는 무시해도 상관없는 경고라고 보면 된다 2022. 6. 15.
MySQL 테이블 생성 시 함수명/키워드/띄어쓰기 컬럼명으로 추가방법 MySQL에서 테이블 생성 시 컬럼에 함수나 키워드(type, decimal.. 등) 혹은 띄어쓰기가 들어갈 경우 백틱(`) 을 사용해주면 되는데 (키보드 ~ 부분) CREATE TABLE world.NewTable_1 ( TEST varchar(100) NULL, `type` varchar(100) NULL ) 이런 식으로 컬럼명을 백틱으로 감싸주면 컬럼명이 함수나 키워드 혹은 띄어쓰기가 들어있다고 해도 정상적으로 컬럼 생성이 가능하다 2022. 5. 23.
MySQL auto_increment 설정 및 초기화 방법 ALTER TABLE 테이블명 AUTO_INCREMENT=1; 을 사용해주면 auto_increment 초기값을 설정할 수 있는데 1은 원하는 숫자로 바꿔도 상관없다 여기서 새로 설정하는 auto_increment 값보다 더 작은 값이 있을 경우 ALTER를 했다고 한들 현재 auto_increment로 들어간 값 중 가장 큰 값 기준으로 설정이 된다 그런 경우에는 ALTER TABLE 테이블명 AUTO_INCREMENT=1; SET @INCRE = 0; UPDATE 테이블명 SET ID = @INCRE:=@INCRE+1; 위 세 쿼리를 한번씩 돌려줘야 하는데 예제를 한번 보자면 기존에 auto_increment가 10부터 시작했을 경우 위와 같이 auto_increment를 1로 초기화하고 임의 변수 .. 2022. 2. 8.
MySQL 컬럼 기본값 현재 시간으로 설정방법 MySQL에서 컬럼의 기본값을 현재 시간으로 설정하려면 테이블 생성 시에는 아래와 같이 DEFAULT CURRENT_TIMESTAMP 설정을 해주면 되고 CREATE TABLE world.SAMPLE ( 컬럼명 DATETIME DEFAULT CURRENT_TIMESTAMP NULL ) 테이블 생성 후에는 ALTER TABLE로 컬럼 DEFAULT를 변경해줄 수 있는데 정확한 쿼리는 아래를 참조해주면 되겠다 ALTER TABLE 테이블명 MODIFY 컬럼명 TIMESTAMP DEFAULT CURRENT_TIMESTAMP; 2022. 1. 11.

반응형