[MySQL] limit , offset

Database
게시판을 만들거나 혹은 전체 목록에서 페이지를 나누다 보면은 항상 사용하게 되어 있습니다. 조금은 형태를 바꾼 방식이라고 보시면 됩니다. /* 1번 query */ SELECT * FROM Orders LIMIT 10 OFFSET 15 /* 2번 query */ SELECT * FROM Orders LIMIT 15, 10 위에 쿼리에 보이듯이 1번, 2번은 동일한 결과물이 나오도록 합니다.정확하게 설명은 못하겠지만은 쿼리의 성능을 올리기 위해라고 저는 이해 하고 있습니다. 좀 더 설명을 잘하지 못해서 제가 검색한 사이트인 "http://crystalcube.co.kr/163" 의 링크를 걸어 놓겠습니다. 참조 http://www.w3schools.com/php/php_mysql_select_limit.asphttp://ralf79.tistory.com/722
Read More

[MySQL] MySQL 최대 접속수 설정하기

Database
MySQL 최대 접속수 설정하기 ERROR 1040 (08004): Too many connections 에러발생시 해결법 mysql을 재시작 하지 않고 바로 설정 방법 #mysql 을 재시작 안해도 max_connections 값이 바로 적용된다. mysql> set global max_connections=300; mysql 설정파일(my.ini 또는 my.cnf ) 방법 #mysql을 재시작 해 주어야 한다. [mysqld] max_connections = 300 MySQL 접속수 관련 상태를 확인하는 방법 mysql> show variables like '%max_connect%'; +--------------------+-------+ | Variable_name | Value | +--------------------+-------+ | max_connect_errors | 10000 | | max_connections | 100 | +--------------------+-------+ mysql> show status like '%CONNECT%'; +--------------------------+-------+ | Variable_name | Value | +--------------------------+-------+ | Aborted_connects | 200 | | Connections | 300 | | Max_used_connections | 101 | ==> 현재 연결된 접속수 | Ssl_client_connects | 0 | | Ssl_connect_renegotiates | 0 | | Ssl_finished_connects | 0 | | Threads_connected | 101 | ==> 연결되었던 최대 접속수…
Read More

[MySQL] 문자열 치환

Database
[MySQL] 문자열 치환 문자열 치환을 하기 전에 select로 먼저 데이터가 정상적으로 변경되는지 확인을 해보시는것이 좋습니다.UPDATE가 아니기 때문에 실제 DB에서는 변경이 이뤄지지 않으니 검정을 하기에 좋습니다. SELECT REPLACE(컬럼, '변경전문자열', '변경후문자열') AS 가상컬럼명 FROM 테이블 WHERE 컬럼 = '변경전문자열'; 위에서 모든 데이터를 확인을 하였다면은 실질적으로 이제 UPDATE를 하여서 DB에서 값을 변경을 하면 됩니다. UPDATE wp_posts SET 테이블 = REPLACE(컬럼, '변경전문자열', '변경할문자열') WHERE 컬럼 = '값'; UPDATE wp_posts SET 테이블 = REPLACE(컬럼, '변경전문자열', '변경할문자열'); 참초 : http://chongmoa.com/4555
Read More

[PHP] MSSQL 함수 목록

Database, PHP
[PHP] MSSQL 함수 목록 정말 PHP + MSSQL을 잘 사용하지 않는 조합이지만은 필요할때는 써야 할 이유가 있습니다.조합 자체가 좋지 않다고 해서 쓰지 말라고 하기 보다는 내가 어떻게 처리를 해 줄수 있을지를 고민을 해봐야 해서....  일단 함수 목록이 필요해서 정리 합니다.매번 PHP 홈페이지 들어가기 귀찮은 이유이기도 합니다.... mssql_bind — Adds a parameter to a stored procedure or a remote stored proceduremssql_close — Close MS SQL Server connectionmssql_connect — Open MS SQL server connectionmssql_data_seek — Moves internal row pointermssql_execute — Executes a stored procedure on a MS SQL server databasemssql_fetch_array — Fetch a result row as an associative array, a numeric array, or bothmssql_fetch_assoc — Returns an associative array of the current row in the resultmssql_fetch_batch — Returns the next batch of recordsmssql_fetch_field — Get field informationmssql_fetch_object — Fetch row as objectmssql_fetch_row…
Read More

[MySQL] my.conf 중 Bin log 와 slow-query 설정

Database
[MySQL] my.conf 중 Bin log 와 slow-query 설정 mysql bin log란 ? => mysql 쿼리를 수행 하면서 쌓는 로그, 추후 트렉젝션하여 시점 복구 등을 수행하는 등의 역할 # 바이너리 로그 관련 [mysqld] log-bin=/home/mysql_log/bin_log/bin # 빈로그 저장 설정 및 저장할 디렉토리 지정 binlog_cache_size = 2M # binlog cache 사이즈 max_binlog_size = 50M # bin로그 최대 파일 사이즈 expire_logs_days = 10 # 보관기간 # 5초 이상 슬로우쿼리 로그 남기기 [mysqld] log-slow-queries = /var/log/mysql/mysql-slow.log long_query_time = 5 # 시간 초단위
Read More

[MySQL] 자동으로 날짜,시간 입력

