'전체 글'에 해당되는 글 132건

데이터베이스 무결성 제약조건

Posted by PeEn
2019. 10. 2. 14:18 Programing/Database

외래키 FOREIGN KEY

* 참조된 테이블에 해당 값이 있어야만 데이터가 입력될 수 있음

*원본이 변경될 때 현 테이블 FOREIGN KEY에 영향을 받고 현 테이블의 값이 변경되어도
원본 데이터와는 무관하다.

CREATE TABLE "tlend" (
	"bno"	INTEGER,
	"mno"	INTEGER,
	"cdate"	TEXT,
	"days"	INTEGER,
	FOREIGN KEY(bno) REFERENCES tbook(no)
		ON DELETE SET NULL
		ON UPDATE CASCADE,
	FOREIGN KEY(mno) REFERENCES tmember(no)
		ON DELETE RESTRICT
		ON UPDATE NO ACTION
)

ON DLETE SET NULL == 참조된 값이 지워지면 NULL로 세팅

ON UPDATE CASCADE == 참조된 값이 수정되면 현 테이블도 수정

ON DELETE RESTRICT == 참조된 값이 지워지려 하면 거절시킨다

ON UPDATE NO ACTION == 참조된 값이 수정되면 아무 일도 하지 않음 

'Programing > Database' 카테고리의 다른 글

Oracle ALTER, DROP, RENAME, ent  (0) 2019.11.18
SQLITE 예제  (0) 2019.10.16
데이터베이스 WHERE 조건  (0) 2019.09.25
관계대수 JOIN  (0) 2019.09.23
데이터베이스 02.DDL, DML [CREATE,ALTER,DROP,INSERT, UPDATE, DELETE, SELECT]  (0) 2019.09.04

IIS 서버 HTML

Posted by PeEn
2019. 10. 1. 11:43 Programing/Web Programming

IIS 설치하기 https://offbyone.tistory.com/301

로컬호스트 저장하는 주소 C:\inetpub\wwwroot


GET : URL 주소 뒤에 파라미터를 붙여서 전달 (개인정보 노출)
request.queryString()

 

POST : 사용자가 입력한 내용이 URL 주소에 붙지 않아 보안이 유지된다.
request.form()

 

ASP 코드를 알려주는 태그

<%

    ASP 코드들 들어가는 자리

%>

 

텍스트 필드

<form>
이름: <input type="text" name="name"><br>
학번: <input type="text" name="number" size=10>
</form> 

패스워드 필드

<form>
패스워드: <input type="password" name="pass">
</form> 

라디오 버튼

<form>
    성별:
    <input type="radio" name="gender" value="male">남성
    <input type="radio" name="gender" value="female">여성
</form>

* name을 동일하게 해주지 않으면 두 버튼 모두 선택 가능하게 된다.!

체크박스

<form>
    과일 선택: 
    <input type="checkbox" name="fruits" value="apple" checked >Apple
    <input type="checkbox" name="fruits" value="grape">Grape
    <input type="checkbox" name="fruits" value="orange">Orange
</form>

제출 버튼 초기화

<form name="input" action="getid.jsp" method="get">
    사용자 아이디:
    <input type="text" name="user"> <br />
    <input type="submit" value="제출">
    <input type="reset" value="초기화">
</form>

예제 

폼 입력 예제

<html>
<head>
		<meta charset="utf-8">
</head>

<body>
	<H1>간단한 From 입력 예제
	<hr>
	정보 입력하기<p>
	이름 : <input type = "text" name="name"><p>
	이메일 : <input type = "email" name = "email"><p>
	패스워드 : <input type = "password" name = "passwd"><p>
	주민등록번호 : <input type = "text" name = "id"><p>
	현지날짜 : <input type = "date" name = "date"><p>
	학년 <input type = "radio" name = "grade" value="G1">1학년 
		<input type = "radio" name = "grade" value="G2">2학년 
		<input type = "radio" name = "grade" value="G3">3학년 
		<input type = "radio" name = "grade" value="G4">4학년<p>
	취미 <input type = "radio" name = "hoby" value="sports">스포츠 
		<input type = "radio" name = "hoby" value="trip">여행 
		<input type = "radio" name = "hoby" value="book">독서 
		<input type = "radio" name = "hoby" value="movie">영화감상<p>
	<input type ="submit" value="입력하기">
	<input type ="reset" value="초기화">
