HTML5 SQL 실행 및 처리
SQL 질의어
SQL(Structured Query Language)은 데이터베이스를 정의하고 조작하기 위한 질의어(Query Language)를 의미합니다.
SQL 질의어는 초기에는 관계형 DBMS에서만 사용되었으나 지금은 특정한 데이터베이스 시스템에 한정되지 않고 다른 데이터베이스에서도 널리 사용되고 있습니다.
CREATE 문
CREATE 문은 테이블을 생성할 때 사용하는 구문입니다.
형식 |
create table 테이블이름 ( 속성이름 자료형[not null], ... [primary key (속성이름)] ) |
예제 |
create table member (ID char(8) not null, name char(10) not null, primary key (ID) ) create table movie ( name, actor ) |
SELECT 문
SELECT 문은 테이블에서 레코드를 검색할 때 사용하는 구문입니다.
형식 |
select 필드이름 from 테이블이름 [where 조건문] [order by [ asc | desc ] ] |
예제 |
select * from tablemember select name from tablemember where num = '4' select name from tablemember where age = '28' order by asc |
INSERT 문
INSERT 문은 테이블에 레코드를 삽입할 때 사용하는 구문입니다.
형식 |
insert into 테이블이름 (필드이름) values ('값') |
예제 |
insert into tablemember (id, passwd, name) value ('apple', '1234', '홍길동') insert into tablemember (age, phone) value ('28', '010-1234-5678') |
UPDATE 문
UPDATE 문은 테이블에서 레코드를 수정할 때 사용하는 구문입니다.
형식 |
update 테이블이름 set 필드이름 = '값' [ where 조건문 ] |
예제 |
update tablemember set age = '19' update tablemember set id = 'banana', name = '김철수' where num ='3' |
DELETE 문
DELETE 문은 테이블에서 레코드를 삭제할 때 사용하는 구문입니다.
형식 |
delete from 테이블이름 [ where 조건문 ] |
예제 |
delete from tablemember delete from tablemember where id ='apple' |
SQL 실행 및 처리
executeSql( ) 메서드
executeSql() 메서드는 SQL 문을 사용한 명령어를 처리하기 위해서 사용하는 메서드입니다.
형식 |
트랜잭션 객체.executeSql ( SQL문, 치환값, function(tx, rs) { SQL 실행에 성공했을 때의 처리 }, function(error) { SQL 실행에 실패했을 때의 처리 } ); |
예제 |
<script type="text/javascript"> window.onload = function() { var db = openDatabase("movie", "1.0", "movie database", 1024*1024); db.transaction( function(tx) { tx.executeSql("create table movie(name, actor)"); // 테이블 생성함 // 데이터를 삽입함 tx.executeSql("insert into movie(name, actor) values(?, ?)", ["오징어게임", "이정재"]); tx.executeSql("insert into movie(name, actor) values(?, ?)", ["미나리", "윤여정"]); tx.executeSql("insert into movie(name, actor) values(?, ?)", ["기생충", "송강호"]); }); }; </script> |
executeSql() 메서드를 사용하여 데이터베이스에 어떠한 작업을 처리하였을 경우 세 번째 인수로 지정한 콜백 함수가 호출됩니다.
콜백 함수에서 두 번째 인수는 실행 결과인 SQLResultSet 형의 객체를 반환합니다.
관련 속성
속성 | 설명 |
insertId | INSERT 문을 실행하여 생성된 ID |
rowAffected | SQL 실행에 의해 처리된 레코드의 수 |
rows | SELECT 문을 실행한 결과 length 속성을 사용하여 레코드 수를 알 수 있으며, item(index) 메서드를 사용하여 지정한 index 의 레코드를 얻을 수 있음 |
예제 |
function viewData() { db.transaction( function(tx) { // 테이블에 저장되어 있는 모든 데이터를 검색함 tx.executeSql("select * from movie",[], function(tx, rs) { // row 속성의 length 속성을 사용하여 검색 결과의 갯수대로 처리함 for(var i = 0; i < rs.rows.length; i++) { // 지정한 인덱스에 해당하는 객체를 얻음 var row = rs.rows.item(i); // innerHTML 속성에 값을 지정하여 테이블 형식으로 출력함 document.getElementById("table").innerHTML += "<tr><td>" + row["name"] + "</td><td>" + row["actor"] + "</td></tr>"; } }); }); } ...... <input type="button" onclick="viewData()" value="조회"><br> <table id="table"></table> |
SQL 실행 및 처리 실습 프로그램
댓글