MySQL

MySQL/MySQL icia 27일차

MySQL 테이블(table) 데이터 수정하는법 - Update

Update MySQL에서는 update 문을 이용해서 레코드의 내용을 수정가능하다. update 문은 해당 테이블에서 where 절의 조건을 만족하는 레코드의 값만 수정한다. drop table if exists board3; create table board3( id bigint, -- 글번호 board3_writer varchar(20) not null, -- 작성자 board3_contents varchar(500), -- 내용 constraint pk_board3 primary key(id) ); drop table if exists comment3; create table comment3( id bigint, -- 글번호 comment3_writer varchar(20) not null, --..

MySQL/MySQL icia 27일차

MySQL ON delete , cascade , set null에 대해

delete에 대해서 delete는 테이블 내에 레코드를 삭제 할 때 사용하는 명령어다. ID 이름 학번 1 김자바 SUM1 2 이자바 SUM2 학생들의 레코드가 위와 같은 테이블이 있다고 할때 delete를 사용하면 조건에 따라 하나씩 지우거나 모두 지우는 것이 가능하다. 하지만 여러개의 테이블이 foreign key로 묶여있는경우 어떤 테이블의 정보가 다른 테이블과 foreign key로 묶여있을때 delete 명령어를 사용하면 에러가 나는데 , error 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails 에러를 자세히 보면 foreign key로 묶여있기 때문에 삭제할 수 없다고 한다. 부모 쪽의 데이..

MySQL/MySQL icia 27일차

MySQL 참조 관계

1. 참조 관계에 대해서 참조 관계 부모 테이블 , 자식 테이블 개념으로 , 부모가 없는 자식 데이터는 있을 수 없다. ( 참조할 데이터가 없기 때문 ) 하지만 부모 테이블과 자식 테이블을 모두 생성하고 참조 관계를 맺었는데 부모 데이터를 삭제한다면 ( 조건 : cascade 속성 사용한다면 ) 자식 테이블은 고아 객체가 된다. 2. 관계 1. 1:1관계(일대일) 하나의 레코드가 다른 테이블의 레코드 한개와 연결된 경우이다. 2. 1:N관계(일대다) ( 주로사용 ) 하나의 레코드가 서로 다른 여러 개의 레코드와 연결된 경우이다. 만약 User 테이블에 ID(int) , name(varchar) 칼럼이 있다고 하고 phonebook 테이블에 ID(int) , phone_number(varchar) , us..

MySQL/MySQL icia 26일차

MySQL 제약조건(Contraints)에 대해서

제약조건( Constraint ) 이란? 제약조건( constraint ) 이란 데이터의 무결성을 지키기 위해 데이터를 입력받을 때 실행되는 검사 규칙이다. 이런 제약 조건은 create 문으로 테이블을 생성할 때 , alter 문으로 컬럼을 추가할 때도 설정가능하다. MySQL 에서 사용 가능한 제약 조건 1. NOT NULL 2. UNIQUE 3. PRIMARY KEY 4. FOREIGN KEY 5. DEFAULT 1. NOT NULL NOT NULL 제약 조건을 사용하면 해당 필드는 NULL값이 올 수 없다. 이 제약조건이 설정된 필드는 무조건 데이터를 가져야 한다는 뜻이다. create table member2 ( id bigint not null, member_email varchar(20), ..

MySQL/MySQL icia 26일차

MySQL Join , 서브쿼리란?

MySQL Join에 대해서 1. 내부조인 ( inner join ) 1. 두개 이상의 테이블을 하나의 테이블처럼 조회 2. 조건 : 두 테이블이 같은 컬럼 정보를 가지고 있어야 함 3. 보통 참조 관계에 있는 테이블 간에 join을 주로 한다. 4. 예시로는 게시글과 댓글의 관계를 들 수 있다. 게시글 테이블 : 제목 , 내용 , 작성자 , 글번호 댓글 테이블 : 댓글번호 , 내용 , 작성자 , 글번호 2. 외부조인 ( join ) 외부조인은 두 테이블에 각각 결합이 되는 컬럼을 지정하고 각각의 컬럼에 같은 값이 저장되어 있는 데이터를 결합하여 받아온다. 내부 조인의 경우는 일치하지 않는 데이터를 검색하지 않았지만 외부 조인의 경우 일치하지 않는 경우도 데이터로 받아온다. emp의 deptno 칼럼과 ..

MySQL/MySQL icia 26일차

MySQL 쿼리 연습

예제 1) 데이터는 https://swkn.tistory.com/80#7.%20Table%20%EC%9D%91%EC%9A%A9-1 내의 데이터를 입력하였다. 연습문제 1. 부서별 평균급여, 최고급여, 최저급여, 사원수 조회(평균급여는 소수점 둘째자리에서 반올림) 2. 직급별 사원수 조회(단 3명 이상인 결과만 출력) 3. 연도별 입사한 사원수 조회(조회결과 : 연도(yyyy), 사원수) 3.1. 위의 결과에서 각 연도별로 부서별 입사한 사원수 조회(조회결과 : 연도(yyyy), 부서번호, 사원수) select deptno as '부서번호' , round(avg(sal),2) as '평균급여', max(sal) as '최고급여', min(sal) as '최소급여', count(*) as '사원수' from..

MySQL/MySQL icia 25일차

MySQL from dual , sysdate() , now()란?

목차 From dual 이란 ? dual은 계산식을 테이블 생성없이 수행해보기 위한 용도로 일종의 더미 테이블이다 어떤 값이 들어가있는게 아니라 임시의 공간이라고 볼 수 있다. select sysdate() from dual 이 문구를 실행하려고 하는데 문구를 완성하려면 from ( Table ) 이 들어와야 하는데 이럴때 더미 테이블을 사용하는 것이다. sysdate() 이란 현재 시간을 출력하는 것이므로 값이 들어있는 테이블을 쓸 이유가 없다. 출력하게 되면 현재시간이 출력되게 된다. 시간을 출력하는 것에는 now() 도 있는데 , now()는 쿼리가 처음 시작되는 시간이 고정되지만 sysdate()는 연산할 때 마다 시간이 변하게 된다. 만약 , 한번에 실행되는 쿼리가 몇백줄이고 , 중간중간에 현재..

MySQL/MySQL icia 25일차

MySQL 연산자와 예제 등

https://swkn.tistory.com/80 MySQL에 대해서 ( 확장자 , 코드 저장 , 접근권한 설정 , 데이터베이스 정렬 ) 1. MySQL의 확장자 MySQL의 확장자는 .sql 이다. 2. MySQL 코드 저장하기 3. MySQL 계정을 생성하고 DataBase 생성하고 접근권한 설정 user_dbclass 계정을 만들고 비밀번호 1234로 지정 데이터베이스 db.dbclass 생 swkn.tistory.com 데이터는 이곳과 같다. 검색했을때 검색어를 포함하는 내용이 검색되려면 문법이 있다 -- like 연산자 select * from emp where ename like 'm%'; -- m이 맨 앞자리 select * from emp where ename like '%m'; -- m이..

MySQL/MySQL icia 25일차

MySQL에 대해서 ( 확장자 , 코드 저장 , 접근권한 설정 , 데이터베이스 정렬 )

1. MySQL의 확장자 MySQL의 확장자는 .sql 이다. 2. MySQL 코드 저장하기 3. MySQL 계정을 생성하고 DataBase 생성하고 접근권한 설정 user_dbclass 계정을 만들고 비밀번호 1234로 지정 데이터베이스 db.dbclass 생성 user.dbclass 계정에게 db_dbclass 데이터베이스 접근권한을 설정한다. 4. Table 생성 4 - 1 문법 create table [table 이름] ( 컬럼명 컬럼타입, 컬럼명 컬럼타입, ....... ); 4 - 2 타입 1. varchar : 문자열 2. int : 정수 ( 자바 int와 매칭 ) 3. bigint : 넓은 범위의 정수 ( 자바의 Long과 매칭 ) 4. datatime : 날짜 및 시간 5. date : ..

MySQL/MySQL icia 24일차

MySQL에서 스키마와 데이터베이스의 차이점

일반적인 데이터베이스 구조 1. 데이터베이스 오라클이 작동하는데 필요한 모든 파일을 의미한다. 2. 인스턴스 DBMS가 동작할 때의 단위 , OS 입장에서는 '프로세스' , DBMS에 따라서는 '서버 프로세스' 또는 '서버'로 부르기도 한다. 앞서 말한 데이터베이스가 실행 가능하게 메모리에 올라간 것이라 생각하면 된다. 3. 스키마 데이터베이스의 구조와 제약 조건을 정의한 것 , 쉽게는 폴더에 해당되며 스키마도 폴더처럼 사용자가 자유롭게 만들 수 있고 , 사용자에 따라 접근을 제한하는 등의 권한 관리가 가능하다. 폴더이기 때문에 폴더에 여러 파일을 넣을 수 있는 것처럼 여러 테이블을 담을 수 있다. 4. 테이블 기본적으로 트리 구조로 1개의 인스턴스 아래에 복수 개의 데이터베이스가 존재할 수 있고 , 1..

swkn
'MySQL' 카테고리의 글 목록 (2 Page)