</body>

</html>

 

데이터베이스 WHERE 조건

Posted by PeEn
2019. 9. 25. 14:15 Programing/Database

tsungjuk 릴레이션에서 여자 중 영어성적이 60이상 90미만인 투플만 추출해보자

SELECT * FROM tsungjuk WHERE f_sex = "남“
INTERSECT
SELECT * FROM tsungjuk WHERE f_eng >= 60 AND f_eng < 90

 

tsungjuk 릴레이션에서 대학코드가 3,4,5에 속하는 투플을 추출해보자

SELECT * FROM tsungjuk WHERE f_no BETWEEN 3 AND 5
또는 아래로 사용할 수 있다
SELECT * FROM tsungjuk WHERE f_no IN(3,4,5)

 

tsungjuk 릴레이션과 tuniv 릴레이션을 자연조인하여 f_no, f_name, f_sex, f_univname, f_addr 애트리뷰트만 추출해보자
*f_univname는 임의로 이름을 지정해야 함

SELECT f_no, f_sex, tuniv.f_name AS "f_univname", f_addr
FROM tsungjuk JOIN tuniv ON f_univ = f_code

 

tsungjuk 릴레이션과 tuniv 릴레이션을 왼쪽 외부조인하여 f_no, f_name, f_sex, f_univname, f_addr 애트리뷰트만 추출해보자
*f_univname는 임의로 이름을 지정해야 함

SELECT f_no, tsungjuk.f_name, f_sex, tuniv.f_name AS "f_univname", f_addr
FROM tsungjuk LEFT OUTER JOIN tuniv ON f_univ = f_code

 

tsungjuk 릴레이션에서 전공 2과목의 합계가 140 이상인 투플만 추출해보자

SELECT * FROM tsungjuk WHERE (f_major1 + f_major2)>=140

관계대수 JOIN

Posted by PeEn
2019. 9. 23. 11:45 Programing/Database

세타 JOIN
= 이외의 연산자 이용

동등 JOIN
SELECT EMPNO, EMPNAME, DNO, DEPTNO, DEPTNAME 
FROM EMPLOYEE, DEPARTMENT
WHERE dno = deptno
(같은 값이 두번 나옴)

자연 JOIN
중복된 필드중 하나만 가져옴
SELECT EMPNO, EMPNAME, DNO, DEPTNAME 
FROM EMPLOYEE, DEPARTMENT
WHERE dno = deptno

JOIN문으로
SELECT EMPNO, EMPNAME, DNO, DEPTNAME 
FROM EMPLOYEE JOIN DEPARTMENT
ON dno = deptno

긴 문장 이름 지정해서 사용하기 AS
SELECT EM.EMPNO, EM.EMPNAME, EM.DNO, DE.DEPTNAME 
FROM EMPLOYEE AS EM JOIN DEPARTMENT AS DE
ON EM.dno = DE.deptno

출력 필드이름 임의로 변경하기 AS
SELECT EMPNO AS NO, EMPNAME, DNO, DEPTNAME 
FROM EMPLOYEE, DEPARTMENT
WHERE dno = deptno

4377 이성래 2 기획
3426 박영권 1 영업
3011 이수민 3 개발
3427 최종철 3 개발
1003 조민희 2 기획
2106 김창섭 2 기획
1365 김상원 1 영업

