본문 바로가기

IT 차곡차곡/MariaDB

(6)
[MariaDB] DDL - CREATE, DROP, 제약조건 CREATE - 테이블 생성 CREATE TABLE [테이블명] ( 컬럼명1 컬럼타입1() [제약조건], 컬럼명2 컬럼타입2() [제약조건], … ); 예시 create table account( account_no int(4) primary key, account_date date default now(), code char(14) not null, withdraw int(12), deposit int(12), balance int(12)); 다른 테이블을 이용해 테이블 생성하기 create table [테이블명] as select 구문; key값은 복사가 안된다(따로 추가 필요) 제약조건 PRIMARY KEY - 테이블 대표값(UNIQUE, NOT NULL) FOREIGN KEY - PK 연결되는 다..
[MariaDB] INSERT에서 서브쿼리 사용하기 insert에서 서브쿼리 사용하기 insert문에서 서브쿼리를 다음과 같이 사용하다가 문법 오류가 발생했다. insert into student(stu_no, stu_name, stu_dept, stu_grade, stu_class) values ('20103009','홍길동','기계', select stu_grade, stu_class from student where stu_no = '20093075'); 이럴때, Insert into select를 사용해 해결해 주면 된다. insert into student(stu_no, stu_name, stu_dept, stu_grade, stu_class) select '20103009','홍길동','기계',stu_grade, stu_class from st..
[MariaDB] 문자열 함수 정리2 문자열 위치 elt(위치, 문자열1, 문자열2, ...) : 위치번째에 해당하는 문자열 반환 field(찾을 문자열, 문자열1, 문자열2, ...) : 찾을 문자열의 위치를 찾아서 반환, 매치되는 문자열이 없으면 0 반환 find_in_set(찾을 문자열, 문자열 리스트) : 찾을 문자열을 문자열 리스트에서 찾아서 위치 반환. 문자열 리스트는 ,(콤마)로 구분되어야 하며, 공백이 없어야 한다 instr(기준문자열, 찾을문자열) : 기준 문자열에서 부분 문자열을 찾아서 그 시작 위치 반환 locate(찾을문자열, 기준 문자열) : instr() 과 동일하지만 파라미터의 순서 반대 = position(찾을문자열 in 기준문자열) select elt(2,'하나','둘','셋'); 결과:둘 select fiel..
[MariaDB] autocommit 해제하는 방법 MariaDB에는 autocommit이 default로 설정되어있다. update, delete 등으로 데이터가 잘못 변경됐을 경우, rollback으로 되돌릴 수 있는데 autocommit이 설정되어있으면 난감해진다. show variables; -> 현재 설정값 확인show variables like 'autocommit%'; -> autocommit 설정값 확인 show variables; show variables like 'autocommit%'; 세션창을 통해 autocommit이 설정되어있는 걸 확인할 수 있다. 이제 autocommit값을 false로 설정해 해제시키면 된다. -- autocommit 해제 set autocommit = false; -- autocommit 설정 set au..
[MariaDB] 문자열 함수 정리1 아스키코드ASCII(아스키코드), CHAR(숫자) : 문자의 아스키 코드값을 돌려주거나, 숫자의 아스키 코드값에 해당되는 문자 돌려준다문자열 길이mariadb 10.3은 UTF-8 코드 사용 -> 영문 3Byte, 한글 9ByteLength(문자열) : 문자열 길이(byte단위)char_length(문자열) : 문자열 길이(글자의 개수)bit_length(문자열) : 문자열 길이(bit단위)select bit_length('abc'), char_length('abc'), length('abc'); 결과 : 24, 3, 3 select bit_length('가나다'), char_length('가나다'), length('가나다'); 결과 : 72, 3, 9문자열 자르기left(문자열,자리수) : 왼쪽에서 문..
[MariaDB] IF, IFNULL, NULLIF 함수 IF(수식, 참, 거짓) : 수식이 참 또는 거짓인지 결과에 따라 결과값 출력 select if (100>200,'참','거짓'); 결과: 거짓 IFNULL(수식1, 수식2) : 수식1이 NULL이 아니면 수식1 반환, 수식1이 NULL이면 수식2 반환 select ifnull(NULL, '널입니다'), ifnull(100, '널입니다') 결과: 널입니다, 100 NULLIF(수식1, 수식2) : 수식1 = 수식2 이면 null이 반환, 다르면 수식1 반환 select nullif(100,100), nullif(200,100); 결과: null, 200