본문 바로가기

Programming/SQL

SQL - 10 이번엔 SQL에서 쓰는 함수를 알아보자. 엑셀을 다뤄보신 분들이라면 엑셀의 그것과 똑같다. 단지 쓰는 형태가 다를뿐..SELECT 함수(칼럼이름) FROM 테이블이름; UPPER() -> 칼럼에 있는 문자를 대문자로LOWER() -> 칼럼에 있는 문자를 소문자로SQRT() -> 칼럼에 있는 숫자의 제곱근SUM() -> 칼럼에 있는 숫자들의 합AVG() -> 칼럼에 있는 숫자들의 평균 SQL에 쓰이는 수 많은 함수를 모두 다룰 순 없다. 그러니 그런 부분들은 검색을 활용해주길 바란다. 이 함수들을 WHERE뒤에 사용하여 활용할 수도 있다. AVG를 쓰기위해선 SELECT까지 전부 입력 해야 하는 것이 약간 불편한 점이다. 더보기
SQL - 09 WHERE에 대해 추가적인 것으로 검색을 할 수 있는 LIKE를 알아보자. LIKE는 WHERE뒤에 쓰여서 문장이 특정 단어로 시작하거나, 끝나거나, 포함되어 있는 경우를 찾아준다. 사용방법은 다음과 같다.SELECT * FROM 테이블이름 WHERE 칼럼이름 LIKE 패턴 패턴에는 다음과 같은 것들이 들어간다. 기호 설명 'A%' A로 시작 '%A' A로 끝 '%A%' A포함 다음으로 SELECT에 대한 추가적인 것이다. SELECT로 데이터를 불러올 때에 데이터들을 묶을 수 있다. 이것을 해주는 쿼리가 CONCAT인데 사용법은 다음과 같다.SELECT CONCAT(칼럼이름, '문자', 칼럼이름) FROM 테이블이름; 이렇게 하게 되면 칼럼 이름이 CONCAT(price, ', ', birth)가 되는.. 더보기
SQL - 08 오늘은 WHERE에 관한 쿼리문이다. WHERE은 다른 여러 프로그래밍 언어에서 IF와 같은 역할을 한다. 사용방법은 다음과 같다.SELECT * FROM 테이블이름 WHERE 조건; 조건에는 다음과 같은 것들이 들어간다.기호 설명 = 같다 != 같지않다 > 크다 = 크거나 같다 더보기
SQL - 07 전에 만들어 둔 데이터베이스를 가지고 이번엔 여러가지 데이터를 추출하는 방식에 대해 설명하고자 한다. 우선 원래 데이터베이스안에 데이터들이다. 이제 SELECT *에 대해서 설명하고자 한다. SELECT쿼리는 말 그대로 선택인데 뒤에 *은 전체를 의미한다. 즉 모든 칼럼들을 선택하는 것이다. *대신 특정 칼럼 이름만 넣으면 그 칼럼에 행당하는 데이터만 보여진다. 여러개를 보고 싶으면 여러개를 쉼표 기준으로 여러개를 쓰면 된다. 참고로 순서를 바꾸면 바뀐 순서대로 보여진다. 이제 DISTINCT에 대해 알아보자. DISTINCT는 사전적으론 '별개의', '뚜렷한'이라는 뜻인데, 여기선 여러개의 데이터중 중복되어 있는것을 하나로 만드는 것이다. 예를 들자면 1, 2, 2, 3, 3, 3, 3 ,4가 있을때,.. 더보기
SQL - 06 데이터베이스와 테이블, 칼럼을 만들었으니 이제 본격적으로 데이터들을 넣을 차례이다. 데이터를 넣기 위해선 먼저 무슨 칼럼들이 있었는지 확인하자. id, name, price, birth가 있다. 이제 확인한 칼럼들을 기억해두고 데이터들을 입력하자. 쿼리문은 다음과 같다. INSERT INTO 테이블이름 (칼럼1, 칼럼2, ... , 칼럼n)VALUES (데이터1, 데이터2, ... , 데이터n); varchar과 date 의 데이터 형식은 반드시 작은따옴표 ' ' 로 묶어줘야 입력이 된다는 점을 기억하자. 그런데, 이 방식은 너무 복잡하지 않은가 언제 데이터를 입력할 때 칼럼이름을 입력하고 있을 건가. 위 방식은 특정 칼럼만 입력할 때(현재는 전체를 입력했으므로 전체다) 쓰이고 아래는 순서를 알 때 그냥.. 더보기
SQL - 05 이제 SQL 콘솔을 켠후 데이터베이스를 만들어보자. 데이터베이스를 만드는 명령어는 다음과 같다.CREATE DATABASE 이름; (간혹 명령어중에 세미콜론을 안붙여도 되는 명령어가 있는데 필자는 혼동을 막고자 다 붙이기로 했다) 'Fruit'이라는 데이터베이스를 만들었다. Query OK가 뜬다면 명령이 잘 실행되었다는 뜻이다. 정말 그런지 확인하기 위해 APMSETUP폴더에 들어가 보자. 폴더가 만들어졌다. 콘솔창에서도 현재 무슨 데이터베이스가 있는지 확인하는 명령어가 있다.SHOW DATABASES; 확인했다면, 이제 데이터베이스를 사용해야한다. 사무실안에서 작업을 할려면 일단 사무실에 들어가야 하는것과 같은 이치이다. (원격으로 하는것도 나의 명령들이 사무실 안에 들어가야하니...) 명령어는 다음.. 더보기
SQL - 04 먼저, 명령들을 입력할 무언가가 필요한데 난 그 무언가를 가장 기본적인 콘솔창으로 하기로 했다. APMSetup을 사용한다면, SQL콘솔창은 시작메뉴에 'MySQL Console(root)'요놈이 콘솔창이다. 만약 시작메뉴에 등록을 하지 않았다면, APM_Setup\Server\MySQL5\bin에 'mysql.exe'를 우클릭-바로가기 만들기를 한뒤에 바로가기를 우클릭-속성에 들어가 대상 끝에 '-uroot -p'를 추가한다. 바로가기를 실행하게 되면, 다짜고짜 비밀번호를 입력하라는 창이 뜨게된다. 여기서 당황하지 말고, apmsetup 이라고 입력하자. 입력후엔, 이제 자유로이(?) 명령을 입력해 데이터 베이스를 조작할 수 있다. 더보기
SQL - 03 본격적으로 SQL을 배워보기에 앞서 SQL을 실행할 환경을 설치해줘야 한다. SQL은 서버에서 관리하는 형태의 언어이기 때문에 컴파일러가 따로 필요하다. 그 중 하나가 APMSetup이라는 프로그램이다. 공식 사이트인 apmsetup.com이 모종의 이유로 DNS주소를 접근할 수 없게 되었다. 따라서 KLDP사이트에서 제공하는 apmsetup을 받아주자.https://kldp.net/apmsetup/release/ 여러개의 파일이 있는데, 그중 최신버전이라 추측되는 '3221-APMSETUP7_2010010300.exe'을 받아주자. 설치는 그다지 어렵지 않으니 설명은 생략하겠다. 잘 모르겠다면 열심히 '다음>'버튼을 눌러주자. 설치가 끝난 후 인터넷 주소창에 '127.0.0.1'을 입력해 다음 화면이 .. 더보기
SQL - 02 SQL? SQL은 IBM에서 챔벌린과 보이스가 1970년대 초에 데이터베이스 관리 목적으로 개발한 특수 목적의 프로그래밍 언어이다. 초기엔 Structured English Query Language (SEQUEL)이라는 이름이었지만, 영국의 어느 항공사 상표와 같아서 Structured Query Language(SQL)로 이름을 바꾸었다. 무엇을 할 수 있나요? ● 쿼리문(명령문)을 데이터베이스에 실행 할 수 있음 ● 데이터베이스에 정보를 입력할 수 있음 ● 데이터베이스에 정보를 지울 수 있음 ● 데이터베이스에 정보를 재 배열할 수 있음 ● 원하는 정보만 데이터베이스에서 꺼낼 수 있음 ● 등등등... 어디에 쓰이나 주로 홈페이지나 기업에서 크고 작은 규모의 데이터들을 다룰 때 쓰인다. 버전이 정말 많.. 더보기
SQL - 01 SQL에 대해 배우기 전에 데이터 베이스란 무엇인지에 대하여 알고 넘어가야 한다. 데이터베이스란 쉽게 데이터들의 모음이다. 좀더 깊게 들어가자면, 접근에 용이해야하고 관리와 업데이트가 효율적이어야 한다. 데이터베이스는 테이블(Table)이란 것으로 이루어져 있다. 이 테이블 안에는 칼럼(Column) 과 열(Row)로 이루어져 있는데, 마이크로소프트 오피스 엑셀과 유사하다. 예를들어, 백화점이라는 데이터베이스가 있을 때, '옷', '음식', '장난감' 등등의 테이블이 있을 것이다. 이 테이블안에는 '가격', '이름', '수량' 등등의 칼럼이 존재하는 것이다. 또 열은 각각의 대한 정보가 되겠다. 더보기