OUTTER 외부조인
* JOIN을 하면 교집합, 겹치는 값만 나온다.
LEFT OUTTER JOIN 교집합과 왼쪽에 있는 값들 모두 가져오기
*RIGHT OUTTER JOIN은 지원하지 않음

SELECT EM.EMPNO, EM.EMPNAME, EM.DNO, DE.DEPTNAME 
FROM EMPLOYEE AS EM LEFT OUTER JOIN DEPARTMENT AS DE
ON EM.dno = DE.deptno
4377 이성래 2 기획
3426 박영권 1 영업
3011 이수민 3 개발
3427 최종철 3 개발
1003 조민희 2 기획
2106 김창섭 2 기획
1365 김상원 1 영업


SELECT EM.EMPNO, EM.EMPNAME, EM.DNO, DE.DEPTNAME 
FROM DEPARTMENT AS DE LEFT OUTER JOIN EMPLOYEE AS EM 
ON EM.dno = DE.deptno

1365 김상원 1 영업
3426 박영권 1 영업
1003 조민희 2 기획
2106 김창섭 2 기획
4377 이성래 2 기획
3011 이수민 3 개발
3427 최종철 3 개발
                  총무

 

 

TCP Rasspberry Pi Python and Android Client

Posted by PeEn
2019. 9. 21. 23:01
보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

리눅스 명령어

Posted by PeEn
2019. 9. 19. 15:52 Programing/Linux

도움말 보기

--help


홈 디렉터리보기

pwd


UID GID (User id Group id)

cat /etc/passwd


유저 아이디 만들기

sudo useradd  [userid]


유저 아이디 만들기(유저폴더 만들기)

sudo useradd -m  [userid]


유저 아이디 지우기

sudo userdel [userid]


유저 아이디 지우기(유저폴더 지우기)