Database
[MySQL] 자동으로 날짜,시간 자동으로 일단 기록입니다.제가 해보지 않아서 무엇이라고 말씀을 드리기 힘듭니다.단순하게 봐서 이렇게 된다고 싶어서 약간의 정리이기 때문에 많은 부분을 저에게 바라지 말아 주시기 바랍니다. ## 생성시 CREATE TABLE 테이블명 ( 컬럼명 TIMESTAMP DEFAULT NOW() ); CREATE TABLE 테이블명 ( 컬럼명 TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL ); ## 변경시 #insert ALTER TABLE 테이블명 CHANGE `컬럼명` `컬럼명` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; ALTER TABLE 테이블명 CHANGE `컬럼명` `컬럼명` TIMESTAMP DEFAULT NOW(); # insert, UPdate ALTER TABLE 테이블명 CHANGE `컬럼명` `컬럼명` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; ALTER TABLE 테이블명 CHANGE `컬럼명` `컬럼명` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOW(); 꼭 위에 내용을 믿지 마시고, 아래의 출처로 가셔서 확인해보시기 바랍니다.꼭꼭 입니다. * 출처http://nan1004au.tistory.com/entry/Mysql-날짜시간-자동입력 http://www.cikorea.net/tip/view/870/page/1
Read More

[MySQL] 다수의 필드에 카운터 구하기

Database
정말 가끔 사용을 하다 보니깐 계속 까먹게 되어서 기록을 남기게 됩니다.동일 필드지만은 구분이 달라서 개별로 카운터를 구해야 하는 경우가 있어서 사용하는데, 정말 아주 가끔 사용을 합니다. SELECT COUNT( if(필드명 LIKE '%검색어%', 필드명, null) ) as 결과시보여질필드명, COUNT( if(필드명 LIKE '%검색어%', 필드명, null) ) as 결과시보여질필드명, COUNT( if(필드명 LIKE '%검색어%', 필드명, null) ) as 결과시보여질필드명, COUNT( if(필드명 LIKE '%검색어%', 필드명, null) ) as 결과시보여질필드명, COUNT( if(필드명 LIKE '%검색어%', 필드명, null) ) as 결과시보여질필드명, COUNT( if(필드명 LIKE '%검색어%', 필드명, null) ) as 결과시보여질필드명, COUNT( if(필드명 LIKE '%검색어%', 필드명, null) ) as 결과시보여질필드명, COUNT(필드명) as 결과시보여질필드명 FROM 테이블명
Read More

[MySQL] 비밀번호 분실시 재설정

Database
[MySQL] 비밀번호 분실시 재설정 현재 작동중이 MySQL를 종료를 합니다.정상적인 방법으로 종료되지 않을 경우에 대비해서 강제로 종료하는 방법까지 나열 합니다. find / -name mysqld_safe $ /etc/init.d/mysqld stop $ ps aux |grep mysql // 종료되었는지 확인을 하기 위한 명령어 $ killall mysql // 종료되지 않았다면은 강제로 다시 종료 $ ps aux |grep mysql // 종료되었는지 확인을 하기 위한 명령어 $ ./mysqld_safe --skip-grant-tables & $ mysql -u root $ mysql> use mysql; $ mysql> update user set password=password('PASSWORD') where user='root'; $ mysql> flush privileges; $ mysql> quit $ /etc/init.d/mysqld start
Read More

[MySQL] 백업 및 복구

Database
1. mysqldump 사용법 # mysqldump -u[userId] -p[password] --all-databases > dump.sql // 서버에 있는 모든 것의 논리 백업 생성 # mysqldump -u[userId] -p[password] --databases [DB명] > dump.sql // 특정 데이터베이스만의 논리 백업 생성 # mysqldump -u[userId] -p[password] [DB명] [테이블명]  * 기타 옵션   -A, --all-databases : 모든 DB 덤프   -B, --databases : 특정 DB를 덤프   --opt : 버퍼링을 비확성화 하고, 많은 데이터를 덤프에 있는 소량의 SQL구문에 기록해 더효율적으로 동작하다록 한다.   --allow-keywords, --quote-names : 예약어를 사용하는 테이블을 덤프하고 복원할 수 있게 한다.   --lock-alltables : 전역적으로 일관된 백업을 만들도록 "FLUSH TABLES WITH READ LOCK"을 사용한다.    --tab : "SELECT INTO OUTFILE"로 파일을 덤프하여, 덤프 및 복원 속도가 매우 빠르다.   -d, --no-data :  데이터는 제외하고 스키마만 덤프   -t, --no-create-info : 스키마는 제외하고 2. dump 파일 복원 방법 - mysql -u [userId] -p [password] [DB명] < dump.sql -…
Read More
[MySQL] 자료형의 종류

[MySQL] 자료형의 종류

Database
[MySQL] 자료형의 종류 자료형은 크게 숫자형, 문자형, 날짜형 세가지로 나뉠 수 있다. 각 종류에 따른 타입의 이름과 쓰임새에 대하여 알아보겠다. 1. 숫자형 2. 문자형 3. 날짜형
Read More

[MySQL] 에러

Database, Linux
[MySQL] 에러 Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2) Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2) 위와 같은 에러 메세지는 MySQL 서버가 실행 되지 않은것이 대부분이다. 하지만 전혀 상관 없이 sock 파일이 다른곳에 만들어 졌을 경우도 있으니 유의 하시기 바랍니다.
Read More
[MSSQL] 프로시저, 함수의 내용 검색 쿼리

[MSSQL] 프로시저, 함수의 내용 검색 쿼리

Database
[MSSQL] 프로시저, 함수의 내용 검색 쿼리 프로시저 또는 함수의 내용을 검색하는 쿼리입니다.특정 테이블 또는 뷰를 사용하고 있는 프로시저나 함수를 찾는데 도움이 됩니다. SELECT ROUTINE_NAME, ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = 'PROCEDURE' OR ROUTINE_TYPE = 'FUNCTION' ORDER BY ROUTINE_NAME # 실행결과
Read More