본문 바로가기

분류 전체보기452

SQL MAX(), MIN() 구문 안녕하세요!! 이번 포스팅에선 SQL MAX(), MIN() 함수에 대해서 설명드리겠습니다. MAX() 은 선택된 칼럼의 가장 큰 값을 가져옵니다. 기본구문 SELECT MAX(column_name) FROM table_name; // 기본적으로 max() 의 사용방법은 위와 같습니다. 위의 구문을 실행시키면 table_name 라는 테이블에서 column_name 의 값중 가장 큰값을 하나만 가져오게 됩니다. id name age 1 박 38 2 김 45 3 이 26 예를들어서 위와 같은 테이블(member)이 있다고 가정 할 경우 select MAX(age) from member; // 위의 구문을 실행하면 나이가 제일 많은 45를 가져오게 됩니다. 그렇다면 이제 그 반대의 값을 가져오는 MIN()에.. 2013. 10. 4.
SQL COUNT 함수에 대해서 안녕하세요!! 이번에 포스팅할 내용은 SQL COUNT 함수 구문입니다. count 함수는 이미 짐작했을 수도 있겠지만 행의 수를 세는 역할을 합니다. 기본예제는 아래와 같습니다. select count(*) from table_name; select count(column_name) from table_name; // 위처럼 구문을 작성하면 table_name 테이블에서 모든 행의 개수가 얼마나 되는지 숫자로 표현됩니다. 예를들어서 삽입된 행의 수가 6이라고 하면 위 구문을 실행하면 6이라는 결과가 나타나게 됩니다. 조금 더 구체적으로 원하는 부분의 행의 개수를 가져오고 싶을 경우 where 를 사용하여 구문을 만들 수 있습니다. select count(*) from table_name where na.. 2013. 10. 2.
SQL AVG() 구문 안녕하세요!! 이번에 SQL 관련해 포스팅할 내용은 AVG() 구문입니다. AVG() 구문은 average 의 줄임말로 평균을 구하는 함수입니다. 예를들어서 5명의 학생이 국어 시험을 봤는데 A학생은 70, B학생은 89, C학생은 78, D학생은 94, E학생은 90 이라고 가정하고 테이블은 exam 칼럼명은 Jumsu 라고 가정하면 select AVG(jumsu) from exam 이렇게 SQL 구문을 이용하여 학생들의 평균값을 구할 수 있습니다. 그럼 간단하게 회원 테이블에서 사람들의 나이에 대한 평균을 구해보겠습니다. 테이블 이름은 member 이라고 정의하겠습니다. m_id name age 1 park 33 2 kim 42 3 lee 29 대략 짐작이 갈거라 생각합니다. 위 테이블에서 age 즉.. 2013. 9. 30.
아이폰 5s 리뷰 현재 아이폰 5S는 국내에 들어오진 않았습니다. 대략 아이폰 5s에대한 언론을 살펴보면 11월말에서 12월초인듯 합니다. 확실한건 아니니 참조만 하시기 바랍니다. 그보다 빠를수도 늦을수도 있습니다. 지금부터 설명할 아이폰 5s에 대한 리뷰는 사실 제가 직접 써보진 않았고 해외 언론을 참조하여 포스팅하겠습니다. 해외 언론의 내용이니 조금은 더 객관적으로 리뷰를 하지 않았을까 예상합니다. 혹시라도 미흡한 점이 있더라도 이해해주시기 바라며, 도움되는 내용이 되길 바랍니다. 디자인 사실 디자인은 아이폰 5와 동일합니다. 더 구체적으로 아이폰 5와 5s의 무게와 크기는 동일합니다. 조금 틀려진건 홈버튼, 듀얼 LED, 그리고 여러종류의 색상입니다. 그런데 다행인지 불행인지 해외파 사람들은 아이폰 5의 디자인을 많.. 2013. 9. 27.
SQL DATE 함수들 안녕하세요!! 이번에 포스팅할 내용은 SQL DATE 함수들에 대해서 알아보겠습니다. SQL DATE 형식은 데이터베이스 마다 조금씩 틀린 부분이 있습니다. MySql 의 DATE 함수들 NOW() : 현재 날짜와 시간을 보여줍니다. CURDATE() : 현재 날짜를 보여줍니다. CURTIME() : 현재 시간을 보여줍니다. 예) SELECT NOW(),CURDATE(),CURTIME() NOW() CURDATE() CURTIME() 2012-09-26 14:42:53 2013-09-26 14:42:53 // 각각의 함수들에 대해서 쿼리문은 위와 같은 형식의 날짜 또는 시간이 나오게 됩니다. DATE_ADD() : 날짜에 지정된 시간을 추가할 수 있습니다. DATE_SUB() : 날짜에 지정된 시간을 뺄.. 2013. 9. 26.
SQL AUTO INCREMENT 구문 안녕하세요!! 이번에 포스팅할 내용은 AUTO INCREMENT 구문입니다. 테이블을 만들때 주로 고유 번호를 생성하는데 사용됩니다. AUTO INCREMENT 를 사용하면 레코드의 값이 중복되지 않고 1씩 자동 증가하게 됩니다. 특히 가장 많이 사용되는 곳은 테이블 제일 첫 칼럼입니다. 테이블을 만들때 첫 칼럼은 거의 대부분 테이블 레코드에 대한 고유값을 지정하여 사용하기 때문입니다. MySql 구문 CREATE TABLE Member ( ID int NOT NULL AUTO_INCREMENT, Name varchar(255) NOT NULL, Address varchar(255), City varchar(255), PRIMARY KEY (ID) ) // MySql 에서는 위와 같이 AUTO_INCRE.. 2013. 9. 25.
SQL ALTER TABLE 구문 안녕하세요!! 이번 포스팅에서는 SQL ALTER TABLE 구문에 대해서 알아보겠습니다. ALTER TABLE 이란 녀석은 기존 테이블의 열을 추가, 삭제 또는 수정하는데 사용됩니다. 기본 구문은 아래와 같습니다. 칼럼을 추가하는 구문 ALTER TABLE table_name ADD column_name datatype 테이블의 열을 삭제하는 구문(일부 데이터베이스에서는 아래 구문을 허용하지 않을 수 있습니다.) ALTER TABLE table_name DROP COLUMN column_name 칼럼의 유형을 변경하는 구문 SQL server / MS Access ALTER TABLE table_name ALTER COLUMN column_name datatype MySql / Oracle ALTER .. 2013. 9. 24.
SQL DROP 구문 안녕하세요!! 오랜만에 포스팅을 하는듯 합니다. 차가 많이 밀려서 명절은 잘 보내셨는지 궁금하군요. 저는 대전이 큰집인데 차가 생각보다 너무 많이 밀려서 신탄진에서 유성으로 대전을 들어가니 차도 많지 않고 편하게 잘 갔다온듯 합니다. 어쨋든 ㅎㅎ 오늘 포스팅할 내용은 SQL 구문중 DROP 에 대해서 알아보겠습니다. SQL에서 DROP 은 INDEX 및 데이터베이스 그리고 테이블을 삭제할 수 있습니다. 기본적인 INDEX 삭제 구문은 아래와 같습니다. MS Access 의 INDEX DROP 구문 DROP INDEX index_name ON table_name MS-SQL 의 INDEX DROP 구문 DROP INDEX table_name.index_name Oracle 의 INDEX DROP 구문 DR.. 2013. 9. 23.
SQL CHECK 제약조건 안녕하세요!! 이번 포스팅에서는 SQL 제약조건중 CHECK에 대해서 알아보겠습니다. CHECK 제약조건은 단어 그대로 어떤 열에 대해서 특정한 조건을 걸어서 체크를 할 수 있는 역할을 합니다. 예를 들어서 테이블을 하나 만들어서 CHECK에 대해서 알아보겠습니다. 아래 MEMBER 테이블을 만들겠습니다. CREATE TABLE member ( m_id int NOT NULL CHECK (m_id>0), Name varchar(255) NOT NULL, Address varchar(255), City varchar(255) ) // 첫 번째 줄을 주의깊게(?) 살펴보면 CHECK (m_id>0) 구문이 있습니다. 무슨 의미인지 대충 짐작했으리라 생각합니다. 해당 열은 0의 값보다 커야한다는 의미죠. 만약.. 2013. 9. 17.
SQL FOREIGN KEY 제약 조건 안녕하세요!! 이번 포스팅에서는 SQL FOREIGN KEY 제약 조건에 대해서 알아보겠습니다. 흔히들 FOREIGN KEY 를 우리나라 말로 외래키라고 사용합니다. 외래키 제약조건은 한 마디로 말해서 두 테이블간의 관계를 선언하여 데이터간의 무결성을 보장해주는 역할을 합니다. 즉 외래키 관계를 설정하면 하나의 테이블이 다른 테이블에 의존하는 형태입니다. 외래키 테이블에 데이터가 입력될 경우 기준 테이블의 내용을 참조해서 데이터가 입력되기 때문에 만약 기준 테이블에 데이터가 존재하지 않을 경우 값이 반영되지 않게 됩니다. 그리고 외래키 설정시 주의해야 할점은 기준 테이블의 열에 반드시 primary key, unique 제약조건이 설정되어 있어야 한다는 점입니다. 설명은 여기까지 마치고 테이블을 예로들어.. 2013. 9. 16.
SQL PRIMARY KEY 제약조건 안녕하세요!! 이번 포스팅에서는 제약조건중에서 PRIMARY KEY 에 대해서 설명하겠습니다. PRIMARY KEY 는 테이블의 각 레코드를 식별하는데 사용됩니다. PRIMARY KEY 는 고유 한 값을 포함해야 합니다. PRIMARY KEY 열은 NULL 값을 포함 할 수 없습니다. 각 테이블에는 PRIMARY KEY 가 있어야하고, 각 테이블은 하나의 PRIMARY KEY 를 가질 수 있습니다. 아래처럼 테이블을 만들때 PRIMARY KEY 조건을 줄 수 있습니다. CREATE TABLE Person ( Id int NOT NULL PRIMARY KEY, Name varchar(255) NOT NULL, Address varchar(255), City varchar(255) ) 그리고 저의 경우 My.. 2013. 9. 12.
SQL UNIQUE 구문 안녕하세요!! 오전엔 주룩주룩 비가 와서 그런가 지금은 습도 높은 더운 날씨네요. 이번 포스팅에서는 SQL 제약조건중에서 UNIQUE 조건에 대해서 알아보겠습니다. UNIQUE 제약조건은 특정 열에 중복된 값이 입력되는 것을 방지할 수 있습니다. 사실 UNIQUE 와 PRIMARY KEY 두 조건 모두 같은 역할을 하지만 조금씩 틀립니다. PRIMARY KEY 의 경우 하나의 테이블에 하나만 정의할 수 있지만 UNIQUE 의 경우는 여러 개를 정의할 수 있습니다. 그리고 PRIMARY KEY 조건과 달리 UNIQUE 에서는 NULL 값이 허용됩니다. 하지만 UNIQUE 조건에서는 열당 하나만 NULL 이 허용됩니다. 단일 UNIQUE 조건 CREATE TABLE PersonsUnique ( Id int .. 2013. 9. 11.
SQL NOT NULL, DEFAULT 구문 안녕하세요!! 이번에 포스팅할 내용은 NOT NULL , DEFAULT 제약조건이며 이전에 설명드렸던 제약조건에 대해서 좀더 자세히 말씀드리려 합니다. NOT NULL 제약조건 NOT NULL 그냥 직역하면 NULL 즉 공백을 NOT 하겠다는 의미 입니다. 공백값을 허용하지 않는다 그런의미가 되겠네요! 그렇기 때문에 NOT NULL 제약조건은 항상 값을 포함할 필드에 적용됩니다. 그래서 만약 아무런 값이 안들어가게 되면 에러가 나게 됩니다. 사실 의미만 정확하게 알고 있다면 굳이 테스트까지는 필요없을듯 하지만 그래도 테이블을 한번 만들어 보겠습니다. CREATE TABLE PersonsNotNull ( id int NOT NULL, Name varchar(255) NOT NULL, Address varc.. 2013. 9. 10.
SQL Constraints 구문 안녕하세요!! 날씨가 아침 저녁은 쌀쌀하고 점심때는 정말 덥네요. 일교차가 심한 가을!! 감기 조심하세요!! 이번 포스팅에서는 SQL Constraints 에 대해서 설명하겠습니다. SQL Constraints 우리말로 번역하면 제약조건 또는 제약 이라고 풀이됩니다. 그냥 단순히 제약이라는 말이 무슨뜻인지 저도 사실 풀이는 어렵네요. ㅎㅎ;; 쉽게 설명하자면 테이블을 만드는데 있어서 어떤 조건 또는 규칙을 지정하는 방법이라고 생각하면 되겠습니다. CREATE TABLE table_name ( column_name1 data_type(size) constraint_name, column_name2 data_type(size) constraint_name, column_name3 data_type(size).. 2013. 9. 9.
SQL CREATE DATABASE and TABLE 구문 안녕하세요!! 오늘은 즐거운 주말입니다. 오늘 포스팅할 내용은 데이터베이스와 테이블을 만들수 있는 CREATE 에 대해서 알아보겠습니다. 사실 명령어 자체는 정말 간단합니다. 데이터베이스를 만들 경우 CREATE DATABASE database_name; // 데이터베이스를 만들때 명령어는 CREATE DATABASE 입니다.그리고 그 다음에 만들 데이터베이스 이름을 입력하면됩니다. 테이블을 만들 경우는 조금 복잡합니다. 테이블의 경우는 테이블만 있는것이 아니고 그 안에 필요한 칼럼들을 정의해 주어야 하기 때문입니다. 테이블 만들때 기본구문은 아래와 같습니다. CREATE TABLE table_name ( column_name1 data_type(size), column_name2 data_type(si.. 2013. 9. 7.
SQL INSERT INTO SELECT 구문 안녕하세요!! 오늘 포스팅할 내용은 IINSERT INTO SELECT 구문 입니다. insert into select 구문은 같은 내용의 테이블 데이터를 복사하는데 유용하게 사용할 수 있습니다. 기본적인 구문은 아래와 같습니다. INSERT INTO table2 SELECT * FROM table1; // table1과 동일한 table2를 미리 만들고 위와 같은 구문을 실행하면 table1의 내용이 모두 table2로 복사됩니다. 복사 또는 백업하는 방법에는 여러가지가 있지만 위 구문도 알아두면 좋을듯 하여 이렇게 포스팅합니다. 그리고 모든 칼럼의 내용을 복사할수도 있지만 원하는 칼럼의 내용도 복사할 수 있습니다. INSERT INTO table2 (col1, col2, col3...) SELECT .. 2013. 9. 6.
SELECT INTO 구문 안녕하세요!! 이번에 포스팅할 내용은 SELECT INTO 구문입니다. 사실 select into 구문을 포스팅할까 말까 조금 망설였습니다. 지금 PHP 프로그래밍 작업을 하며 My-sql 데이터베이스를 사용하고 있는데 위 select into 기능은 my-sql에서 지원되지 않고 있기 때문인데 제가 사용하지 않는 기능을 다른분에게 잘 설명드릴수 있을까 고민했었습니다. 그런데 어차피 저도 배우는 자세로 포스팅해보려 합니다. 이부분은 조금 미흡하더라도 양해 부탁드립니다. ^^ select into 의 기능은 동일한 테이블의 형태를 복사하여 만드는데 매우 유용한 기능입니다. 예를들어 SELECT * INTO A_BACKUP FROM A; 위 구문을 실행하기 전까지는 A_BACKUP 란 테이블은 존재하지 않지.. 2013. 9. 5.
SQL UNION 구문 안녕하세요!! 이번에 포스팅할 내용은 SQL UNION 구문 입니다. UNION 은 두 개 이상의 select 문을 결합하는데 사용합니다. 두 개 이상의 select 문을 결합할때 주의해야 할 점은 불러오는 칼럼의 개수가 서로 같아야 한다는 것입니다. 그리고 union 의 구문은 union 과 union all 두 가지 방식이 있습니다. 두 구문의 차이점은 아래와 같습니다. 아래와 같은 두 개의 테이블이 있다고 가정합니다. TABLE1 TABLE2 ----------------- ----------------- field1 field1 ----------------- ----------------- 1 5 2 3 3 1 ----------------- ----------------- 이 때... SELE.. 2013. 9. 4.
[서평] 철학자처럼 질문하라 직장동료, 직장상사, 친구, 가족등 누군가와 대화할때 논리적으로 설득하여 합리적인 답을 내기가 참 쉽지 않습니다. 사실 제가 조금 그런편에 속한다고 생각해서 이 책을 읽게된 계기가 아닐까 합니다. ㅎㅎ;; 그런데 확실히 철학적의미가 담긴 책이라 그런지 머리속에 쏙쏙 들어오진 않네요. 이 책을 쓴 작가는 크리스토퍼 디카를로 입니다. 이분은 과학철학과 생명윤리를 연구하는 철학자이자 교육자이며 저명한 강연자입니다. 우리가 살아가는 현대사회에서 철학의 중요성을 알리고 골칫거리 논쟁자(?)가 되어 중요한 문제들에 대해 좀 더 명확하고 자신감을 주기 위해 지어진 책이라 볼 수 있습니다. 책 첫 부분에서 지은이는 책을 읽는 사람에게 질문을 합니다. 처음부터 어려운 질문이 나오기에 도대체 어떻게 답을 해야하는지 정말 .. 2013. 9. 3.
SQL RIGHT JOIN 구문 안녕하세요!! 이번 포스팅에서는 JOIN 구문중에서 RIGHT JOIN 구문에 대해서 알아보겠습니다. 지난 포스팅에서 left join 구문을 설명했었는데 right join 구문은 반대라고 생각하시면 도움이 될듯합니다. 두 개의 테이블이 있다고 가정할경우 right join은 우측의 테이블을 포함한 교집합입니다. 아래 그림을 참조하시면 더 이해가 빠를거라 생각합니다. 이미지 출처 : w3schools RIGHT JOIN 기본구문 SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name = table2.column_name; // 위와 같이 조인 구문을 작성하면 그림과 같은 결과값이 나오게 됩니다. // 내용이 이전 포스팅의 le.. 2013. 9. 3.
SQL LEFT JOIN 구문 안녕하세요!! 이번 포스팅에서는 SQL 에서 LEFT JOIN 구문에 대해서 설명드리겠습니다. INNER JOIN 구문이 교집합 구문이었다면 LEFT JOIN은 LEFT 를 포함한 교집합 구문이라 생각하시면 되겠습니다. 이미지출처 : w3schools 위 그림에서 보면 table1 과 table2에 대해서 left join 을 한 모습인데 자세히 살펴보면 table1의 내용은 그대로 있고 table2와 겹치는 부분의 내용을 추출하는것을 볼 수 있습니다. 그리고 table1의 내용과 일치되지 않는 구문은 null 값을 반환하게 됩니다. left join 의 기본구문 SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name=table2.. 2013. 9. 2.