sudo userdel -r [userid[


리스트보기

ls

리스트 세로로 정렬해서 보기

ls -l

리스트 세로로 정렬하여 숨긴파일과 디렉터리구분까지 구분해서 보여줌

ls -alF


파일 경로로 이동

cd /[폴더이름]/[폴더이름]


ip관련 네트워크정보

ifconfig


날짜

date


자신의 호스트 이름

hostname


현제 사용하고 있는 운영체제

uname

uname -a


로그인한 사용자 조회

whoami


로그인 기록

who


로그인한 유저 개수

who | wc


특정 아이디 조회

who | grep a201500000


명령창 정리하기

clear


파일 복사

cp 복사할파일 복사명

cp /디렉터리명/파일 복사명


디렉터리 전체복사 

cp -r 디렉터리 복사할디렉터리명


파일 이동

mv 파일명 or 디렉터리명


파일 삭제

rm 파일명 or 디렉터리명


링크(바로가기) 하드링크

ln 파일명 바로가기명

링크(바로가기) 심블릭 링크

ln -s 파일명 바로가기명


파일 보기

cat 파일명


파일 쓰기

cat > 파일명  엔터

글 입력 후 ctl +d

 


파일속성의 종류

$ls -l b.txt

-rw-rw-r-- 3 lph lph 6  9월 23 13:25 b.txt
drwxr-xr-x 2 lph lph 4096  9월 16 13:30 다운로드
1    2      3    4   5    6             8          9

1 = 파일 종류 (d가 써있으면 디렉터리)

2 = 접근권한(r=읽기 w=쓰기 x=실행)

3 - 링크수

4 = 소유자명

5 = 그룹명

6 = 파일 크기

7= 최종수정시간

8 = 파일 이름


권한수정

ls -l | grep 777 파일명

777 = rwx rwx rwx

755 = rwxr - xr -x

684 = rw-rw-r--

644 = rw-r--r--

640 = rw-r----

700 = rwx------

2진수로 생각한다

이진수|십진수
0 0 0    |   0
0 0 1    |   1
0 1 0    |   2
0 1 1    |   3
1 0 0    |   4
1 0 1    |   5
1 1 0    |   6
1 1 1    |   7


파일이름 대치

* 빈문자열을 포함한 모든 문자
ls -l /dev/t*

? 임의의 한 문자
ls -l /dev/t??
(?? = 2글자의 임의의 글자)

[] 대괄호 사이의 문자 중 하나가 해당하는 것을 나타냄
ls -l /dev/[tv]*
(t나 v로 시작하는 글자)


명령어 대치

`명령어`
`와` 사이의 명령어를 명령어로 처리
('나 "와 같은 문자표시어가 아님!)


ps(proces)

UID 프로세스를 실행시킨 사용자 ID

PID 프로세스 번호

PPID 부모 프로세스 번호

C 프로세스의 우선순위

SITME 프로세스의 시작 시간

TTY 명령어가 시작된 터미널

TIME 프로세스에 사용된 CPU시간

CMD 실행되고 있는 명령어 이름


백그라운드 실행 &

(명령어)&

ex) (sleep 100;echo hi)&


전면작업(Foreground) %

fg %번호


ps 프로세스 목록


ps -ef 모든 프로세스 보기


지금 실행한 프로세서 강제종료 ctrl+z

'Programing > Linux' 카테고리의 다른 글

리눅스 정리2  (0) 2019.12.09
리눅스 정리  (0) 2019.12.02
Linux 입출력  (0) 2019.10.07

웹프로그래밍 2. 테이블

Posted by PeEn
2019. 9. 17. 11:55 Programing/Web Programming
<table border="1">

    <tr>
        <td>홍길동</td>
        <td>98</td>
    </tr>

    <tr>
        <td>김철수</td>
        <td>80</td>
    </tr>

</table>

테이블 생성

<table border= "픽셀값">


행 

<tr>......</tr>


<td>......</td>


머리글

<th>......</th>

* 볼드체, 중앙정렬


행 셀 병합

<td rowspan="합칠 개수">.....</td>

열 셀 병합

<td colspan="합칠 개수">......</td>

<table border="1">
    <tr>
        <th>1열</th>
        <th>2열</th>
        <th>3열</th>
    </tr>
    <tr>
        <td rowspan="2">1행 1열</td>
        <td>1행 2열</td>
        <td>1행 3열</td>
    </tr>
    <tr>
        <td>2행 2열</td>
        <td>2행 3열</td>
    </tr>
    <tr>
        <td colspan="3">3행 1열</td>
    </tr>
</table>


테이블 캡션(제목)

<capthon>......</capthon>

<table border="1">
    <caption>
        최근에 본 영화들
    </caption>
    <tr>
        <th>영화제목</th>
        <th>연도</th>
        <th>감독</th>
        <th>평가</th>
    </tr>
...
</table>

 


<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>TABLE</title>
	
</head>
	
<body>
	<center>
	<table border="3" width = "600" heigh = "300">
		<tr>
			<td BGCOLOR =red colspan="5" ><center> 비상연락망</center></td>		
		</tr>
		
		<tr>
			<td rowspan="2">연락처</td>
			<td>집</td>
			<td>010-3333-55555</td>
			<td rowspan="2">전자우편</td>

			<td rowspan="2">emsie@naver.com</td>
		</tr>
		
		<tr>
			<td>연락처</td>
			<td>063-6666-87887</td>
		</tr>
		
		<tr>
			
		</tr>

	</table>
	</center>

</body>
</html>

웹프로그래밍 2. 페이지 이동 및 사진, 글자 정렬 실습

Posted by PeEn
2019. 9. 17. 11:26 Programing/Web Programming

페이지 이동 및 사진, 글자 정렬

소스코드 photo3

<!-- photo3.html -->

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>Photo Album</title>
	
</head>
	
<body BGCOLOR = FFCC99>
	<center><h1>포토 앨범</h1></center>
	<hr size=2 color=red align = left>
	<img src="C:\Users\smart\Desktop\201562054\Flower1.jpg" align=left>아름다운 꽃
	<br clear = left>
	<hr size=2 color=blue align = left>
	<img src="C:\Users\smart\Desktop\201562054\Flower2.jpg" align=left>노란
	<br clear = left>
	<hr size=2 color=green align = left>
	<center> 1 
		<a href="photo4.html" target=_self>2</a>
		<a href="photo5.html" target=_self>3</a>
	 </center>

</body>
</html>

소스코드 photo4

<!-- photo4.html -->

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>Photo Album</title>
	
</head>
	
<body BGCOLOR = FFCC99>
	<center><h1>포토 앨범</h1></center>
	<hr size=2 color=red align = left>
	<img src="C:\Users\smart\Desktop\201562054\Flower3.jpg" align=left>분홍
	<br clear = left>
	<hr size=2 color=blue align = left>
	<img src="C:\Users\smart\Desktop\201562054\Flower4.jpg" align=left>그린
	<br clear = left>
	<hr size=2 color=green align = left>
	<center> <a href="photo3.html" target=_self>1</a>
		2
		<a href="photo5.html" target=_self>3</a>
	 </center>
</body>
</html>

소스코드 photo5

<!-- photo5.html -->

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>Photo Album</title>
	
</head>
	
<body BGCOLOR = FFCC99>
	<center><h1>포토 앨범</h1></center>
	<hr size=2 color=red align = left>
	<img src="C:\Users\smart\Desktop\201562054\Flower5.jpg" align=left>흰색꽃
	<br clear = left>
	<hr size=2 color=blue align = left>
	<img src="C:\Users\smart\Desktop\201562054\Flower6.jpg" align=left>나무에 흰
	<br clear = left>
	<hr size=2 color=green align = left>
	<center> <a href="photo3.html" target=_self>1</a>
		<a href="photo4.html" target=_self>2</a>
		3
	 </center>
</body>
</html>

 

웹프로그래밍 1. html 기본요소

Posted by PeEn
2019. 9. 10. 11:47 Programing/Web Programming

1, 기본 구조

<!DOCTYPE html>
<html>
 <body>
  안녕하세요?
  텍스트는 body태그 안에 특별한 태그 없이 입력할 수 있지만 
  단락을 사용하지 않으면 전체가 연결되어서 한줄로 표시됩니다.
 </body>
</html>

2. <p> 단락

<!DOCTYPE html>
<html>
 <body>
  <p>이것이 하나의 단락입니다.</p>
  <p>이것이 하나의 단락입니다.</p>
  <p>이것이 하나의 단락입니다.</p>
 </body>
</html>

3. <br> 강제 줄 바꿈

<!DOCTYPE html>
<html>
 <body>
  <p>여기는 <br>br태그를 사용하여 <br>줄을 바꾸었습니다.
  </p>
 </body>
</html>

!! html에서는 코드에서 엔터키를 눌러주어 줄을 바꾸었다고해서 웹 브라우저에서 줄을 바꾸어주지 않는다.

<!DOCTYPE html>
<html>
<body>
<p>
아주 먼 옛날 바닷가 어느 왕국에

애나벨리라는 이름을 가진

한 소녀가 살고 있었지요.
그 소녀는 날 사랑했었지요.
</p>
</body>
</html>

4. <pre> 코드에서 작성한 그대로 표현하고자 할때 사용. 스페이스, 탭, 줄바꿈 그로 유지

<!DOCTYPE html>
<html>
<body>
<pre>
아주 먼 옛날 바닷가 어느 왕국에

애나벨리라는 이름을 가진

한 소녀가 살고 있었지요.
그 소녀는 날 사랑했었지요.
</pre>
</body>
</html>

5. <h> 해딩, 머리글 쓸때

<!DOCTYPE html>
<html>
<body>

<h1>이것이 heading 1 입니다.</h1>
<h2>이것이 heading 2 입니다.</h2>
<h3>이것이 heading 3 입니다.</h3>
<h4>이것이 heading 4 입니다.</h4>
<h5>이것이 heading 5 입니다.</h5>
<h6>이것이 heading 6 입니다.</h6>

</body>
</html>
<!DOCTYPE html>
	<head>
		<meta charset="utf-8">
		<title>Web Coffe</title>
	</head>
	<body>
		<h1>Web 커피 메뉴</h1>
		<h2>아메리카노 5000원</h2>
		<p>에스프레소에 물을 추가한 것입니다.</p>
		<h2>카페오레 6000원</h2>
		<p>에스프레소에 우유을 추가한 커피입니다.</p>
		<h2>카푸치노 6000원</h2>
		<p>커피 위에 우유거품을 얹은 커피입니다.</p>
	</body>
</html>

6. 주석처리

<!--   -->

7. 텍스트 서식

<!DOCTYPE html>
<html>
<body>

<p><b>이 텍스트는 bold입니다.</b></p>
<p><strong>이 텍스트는 strong입니다.</strong></p>
<p><i>이 텍스트는 italic입니다.</i></p>
<p><em>이 텍스트는 emphasized입니다.</em></p>
<p><code>이 텍스트는 code입니다.</code></p>
<p><sub> subscript</sub> 이고 <sup>superscript</sup>
입니다.</p>

</body>
</html>

8. 수평선 

<!DOCTYPE html>
<html>
<body>
    이것이 수평선입니다.
    <hr >
    수평선이었습니다.
</body>
</html>

 

<!DOCTYPE html>
<html>
<body>
    이것이 수평선입니다.
    <hr size=5 with=50% color=red align=left>
</body>
</html>

 

9. 특수문자

10. <ul>번호가 없는 리스트

<ul>
    <li>에스프레소</li>
    <li>아메리카노</li>
    <li>카페라떼</li>
</ul> 

11. <ol>번호가 있는 리스트

<ol>
    <li>에스프레소</li>
    <li>아메리카노</li>
    <li>카페라떼</li>
</ol>

ol type 종류 : 1, a, A, I, i

<ol type =I>
    <li>에스프레소li>
    <li>아메리카노li>
    <li>카페라떼li>
ol>
<!DOCTYPE html>
	<head>
		<meta charset="utf-8">
		<title>Web Coffe</title>
	</head>
	<body>
		<ol type=I>
			<li>에스프레소</li>
				<ol>
					<li>특징</li>
					<li>제조방법</li>
				</ol>
			<li>아메리카노</li>
				<ol>
					<li>특징</li>
					<li>제조방법</li>
				</ol>		
			<li>카페라떼</li>
				<ol>
					<li>특징</li>
					<li>제조방법</li>
				</ol>	
		</ol>
	</body>
</html>

12. <dl> 정의(설명)가 표시되는 리스트, <dt>항목별 연결, <dd>공백을 띄어주는 역할

<dl>
    <dt>에스프레소</dt>
    	<dd>- 커피의 기본, 커피의 원액이다.</dd>
    <dt>아메리카노</dt>
 	 <dd>- 에스프레소에 물을 넣은 것</dd>
    <dt>카페라떼</dt>
    	<dd>- 커피에 우유를 섞은 것</dd>
</dl>

13. <a>anchor, 어떠한 문서, 단어, 이미지와 연결

<!DOCTYPE html>
<html>
<body>
    <a href="http://www.google.com" target="_blank">
google.com 방문</a>
    <p>
        target 속성이 "_blank"이므로 , 
링크는 새로운 탭에서 열립니다.
    </p>
</body>
</html>

14. id속성, 동일하거나 다른 파일로 이동할 때 id 값을 부여하여 연결해줌

<!DOCTYPE html>
<html>
<body>
    <a href="#section1">참고 사항으로 가려면 여기를 클릭하세요.</a>
    <p> Hello World!</p>
    <p> Hello World!</p>
    <p> Hello World!</p>
    <hr />
    <a id="section1">참고 사항</a>
    <hr />
    <p> 동일한 페이지 안에서도 점프할 수 있습니다. </p>
</body>
</html>

<body>
  <a id="section1">

 <a href="link_id_2.html#section2">
link_id_2.html 파일의 참고 사항으로 가려면 여기를 클릭하세요.</a>

    <p> Hello World!</p>
    <p> Hello World!</p>
    <p> Hello World!</p>
    <p> Hello World!</p>
    <p> Hello World!</p>

</body>
<body>
   <p> Hello World!</p>
    <p> Hello World!</p>
    <p> Hello World!</p>
    <p> Hello World!</p>

<a id="section2">  <h2> <u>link_id_2 참고사항</u> </h2>  </a>

<p> 참고사항입니다.</p>
<p> 참고사항입니다.</p>
<p> 참고사항입니다.</p>
<p> 참고사항입니다.</p>
<p> 참고사항입니다.</p>
<p> 참고사항입니다.</p>

<a href="link_id_1.html#section1"> link_id_1.html로 이동 </a>
</body>

15. <img> 이미지 태그

<!DOCTYPE html>
<html>
<body>

    <h2>설악산</h2>

    <img align=left border="0" src="seolak.jpg" alt="설악산"
        width="300" height="230">
</body>
</html>

* align = 정렬 코드, 이 속성이 없으면 다음에 나오는 글자가 바로 옆으로 따라온다.

* align을 사용하지 않고 글자를 사진 오른쪽에 놓고 글자를 쓴 다음 사진 밑으로 가고 싶을 때

<br clear = left> 태그를 이용한다.

 

 

 

 

라즈베리파이, LED와 초음파센서 DB저장

Posted by PeEn
2019. 9. 7. 00:21 Programing/Raspberry Pi)

라즈베리파이, 초음파 센서를 이용해 초음파센서에 물체가 다가오면 LED 작동하고 그 시간을 DB에 저장한다

LED와 초음파센서 작동 게시물 이동 링크

이하 DB저장까지 코드

import RPi.GPIO as gpio
import time
import sys
import warnings
import  sqlite3
from datetime import datetime
warnings.filterwarnings('ignore')

#sql
table = "inout_"
sqlselect = "select * from "+table
con = sqlite3.connect("INOUT_DATA.db")
cur = con.cursor()
#____

LED = 4
TRIGER = 24
ECHO = 23

gpio.setmode(gpio.BCM)
gpio.setup(TRIGER, gpio.OUT)
gpio.setup(ECHO,gpio.IN)
gpio.setup(LED, gpio.OUT)
startTime = time.time()

try:
    while True:
        gpio.output(TRIGER,gpio.LOW)
        time.sleep(0.1)
        gpio.output(TRIGER,gpio.HIGH)
        time.sleep(0.00002)
        gpio.output(TRIGER,gpio.LOW)

        while gpio.input(ECHO) == gpio.LOW:
            startTime = time.time()

        while gpio.input(ECHO) == gpio.HIGH:
            endTime = time.time()

        period = endTime - startTime
        dist1 = round(period * 1000000 / 58, 2)
        dist2 = round(period * 17241, 2)
        try:
            if dist2 <= 20:
                print('error124')
                gpio.output(LED, gpio.HIGH)
                time.sleep(1)
                gpio.output(LED, gpio.LOW)
                time.sleep(1)
                cur.execute("insert into " + table + " (Date) VALUES(\""+str(datetime.now())+"\")")
                con.commit()

                cur.execute(sqlselect)
                print("1\t2")
                print("______")

                while (True):
                    row = cur.fetchone()
                    if row == None:
                        break;
                    print(row[0], row[1])


        except KeyboardInterrupt:
            print("error")
        print('Dist1', dist1, 'cm', ', Dist2', dist2, 'cm')

    con.close()
except KeyboardInterrupt:
    gpio.cleanup()
    sys.exit()