SQL

SQL 기초 구문

INSERT

INSERT INTO tablename VALUES(값1, 값2, ...);

혹은

INSERT INTO tablename (col1, col2, ...) VALUES(값1, 값2, ...);
INSERT INTO ins_duplicate VALUES (1,'Antelope') ON DUPLICATE KEY UPDATE animal='Antelope';

SELECT

SELECT col1, col2, ... FROM tablename;

컬럼명을 *로 하면 모든 컬럼 의미.

mysql> SELECT col1 AS '성명', col2 AS '국어점수' FROM grade;

컬럼의 이름을 바꿔서 출력.

mysql> SELECT * FROM tablename ORDER BY col1 DESC; mysql> SELECT col1, korean + math english AS '총점' FROM tablename ORDER BY '총점' ASC;

DESC는 내림차순 ASC는 오름차순.

mysql> SELECT * FROM grade WHERE korean < 90;

조건줘서 SELECT.

mysql> SELECT * FROM grade LIMIT 10;

결과중 처음부터 10개만 가져오기

mysql> SELECT * FROM grade LIMIT 100, 10;

결과중 100번째부터 10개만 가져오기. 첫번째 레코드는 0번 부터 시작한다.

MySQL (>4.0) 쓴다면 중복키가 있으면 업데이트하고 아니면 인서트 하는 명령인 INSERT… ON DUPLICATE KEY UPDATE .. 를 써서

아래의 쿼리에서 ?를 seq 값으로 대치시키고 실행시키면 됩니다. insert into counter(seq,count) values(?,1) on duplicate key update count = count+1

UPDATE

UPDATE tablename SET col1=새값 WHERE 조건

데이터의 수정(UPDATE)

UPDATE 테이블명 SET 필드명=필드값 또는 산술식 {, 필드명 = 필드값 또는 산술식}*[WHERE 검색조건]

UPDATE userdb SET sex = 'F' WHERE name = '김현아'

(userdb테이블의 name=김현아인 필드의 sex를 F 로 수정한다)

UPDATE userdb SET sex = 'F'

만일 위와 같이 WHERE절로 검색조건을 명시하지 않은 경우에는 해당테이블내의 모든레코드의 필드값이 설정한값으로 수정되므로 유의해야한다.

UPDATE userdb SET sex = 'F'
UPDATE userdb SET milage = milage + 300

DELETE

mysql> DELETE FROM tablename WEHRE 조건

기타

연결문서