MySQL 뿐만 아니라 다른 쿼리 언어에서도 가장 많이 사용되는 것이 아마 데이터 조회에 사용되는 select문일 것입니다.. 이 select문을 가장 많이 사용되면서 간단하지만 반대로 가장 어려울 수도 있는 부분입니다.데이터베이스에 존재하는 데이터 중에서 원하는 정보만 찾아오려면 select문과 함께 사용되는 다양한 키워드에 익숙해져야합니다. 이 들 중에서 많이 사용되는 것은 where, and, or, between 그리고 like 등등이 있습니다. 그 외에 기호도 사용되죠. || , % 등등... 아래에는 많이 사용되는 이 키워드와 기호를 정리해보고자 합니다.아래의 예제들은 이 다양한 방법을 사용하여 테이블안에 있는 필드에서 원하는 값만 찾는 방법들입니다. like, not을 이용한 방법외에도 여러가
Last Modified : 2017-12-11 07:25:17PHP 언어에서 데이터베이스에 저장된 row의 모든 개수를 구하려면 어떻게 해야할까요? 우선 DB를 불러오기 위하여 SELECT문을 사용하여 일부 또는 모든 데이터를 얻고 해당하는 row 개수를 알아야할 것입니다. 이를 알기위한 방법으로 mysqli_num_rows() 함수를 사용할 수 있습니다.# PHP mysqli_num_rows() 함수 알아보기 이 함수는 해당하는 데이터의 총 개수를 숫자로 반환하여 줍니다. 만약 쿼리를 통해 가져온 데이터가 $data이라면 아래와 같이 간단하게 사용할 수 있습니다.mysqli_num_rows($data)위와 같이 상요하면 해당하는 쿼리문에서 반환된 row의 개수, 총 몇 개의 행을 가졌는지 그 개수를 반환하는 함수입니다. 예를 들어 아래와 같은 테이블이 존재하고 SE
Last Modified : 2017-12-18 07:45:48관계형 데이터베이스(RDBMS)에서 WHERE IN 그리고 LIKE, % 연산자를 동시에 사용할 수는 방법은 없는 것일까요? 만약 아래와 같은 상황이 있다면 어떻게 해야할까요?i. 컬럼명 favorite을 찾는다.ii. 해당 컬럼에서 값이 rankingis 그리고 com이 함께 포함된 레코드를 찾는다.# 일반적인 경우 문자열 찾기 쿼리문매우 간단한 쿼리문입니다. 원하는 레코트값만 불러오려고 할때... 가장 쉽게 사용할 수 있는 방법이 아래와 같겠죠.SELECT * FROM table WHERE favorite='webisfree';// webisfree는 찾았으나 com이 포함되지 않았음SELECT * FROM table WHERE favorite='webisfree.com';// 중간에 . 이 포함이 되어
Last Modified : 2020-06-26 12:29:53데이터베이스에서 selelct 문을 사용하여 검색을 할 경우 반드시 고유한(unique) 값만을 원하는 경우가 있습니다. distinct 키워드를 사용하면 해당하는 컬럼에 동일값을 제외한 값만 가져올 수 있습니다. 이 키워드는 SELECT문의 바로 뒤에 위치시켜 사용합니다. 아래처럼 말이죠.SELECT DISTINCT colName# distinct 사용해야할 경우예를들어 어떤 게시판에 있으며 이 게시판에 글을 쓴 사람이 누구인지 알 경우 우리는 글을 몇번 썼는지 알 필요는 없으므로 작성자의 이름을 단 하나만 불러오면 될 것입니다. 만약 아래와 같이 테이블이 존재하는 경우 예를 들어보겠습니다.테이블명: freeboared(자유 게시판)------------------------------------names
Last Modified : 2016-07-18 12:56:49데이터베이스를 조작하기 위해서 phpmyadmin에 접속해야합니다. 그런데 만약 잘되던 phpmyadmin에 갑자기 접속이 안된다면? 만약 아래와 같이 문구가 나올 경우 해결하기 위한 방법입니다...* 오류 메시지phpMyAdmin- 오류Cannot start session without errors, please check errors given in your PHP and/or webserver log file and configure your PHP install properly.갑작스런 메시지 출력과 함께 로그인 불가위 방법을 해결하기 위해 찾아보니 세션쪽 설정에 문제가 있더군요. 이를 해결하기 위한 방법으로 php.ini 파일을 수정해야 합니다...수정하기 위한 과정은 아래에 순서에 따라 수행해 주
Last Modified : 2015-11-15 15:16:22데이터베이스(이하 DB)에 담겨진 내용을 불러오기 위한 함수에 대하여 알아보고자 합니다. 먼저 가장 많이 사용되는 함수는 아래와 같습니다.mysql_fetch_array()mysql_fetch_row()mysql_fetch_assoc()위 세가지 모두 데이터베이스(Database)를 가져오는 기능은 동일하나 어떤 방법으로 가져오는가의 차이가 있습니다.mysql_fetch_array(); 키값을 기준으로 데이터를 가져옵니다.$row['id_no'];mysql_fetch_row(); 인덱스 숫자에 의해 가져옵니다.$row[1];mysql_fetch_assoc() 키값과 인덱스 둘 모두 사용하여 가져올 수가 있습니다. 아래는 데이터를 가져오기 위한 예제입니다.$row = mysql_fetch_array();$ro
Last Modified : 2015-11-15 15:03:16Mysql의 경우입니다. PHP와 Database를 연결 및 동장 그리고 해제를 하기 위해서는 PHP 함수를 이용하며 3가지 함수를 사용합니다.1. mysqli_connect();mysqli_connect('host', 'user', 'password', 'dbname', 'port', 'socket');2. mysqli_query();3. mysqli_close();<?php// 파일 맨 상단에 추가$dbc = mysqli_connect(127.0.0.1, ensso, passwod, 'webisfree');if (mysqli_connect_errno($con)) { echo Failed to connect to MySQL: .mysqli_connect_errno();}$query = 'SELECT *
Last Modified : 2017-09-18 04:16:58데이터베이스의 조인이랑 다수의 테이블을 서로 묶어서 사용함에 있어 '조인(Join)한다'라고 합니다. 이때 서로 다른 테이블중 최소 하나의 필드는 서로 같은 값을 가지는 조인할 수 있는 컬럼(필드)이 반드시 필요합니다. 뒤의 예제는 각각의 id필드가 동일할 때 사용할 수 있습니다.조인(join)에서 각각의 테이블에 별칭(alias)를 설정할 수 있으며 별칭은 FROM절의 참조테이블 뒤에 한 칸 띄고 입력하면 됩니다. 이때 주의할 점이...i. 동일한 별칭이 존재할 수 없음ii. 테이블 내의 필드명과 동일한 별칭은 사용말 것위의 내용이 반드시 지켜져야만 합니다.그러면 아래에는 서로 다른 테이블의 조인 방법을 예제를 통해 알아보겠습니다. 만약 아래와 같이 두개의 서로 다른 테이블이 존재한다면...table 1
Last Modified : 2015-11-15 14:57:30관계형 데이터베이스, RDBMS에서 데이터를 불러올 때 데이터의 크기와 시작점을 정하는 방법을 알아봅니다. 만약 테이블에서 불러올 데이터 크기를 줄여야한다면... 아니면 불러올 값의 시작점을 다르게해야한다면 어떻게할까요?게시판을 예로 들면 게시글 총 수가 1,000개라면 전체를 한페이지에 출력하기 어려우므로 약 15개 또는 20개 정도의 글이 적당할 수 있죠. 즉 페이지네이션에 필요한 정보를 제공해야하는데 이때 쿠ㅏ리문에 설정하는 값을 알아보려합니다.! 모두 불러온 후 클라이언트에서 처리할 수는 없는가물론 가능합니다. 다만 모든 글을 인덱스하여 가져와야하고 이를 함꺼번 처리하는 것도 부담이죠. 또 데이터베이스가 아닌 서버스크립트 언어 asp, jsp, .net에서도 처리 가능합니다. 하지만 쿼리문에서 불러올
Last Modified : 2017-11-28 13:43:24누구나 php를 다뤄보셨다면 apmsetup을 한번쯤은 들어보셨을거라 생각합니다. 아직도 많이 사용되는 웹어플리케이션 구동 방법 중 하나로 설치만으로 서버 및 데이터베이스 환경이 구축되죠. apm은 각각 apache, php, mysql입니다.현재 과거에 사용되던 apmsetup에 접속하면 다른 페이지로 url이 넘어가게됩니다. 아마도 더 이상 기존의 개발사에서 어플리케이션이 배포되지 않는 것으로 보이니 참고하세요!# APM download 받기.. 하지만 그럼에도 불구하고 아직 편리하게 사용 가능한 이유는 새로운 곳에서 동일한 기능의 어플리케이션을 받아 설치하여 사용할 수 있습니다. 기존과 ui는 다르지만 말이죠... 또한 어렵지 않게 기존에 사용되던 apmsetup을 찾아 다운 받을 수 있더군요. 인터넷
Last Modified : 2017-12-28 03:38:17안녕하세요! Mac 유저들이 편리하게 MySQL의 데이터베이스에 접속해 관리할 수 있는 무료 툴을 소개하려합니다. 바로 Sequel Pro 1.0.2 입니다.프리웨어로 사용이 가능한 무료 데이터베이스 관리툴무료 프로그램을 찾기 어려우셨죠? 이 프로그램은 100% 프리웨어라 하니 안심하고 사용하실 수 있습니다. 특히 Mac 유저에게는 정말 좋은 프로그램이 아닐 수 없네요.! Sequel Pro 다운로드 후 사용후기; 무료앱이지만 편리한 인터페이스를 제공합니다. 간단한 특징으로는...- 여러개의 데이터베이스(DB) 동시에 접속가능- 이전에 접속했던 사이트의 로그인 정보를 저장하는 Quick bar 제공- 다양하고 구조, 내용, 관계, 테이블, 쿼리, 네비게이터 등 다양한 뷰를 제공스크린샷) 실제 프로그램 구동시
Last Modified : 2015-11-06 02:00:16MySQL에서 해당하는 값이 없는 경우 INSERT로 추가하고 만약 있으면 UPDATE하는 방법은 무엇일까요?이 경우 INSERT를 사용하되 아래의 쿼리문을 추가하여 이미 존재하는 경우에 UPDATE하는 문법을 만들 수 있습니다. ON DUPLICATE KEY UPDATE 컬럼명 = VALUES(업데이트값)그럼 아래의 예제를 참고하세요.INSERT INTO user (id, name) VALUES ("MyId", "MyName") ON DUPLICATE KEY UPDATE name = VALUES(name);user 테이블에 존재하는 id와 name을 확인하여 만약 동일한 name이 존재하는 경우 UPDATE를 수행하게 됩니다.
Last Modified : 2017-04-05 17:19:41현재 시간을 기준으로 몇 분 이전의 데이터만 불러오려면 어떻게 해야할까요? 만약 아래의 경우처럼 해당하는 몇 분 이 전까지의 데이터만 불러올 수 있습니다. 아래를 봐주세요.# 현재 기준 5분 이전 데이터만 불러오기SELECT * FROM myTable WHERE date > now() - INTERVAL 5 MINUTE;# 현재 기준 10분 이전 데이터만 불러오기SELECT * FROM myTable WHERE date > now() - INTERVAL 10 MINUTE;위와 같이 INTERVAL 값을 설정하여 원하는 분 이전의 데이터만 불러올 수 있습니다.
Last Modified : 2017-04-05 17:35:36이번에 새로 장만한 태블릿에 apmsetup을 설치완료했습니다. 아시겠지만 apmsetup은 웹서버 운영에 필요한 3가지를 간편하게 모두 실행시켜주는 매우 편리한 어플리케이션입니다. 별도의 설정, 설치없이 모두 가능하게 도와줍니다.문제는 mysql인데요.... 갑자기 재부팅 이후부터 정상구동이 안되는 현상이 발견되었습니다...해결하기 위해서 알아보니 mysql의 환경설정 파일이 생성되는 위치가 잘못되어 발생하는 문제였습니다. 해결방법은 해당 파일을 정확한 위치로 옮겨주면 해결이 가능합니다... 이 현상이 발견되는 경우 아래의 절차에 따라서 수행해 주시기 바랍니다.1. 파일탐색기에서 아래 경로를 연다내 PC > C: > APM_Setup > Server > MySQL5 > data2. my.ini 파일을 한
Last Modified : 2015-12-31 09:59:04SELECT 구문이 다수인 경우.. 또는 복수개의 조합이 필요할때 UNION을 사용합니다.예를들어 아래와 같이 두 개의 쿼리문이 존재할 경우? (SELECT * FROM tableA WHERE LIMIT 5)UNION(SELECT * FROM tableB WHERE LIMIT 5);다음과 같이 사용할 수 있습니다. 단 이때의 table이 전혀 다른 경우라면 UNION하여 조합할 수 없고 동일한 타입의 테일블을 사용할 경우에만 병합이 가능합니다.
Last Modified : 2017-03-22 08:17:22MySQL에 사용되는 자주 사용되는 DB, 데이터베이스 조작 명령어에 대하여 알아보겠습니다.# MySQL 자주 사용되거나 간단한 조작 쿼리문기본적으로 사용되는 데이터베이스 조작 쿼리문은 무엇이 있을까요? 데이터베이스와 테이블을 생성하거나 삭제, 수정등을 하는 방법이 제일 간단한 쿼리문이겠죠. 이런 방법 위주로 아래에서 알아봅니다.! 데이터베이스(Database) 조작 명령어먼저 가장 상위에 존재하는 데이터베이스 관련 쿼리문입니다. 순서대로 데이터이스를 조회하고 생성하고 삭제하는 명령어입니다.// 내부 가지고 있는 Database 정보 보기SHOW databases;// 새로운 Database의 생성, 추가하기CREATE DATABASE DBname;// Database의 삭제하기DROP DATABASE DB
Last Modified : 2021-06-03 16:31:51SET연산자 중 하나인 union을 사용하면 두개 또는 그 이상의 테이블 결과를 합쳐서 나타낼 수 있습니다. 테이블을 합치는 union은 동일한 컬럼의 테이블 값을 찾는 조인(join) 구문과는 다른 점 유의하시기 바랍니다.UNION을 사용해 테이블을 합칠 경우 주의할 사항은 아래와 같습니다.사용할 컬럼의 수는 동일할 것ORDER BY를 사용해 정렬이 필요한 경우 맨 아래에 위치한 SELECT문에만 사용할 것중복된 값이 있는 경우 하나의 결과(distinct)만 가져옴# JOIN 구문 예제소스 보기SELECT *FROM sortWHERE name='apple'UNIONSELECT *FROM tagWHERE name='apple'LIMIT 10위 예제소스는 sort 테이블과 tag 테이블의 컬럼 name에 a
Last Modified : 2016-01-29 11:39:01Linux 우분투에 MySQL 설치하는 방법에 대한 정보입니다.MySQL은 PHP, Python 등에 많이 사용되는 오픈소스의 데이터베이스 관리시스템입니다. 먼저 아래와 같이 설치합니다.# 리눅스 MySQL 데이터베이스 설치하기아래의 커맨드를 사용하여 mysql-server 및 db환경을 구축합니다.sudo apt-get install mysql-serversudo myllationsql_secure_installationsudo mysql_install_db참고로 5.7.6 이 후 버전부터는 sudo mysql_install_db가 아닌 아래의 커맨드로 대체합니다.mysqld --initialize설치가 끝나면 다음 단계로 MySQL 5.x 패키지를 설치합니다.sudo apt-get insta
Last Modified : 2017-05-31 16:51:46만약 php에서 mysql에 적용한 NOW() 함수가 잘 적용되지 않는 경우 어떻게 해야할까요? 해결 방법은?이 경우 php의 날짜 함수를 사용하는 방법이 있습니다.(NOW() - INTERVAL 10 MINUTE)아래와 같이 변경이 가능합니다.$limitdate = date("Y-m-d H:i:s",time() - 10*60);code snippet widget
Last Modified : 2017-04-05 23:36:09관계형 데이터베이스인 MySQL을 사용하다가 다음과 같은 문제가 발생하였습니다. 바로 텍스트 저장시 일부 내용이 이 잘리는 이슈입니다.! MySQL 저장할 때 일부 내용 잘리는 경우 해결하기Admin을 사용해서 컨텐츠를 저장해야 되는데 내용의 일부가 계속 저장이 되지 않더군요. 이 경우 원인 파악이 필요한데 생각해본 원인은 다음의 경우들 입니다.1. php 서버의 업로드 설정 사이즈가 작은 경우2. php 설정의 post_max_size가 작아서 발생하는 문제일단 위 두 가지 부분는 원인이 아니더군요 ~ 그렇다면 원인은 하나 ~ 바로 데이터베이스 테이블에 설정된 컬럼 타입으로 의심되었습니다.# MySQL 테이블 컬럼 타입 변경하기일단 테이블의 컬럼들이 어떤 타입으로 설정되었는지 확인해야 합니다. 그래서 아래
Last Modified : 2021-07-15 06:12:56현재 사용중인 mysql의 버전을 확인하는 방법을 알아봅니다.mysql이 설치된 경우 -V 옵션을 사용하여 실행하면 현재 버전을 출렫해줍니다.mysql -V출력 메시지는 아래와 같이 현재 사용중인 mysql 버전이 출력됩니다.mysql Ver 15.1 Distrib 10.0.38-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2현재 버전을 확인하는 방법을 간략히 알아봤습니다.
Last Modified : 2020-08-11 08:27:56