본문 바로가기

MySQL4

[리눅스/linux] 소켓접속 알고리즘 / Socket Connection algorithm 소켓통신 프로그램을 만들다 보면 이러한 고민들을 한번쯤 해보게 된다. 바로 통신시에 필요한 fd를 어떻게 할 것인가? fd를 다루기에 앞서서 소켓이 바뀌어 들어오거나 하는 경우등을 생각해야 한다 말로는 설명이 애매하니 아래 그림을 보면서 설명하겠다 예를들어 서버에 접속하는 3개의 소켓이 있다고 가정하자 DB에 저장하기 앞서 구분하기 쉽게 고유코드의 ID값을 지정해준다 그리고 이것을 DB상에 저장을 하면 아래와 같이 저장한다 이렇게 저장해서 서버에서 해당 Client로 데이터를 보내고자 할 때 Select socket_num from table where 0001 이렇게 fd값을 가져와서 write 해주면 전송이 잘 되는것을 확인 할 수 있다 그런데 문제는 이런 보통적인 상황이 아니라 여러가지 변수에 의해.. 2020. 4. 9.
[MYSQL] SELECT 문 / select query 데이터베이스를 이용하는 때 가장 기본이자 핵심이 되는 처리가 바로 검색이다. 검색은 내가 원하는 데이터를 테이블에서 조회해서 가져오는 것으로 다른 말로는 질의(Query)라던지 추출(Retrieve) 라고 한다 검색을 위해 사용하는 SQL구문을 SELECT 구문이라고 부른다 검색 원하는 데이터 = SELECT 일단 기본적인 테이블 구조가 아래와 같이 되어 있다고 가정해보자 위와 같이 테이블에서 내가 원하는 데이터를 조회하기 위해서는 SELECT문을 사용하는대 이 구문에는 조건이 필요하다 SELECT 문의 둘도없는 친구 FROM FROM은 만약 여러개의 테이블이 존재한다면 그 중에서 테이블을 선택하는 일을 담당합니다 FROM = 테이블 지정 만약에 FROM을 입력하지 않아도 되는 경우는 예를들어서 SELE.. 2020. 4. 8.
[MYSQL] 두개테이블 조회 / table double select MySql에서 테이블 두개를 사용하는 경우에 하나의 기준 값으로 테이블을 조회하고자 할 때가 생긴다. 그럴때는 Mysql 에서 제공하는 join 함수를 사용하면 쉽게 조회할 수 있다 아래 예를 들어 설명하겠다. 위와같이 A,B 두개의 테이블이 존재하고 땡칠이의 사번과 직급이 필요하다. 그러나 사번과 직급은 각각 다른 테이블에 존재하는대 어떻게 조회를 해서 한번에 가져올 수 있을까? 여기서 기본적으로 테이블 두개를 묶어서 조회하는 방법에 대해 알아보고자 한다. 테이블 두개를 조회하는 방법은 아래와 같이 가능하다. select A테이블.사번, B테이블.직급 from A테이블 join B테이블 using(땡칠이); A테이블과 B테이블을 서로 join 시켜놓은 상태에서 using으로 땡칠이로 된 데이터를 묶는다.. 2020. 4. 3.
[MYSQL] delete 에러 해결 / delete error Mysql 을 사용하다가 쿼리에서 해당 테이블의 데이터를 삭제해야 할 경우가 생긴다. delete from 테이블명 where 지우고자하는 데이터 대상; 아무 문제없이 삭제되어야 하지만 아래와 같은 에러를 마주하게 된다 솰라솰라 무슨 말인가 하니 safe mode가 활성화 되어서 삭제가 불가능하다는 문구였다. 자 그럼 지울수없게 보호되어 있는 이 모드를 어떻게 해제해야 할까?? 정말 간단하게 쿼리문을 통해 가능하다 아래와같이 실행해 보자 set sql_safe_updates=0; 이렇게 실행해주고 맨 처음 delete문을 다시 실행하게 되면 깔끔하게 지워지는 모습을 볼 수 있다. 쿼리문으로 간단하게 해결 할 수도 있지만 Mysql Workbench를 쓰는 사용자라면 다음과같이도 설정 가능하다. Edit .. 2020. 3. 31.