Course/MY-SQL

    Auto_Increment 재정렬 하기

    아래와 같은 방법으로 이미 존재하는 행의 Auto_Increment값도 재정렬 할 수 있다.ALTER TABLE 테이블명 AUTO_INCREMENT=1;SET @CNT = 0;UPDATE 테이블명 SET 테이블명.컬럼명 = @CNT:=@CNT+1;

    Error Code: 1153 - Got a packet bigger than 'max_allowed_packet' bytes

    my-sql sql-dump restore 시 에러 발생 Error Code: 1153 - Got a packet bigger than 'max_allowed_packet' bytes my.cnf에서 max_allowed_packet = 1M ==>max_allowed_packet = 128M 변경하고 저장하면 된다.

    MySQL에서 MINUS와 INTERSECT 집합 연산

    INTERSECT 집합 연산 사용 INTERSECT 는 두개 집합에서 SELECT되는 튜플들을 모두 INNER JOIN의 조인 조건으로 포함시켜서 실행하면 쉽게 동일한 결과를 얻을 수 있다. 예제 쿼리) SELECT member_id as uid, member_name as uname FROM member INTERSECT SELECT emp_id as uid, emp_name as uname FROM emp; (이 형태의 쿼리는 MySQL에서는 지원되지 않음) 위의 쿼리에서 SELECT되는 튜플들이 uid와 uname이므로 이 두개의 컬럼을 INNER JOIN의 조건으로 포함시켜서 아래와 같이 작성해주면 된다. SELECT member_id as uid, member_name as uname FROM ..

    mysql 한글 깨짐 문제 해결

    요즘같은 글로벌화 시대에 발맞춰 UTF-8을 써보기로 했다...(사실 아직도 UTF-8의 소중함을 잘 모른다는...- _-;;;)아무튼 시작하기 전에 다음이 중요하다. 1. PHP파일을 코딩할 때에 메모장(나같은 경우는 메모장 매니아;;;)나 에디트플러스같은 툴을 쓸 때에 인코딩을 UTF-8으로 저장하는 것을 잊지 말자. 에디트플러스의 경우 잘 모르겠지만, 메모장의 경우 저장할 때에 가장 밑에 ANSI로 기본설정이 되어 있는 것을 UTF-8으로만 바꿔서 저장해주면 된다. 2. 내에는 꼭 을 포함시켜 주는 것을 잊지 말자. 3. MySQL 데이터 베이스가 UTF-8을 사용하고 있는지 확인해본다. 만약 MySQL-front를 사용하고 있다면 간단히 변수라고 쓰여 있는 곳을 보면 character_set_cl..

    MySQL : 테이블 복사 (다른 DB간 테이블 복사 포함)

    MySQL 테이블 복사하기 필드의 타입과, 필드의 숫자가 동일한 두 테이블간의 데이터를 복사하는 쿼리를 적어 놓는다. 다른 두 데이터베이스간 테이블 복사하는 방법도 함께 적어 놓자. 복사할 테이블이 존재하지 않을경우테이블을 생성후, 데이터를 복사CREATE TABLE [대상 테이블명] SELECT * FROM [원본 테이블명] 복사할 테이블이 존재하는 경우 기존의 데이터를 바로 복사 INSERT INTO [대상 테이블명] SELECT * FROM [원본 테이블명] 다른 데이터 베이스 간의 테이블 값 복사 mysql> INSERT INTO [대상 데이터베이스명].[대상 테이블명] -> SELECT * FROM [원본 데이터베이스명].[원본테이블명] 필드의 타입과 숫자가 다르면 당연히 복사가 안된다. ㅎ 중..

    MySql 계층적 조회 쿼리

    MySQL 에는 안타깝게도 Oracle 의 start with, connect by 를 지원하는 함수가 없다. 때문에 아래와 같이 function 을 만들어서 사용한다. 예제 테이블) test.servers_group create table test.servers_group ( group_idx int auto_increment, // P.K group_name varchar(40), // group name group_depth int, // level group_order int, // group 순서 parent_idx int, // parent group_idx manager_idx, // 관리자 idx (test.managers_info.idx) primary key(group_idx) )---..

    MSSQL에서 MySQL 스토어드 프로시저(Stored PROCEDURE) 변경방법

    MSSQL 에서 MySQL로 스토어드 프로시저(Stored PROCEDURE) 차이점 및 변환방법(펌)내용이 좋아 업어 왔습니다. 많은 분들이 좋은 자료를 찾기를 바라면서 ^^ MSSQL 에서 개발한 스토어드 프로시저(Stored PROCEDURE)를 MySQL 에서 작동이 되도록 변환하면서 터득한 차이점 및 방법을 공개합니다.MySQL 스토어드 프로시저의 모습 차이점 MSSQLMySQL변수 명'@' 사용@bid'$'사용$bid실행 방법exec SPDeleteItemcall test1( 'param', 1 )변수 선언declare @bid binary(12)declare $bid varchar(12);함수 인자create proc SPCheckBadUser@userid varchar(12)CREATE D..

    MySQL row_number 구현

    Add row number for each rowTo emulate the row_number function in MySQL, you have to use session variables in the query. The following example selects 5 employees from the employees table and adds row number for each row, starting from 1.1234567SET @row_number = 0; SELECT (@row_number:=@row_number + 1) AS num, firstName, lastNameFROM employeesLIMIT 5;In the query above:First, we defined a variabl..

    [mysql] 쿼리값이 NULL 일때 0으로 바꾸기

    SELECT IFNULL(SUM(Amount), 0) FROM TableName WHERE type !=1

    [MYSQL] 조인, JOIN (INNER JOIN, OUTER JOIN)

    MYSQL*. 조인(JOIN)은 여러 테이블의 상호 연관관계를 연결하여 결과값을 가져올 때 사용합니다. 1. INNER JOIN *. INNER JOIN은 조인하는 테이블의 ON 절의 조건이 일치하는 결과만 출력됩니다. EX) SELECT * FROM A_TABLE AS A INNER JOIN B_TABLE AS B ON A_TABLE.COL1 = B_TABLE.COL1;--A_TABLE.COL1과 B_TABLE.COL1이 일치하는 데이터만 출력됩니다. 2. OUTER JOIN *. OUTER JOIN은 조인하는 테이블의 ON 절의 조건 중 한쪽의 데이터를 모두 가져옵니다. OUTER JOIN은 LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN 이렇게 3가지가 있..