형변환 함수dbms에서는 데이터 타입에 대하여 어느정도 자동 형변환을 해준다(숫자,날짜 타입 정도) 1) cast(데이터 as 변환타입[길이]) 문자열 데이터를 datetime 데이터로 변환select cast('2024-09-03' as datetime); 2) convert(데이터, 변환타입[길이]) 문자열 데이터를 datetime 데이터로 변환select convert('2024-09-03', datetime); if함수데이터 비교식의 결과가 참이냐 거짓이냐에 따라 조회 결과가 달라지는 함수 if([데이터비교식],[참 데이터],[거짓 데이터]) select if(100>200,'참','거짓'); uauthor가 A이면 관리자 아니면 일반으로 조회select uid, if(uauthor='A','관리..
MySQL
조인여러 테이블의 데이터를 한번에 조회하는 방법 주로 상하테이블 관계에서 많이 사용(기본키와 외래키) 1.inner join서로 다른 두 테이블에서 같은 컬럼의 데이터가 일치하는 데이터들만 조회 (하위 테이블에서 상위데이터 요구시 사용) 만약, inner join 시 on절에서 컬럼이 일치하지 않는 데이터를 가지고 있는 경우 조회되지 않는다 문법)select [조회컬럼들] from [첫번째 테이블명(하위테이블)] inner join [두번째 테이블명(상위테이블)] on [두 테이블의 교집합 조건] [where 조건절]; notice_board의 별칭을 n으로 주고 user 테이블과 조인select nno,title,user.uno,uid,uname from notice_board n inner join ..
기존 테이블 복사create table [생성테이블이름] (select [복사열1],[복사열2],... from [복사테이블] [where 복사 조건]); 복사하고자 하는 기존 user 테이블 전체 복사create table user_back (select * from user); select * from user_back; 일부 컬럼만 복사create table user_back2 (select uno, uid, uname from user); select * from user_back2; 조건에 해당하는 데이터만 복사create table user_back3 (select uno, uid, uname from user where uno null 행까지 전부 계산 (컬럼) -> 컬럼이 null이 아닌 ..
UPDATE문데이터 수정. CRUD의 U update [테이블명] set [수정컬럼1] = [수정값], [수정컬럼2] = [수정값],... where 수정 조건절; notice_board의 전체 데이터 state 컬럼 값 변경update notice_board set state = 'A' where uno preference -> SQL Editor -> 맨 아래 safe updates 체크 해제 DELETE문데이터 삭제. CRUD의 D테이블 안의 데이터 삭제 구문상위 테이블 데이터 삭제시 하위 테이블에 참조하는 데이터가 있다면 상위 데이터는 삭제할 수 없다하위 데이터 삭제 후 상위 데이터 삭제 가능테이블 생성시 옵션으로 상위 테이블 삭제시 하위 테이블 데이터를 같이 삭제할 수 있다 외래키 선언문 옆에 ..
BETWEEN...AND특정 값들의 범위 안 데이터 조회 조건절 문법 문법 ) [비교 컬럼] between [최소검색값] and [최대검색값]; 비교 컬럼에서 최소검색값(포함)과 최대검색값(포함) 사이 데이터 조회 uno가 3 이상 5 이하select * from user where uno between 3 and 5; urdate가 2024-08-27 00:00:00 이상 2024-08-29 00:00:00 이하 데이터select * from user where urdate between '2024-08-27' and '2024-08-29'; IN() 절하나의 컬럼으로 검색하고자 하는 or 연산이 여러개인 경우 사용하는 조건절 문법) [검색컬럼] in ([검색값1],[검색값2],...); LIKE 절컬..
SELECT문데이터 조회. CRUD의 Rselect문 사용시 조회 컬럼의 순서는 임의로 나열할 수 있으며 나열된 순으로 조회된다만약 테이블의 전체 컬럼을 조회하고 싶은 경우 컬럼위치에 * 기호를 사용할 수 있다데이터베이스 안에 존재하는 테이블 조회시 데이터베이스명 생략 가능하다조회 결과 가로축은 컬럼의 나열이 되며 세로축은 조회 데이터 객체들이 된다조회시 반드시 전체 컬럼을 명시할 필요는 없다(필요한 컬럼만 조회 가능) select [조회 컬럼1],[조회 컬럼2],... from [데이터베이스].[테이블명]; sample 테이블 전체 데이터 조회하기 select subject, name, age, sample_data from board.sample; 데이터베이스 안에 존재하는 테이블이라 데이터베이스명 ..
INSERT문데이터 추가. CRUD의 C데이터 추가시 테이블 생성 컬럼 순서와 insert문의 컬럼순서는 상관없다insert 시 기본값을 갖는 컬럼과 null을 허용하는 컬럼은 생략할 수도 있다null이 아닌 값 또는 다른 기본값을 부여하고 싶을 때는 명시한다insert into 테이블이름(컬럼1,컬럼2,...) values(컬럼1값,컬럼2값,...); user 테이블에 데이터 추가하기 첫번째 user id : honggildong001 pw : hong1234 name : 홍길동 phone : 010-1111-1111 email : hong@test.com 두번째 user id : admin pw : admin1234 name : 관리자 email : admin@test.com author : A 세번..
테이블 생성create table [테이블명]( [컬럼1] [데이터타입] [제약조건] [제약조건], [컬럼2] [데이터타입] [제약조건] [기타옵션], ... ); 제약조건 종류primary key : 기본키. null이 아니며 값이 유일해야 한다foreign key : 외래키. 상위 테이블의 기본키를 참조하는 컬럼. null이 아니면 반드시 상위테이블에 존재하는 값만 삽입할 수 있다unique : null은 허용하며 값이 있다면 테이블에서 유일해야한다.default : 해당 컬럼 값이 null이면 초기값 부여null값 허용 : 컬럼은 기본적으로 전부 null을 허용하며 허용하고 싶지 않을 시 not null 사용check 제약조건 : 8.0.16 버전부터 제공됨. 회원 테이블 생성 회원아이디인 uid는..
-- 데이터베이스 목록 확인 show databases; create database board; use board; -- 유저 생성 create user 'tester'@'%' identified by '1234'; -- 권한 부여 grant all privileges on board.* to 'tester'@'%'; create user 로 testser 라는 유저를 생성 @'%' 로 유저의 원격 접속을 허용한다 identified by 로 비밀번호를 1234로 생성한다 grant 로 tester라는 유저에게 board에 관련된 모든 권한을 준다
데이터베이스 시스템에서 사용하는 데이터가 모여있는 물리적 공간 DBMS 데이터베이스를 제어할 수 있는 시스템을 의미함 ex) mysql 관계형 DBMS 데이터베이스 안의 데이터 구조가 테이블과 테이블 사이 관계로 표현되어 있는 구조를 의미 데이터베이스 안에 테이블과 관계가 구조화 되어 있지 않으면 데이터를 제어할 수 없음 모델링을 거쳐 데이터베이스의 구조를 정한 후 스키마를 생성한 후 데이터를 제어할 수 있음 스키마 테이블과 사이 관계 구조를 의미 mysql에서는 데이터베이스 하나를 의미 모델링 데이터베이스 안에 테이블과 관계를 도식화한 상태 관계형DBMS에서의 모델링은 3단계를 거처 모델링 진행 1. 외부단계 : 개별적 사용자 또는 페이지에서 바라보는 관점 시스템에 필요한 페이지별로 데이터를 전부 일렬..