완성된 테이블에서 필드를 추가(add), 삭제(drop), 수정(modify,change)
기억 안날땐 alter table 검색하면 관련 명령어 다 나옴
추가 : alter table 테이블명 add 필드명(추가할) 자료형;
삭제 : alter table 테이블명 drop 필드명;
수정 : alter table 테이블명 modify <<(자료형만 바꿀때 사용함) num int;<< 필드명 변경불가
-alter table 테이블명 change 기존필드명 바꿀필드명 자료형;
테이블,필드 확인 : desc board3 (테이블명);
max(필드) : 해당 필드에서 가장 높은 값
min(필드) : 해당 필드에서 가장 낮은 값
필드를 만들때 default(값)를 넣으면 생성 시 초기값을 주는것
ex) select max(id) from board;
mydb
테이블 : gesipan
필드
id int auto_increment primary key
title varchar(100)
pwd char(10)
content text
age int >> 10대,20대,30대,40대,50대,60대 이상
food char(15) 음식 6가지
birth char(4) 생년
writeday date
food같은 경우 6가지중 선택을 여러가지 할수 있게 배열로 만들어서 생성
ex)
String[] food = request.getParameterValues("food"); << 배열시 ParameterValue 사용
String fod ="";
for(int i=0;i<food.length;i++)
{
fod = fod + food[i]+",";
}
list ex)
<table width="700" border="1" align="center">
<tr align="center">
<td>나이</td>
<td>태어난해</td>
<td>제목</td>
<td>작성일</td>
</tr>
<%
while(rs.next())
{
String age2;
int age = rs.getInt("age");
switch(age)
{
case 0: age2="10대"; break;
case 1: age2="20대"; break;
case 2: age2="30대"; break;
case 3: age2="40대"; break;
case 4: age2="50대"; break;
case 5: age2="60대"; break;
default: age2="오류";
}
%>
<tr align="center">
<td><%=age2%></td>
<td><%=2023-rs.getInt("birth")%>년</td>
<td><a href="content.jsp?id=<%=rs.getString("id")%>"><%=rs.getString("title")%></td>
<td><%=rs.getString("writeday")%></td>
</tr>
<%
}
%>
content 문서에서 radio 와 checkbox 처리 하는 ex)
<%
radio 처리
String age;
switch(rs.getInt("age"))
{
case 0: age="10대";break;
case 1: age="20대";break;
case 2: age="30대";break;
case 3: age="40대";break;
case 4: age="50대";break;
case 5: age="60대";break;
default: age="오류";
}
checkbox 처리
String[] imsi = rs.getString("food").split(",");
"," split으로 ,를 없애주고 자동으로 배열로 생성해주기 때문에 배열로 생성
String food = "";
for(int i=0;i<imsi.length;i++)
{
switch(imsi[i])
{
case "0": food = food+"탕슉,";break;
case "1": food = food+"짜장,";break;
case "2": food = food+"짬뽕,";break;
case "3": food = food+"콩국수,";break;
case "4": food = food+"국밥,";break;
case "5": food = food+"떡볶이,";break;
default: food = food+"";
}
}
%>
조회수 증가 ex)
<%
String id = request.getParameter("id");
조회수를 1증가 시키기
String xsql = "update gesipan set readnum=readnum+1 where id=?";
PreparedStatement xpstmt = conn.prepareStatement(xsql);
xpstmt.setString(1, id);
xpstmt.executeUpdate();
xpstmt.close();
conn.close();
response.sendRedirect("content.jsp?id="+id);
%>
나이 : radio >> 해당되는 radio에 checked속성을 true로 전달하면 됨
document.ppp.age[<%=rs.getInt("age")%>].checked=true;
음식 : checkbox >> 해당되는 쳌박에 checked속성을 true로 전달 (1개 이상)
var imsi = "<%=rs.getString("food")%>";
var food = imsi.split(",");
for(var i=0;i<food.length-1;i++)
{
document.ppp.food[food[i]].checked=true;
}
생년 : select >> selectedIndex , value 이용하는 방법 2가지
document.ppp.birth.selectedIndex=<%rs.getInt("birth")%>;
벨류 값을 순서가 없는 텍스르로 했을경우 이렇게
document.ppp.birth.value=<%=rs.getInt("birth")%>;
테이블로 만드는것도 해봤다 나중에 연습해보자
아래는 필드내에 속성이 체크하는속성들일때 사용함 ex)
function init()
{
나이 : radio >> 해당되는 radio에 checked속성을 true로 전달하면 됨
document.ppp.age[<%=rs.getInt("age")%>].checked=true;
음식 : checkbox >> 해당되는 쳌박에 checked속성을 true로 전달 (1개 이상)
var imsi = "<%=rs.getString("food")%>";
var food = imsi.split(",");
for(var i=0;i<food.length-1;i++)
{
document.ppp.food[food[i]].checked=true;
}
생년 : select >> selectedIndex , value 이용하는 방법 2가지
document.ppp.birth.value=<%=rs.getInt("birth")%>;
}