반응형

[MariaDB] 마리아DB PHP - PHP와 MariaDB를 이용한 이용자 관리 시스템 (MySQL)

 

이용자 관리 시스템 초기화면 (HTML)

<HTML>
<HEAD>
<META http-equiv="content-type" content="text/html; charset=utf-8">
</HEAD>
<BODY>

<h1> 이용자 관리 시스템 </h1>

<a href='select.php'> (1) 이용자 조회 (조회 후 수정/삭제 가능) </a> <br><br>	<!-- 이용자조회 페이지 링크 -->
<a href='insert.php'> (2) 신규 이용자 등록 </a> <br><br>	<!-- 이용자 추가 페이지 링크 -->
<FORM METHOD="get"  ACTION="update.php">	<!-- 이용자 수정시 get방식으로 update.php 페이지로 전송 -->
	(3) 이용자 수정 - 이용자 아이디 : <INPUT TYPE ="text" NAME="userID"> 	<!-- userID 값을 넘겨줌 -->
	<INPUT TYPE="submit"  VALUE="수정">	<!-- update.php로 보내는 전송버튼 -->
</FORM>
<FORM METHOD="get"  ACTION="delete.php">	<!-- 이용자 삭제시 -->
	(4) 이용자 삭제 - 이용자 아이디 : <INPUT TYPE ="text" NAME="userID"> 
	<INPUT TYPE="submit"  VALUE="삭제">
</FORM>

</BODY>
</HTML>

 

(1) 이용자조회 화면 (select.php)

<?php
   $con=mysqli_connect("localhost", "root", "1234", "phpDB") or die("MariaDB 접속 실패 !!");

   $sql ="SELECT * FROM userTbl";	// 변수 $sql에 select 문을 입력
 
   $ret = mysqli_query($con, $sql);   // 변수 $ret에 mysqli_query 내장함수 입력 (접속변수, 셀렉트변수)
   if($ret) {	
	   $count = mysqli_num_rows($ret);	// 정상 실행 시 변수 $count에 행수를 입력
   }
   else {
	   echo "userTbl 데이터 조회 실패!!!"."<br>";
	   echo "실패 원인 :".mysqli_error($con);
	   exit();
   } 
   
   echo "<h1> 이용자 조회 결과 </h1>";
   echo "<TABLE border=1>";
   echo "<TR>";
   echo "<TH>아이디</TH><TH>이름</TH><TH>출생년도</TH><TH>지역</TH><TH>국번</TH>";
   echo "<TH>전화번호</TH><TH>키</TH><TH>가입일</TH><TH>수정</TH><TH>삭제</TH>";
   echo "</TR>";
   
   while($row = mysqli_fetch_array($ret)) {	// 한행씩 가져오는 내장함수. 행이 끝나면 false가 됨
	  echo "<TR>";
	  echo "<TD>", $row['userID'], "</TD>";
	  echo "<TD>", $row['name'], "</TD>";
	  echo "<TD>", $row['birthYear'], "</TD>";
	  echo "<TD>", $row['addr'], "</TD>";
	  echo "<TD>", $row['mobile1'], "</TD>";
	  echo "<TD>", $row['mobile2'], "</TD>";
	  echo "<TD>", $row['height'], "</TD>";
	  echo "<TD>", $row['mDate'], "</TD>";
	  echo "<TD>", "<a href='update.php?userID=", $row['userID'], "'>수정</a></TD>";	// 수정 클릭 시 update.php로 userid값을 넘겨줌
	  echo "<TD>", "<a href='delete.php?userID=", $row['userID'], "'>삭제</a></TD>";	// 삭제 클릭 시 delete.php로 userid값을 넘겨줌
	  echo "</TR>";	  
   }   
   mysqli_close($con);
   echo "</TABLE>"; 
   echo "<br> <a href='main.html'> <--초기 화면</a> ";
?>

 

(2) 신규 이용자 등록 (insert.php)

<HTML>
<HEAD>
<META http-equiv="content-type" content="text/html; charset=utf-8">
</HEAD>
<BODY>

<h1> 신규 이용자 입력 </h1>
<FORM METHOD="post"  ACTION="insert_result.php">	// post방식으로 insert_result.php로 자료 전송
	아이디 : <INPUT TYPE ="text" NAME="userID"> <br>
	이름 : <INPUT TYPE ="text" NAME="name"> <br> 
	출생년도 : <INPUT TYPE ="text" NAME="birthYear"> <br>
	지역 : <INPUT TYPE ="text" NAME="addr"> <br>
	휴대폰 국번 : <INPUT TYPE ="text" NAME="mobile1"> <br>
	휴대폰 전화번호 : <INPUT TYPE ="text" NAME="mobile2"> <br>
	신장 : <INPUT TYPE ="text" NAME="height"><br>
	<BR><BR>
	<INPUT TYPE="submit"  VALUE="이용자 입력">
</FORM>

</BODY>
</HTML>

 

이용자 입력 클릭 시 받아주는 insert_result.php

<?php
   $con=mysqli_connect("localhost", "root", "1234", "sqlDB") or die("MySQL 접속 실패 !!");

   $userID = $_POST["userID"];
   $name = $_POST["name"];
   $birthYear = $_POST["birthYear"];
   $addr = $_POST["addr"];
   $mobile1 = $_POST["mobile1"];
   $mobile2 = $_POST["mobile2"];
   $height = $_POST["height"];   
   $mDate = date("Y-m-j");
   
   $sql =" INSERT INTO userTbl VALUES('".$userID."','".$name."',".$birthYear.",'".$addr."','".$mobile1."','".$mobile2."',".$height.",'".$mDate."')";
   // 데이터 인서트
   
   $ret = mysqli_query($con, $sql);
 
    echo "<h1> 신규 이용자 입력 결과 </h1>";
   if($ret) {
	   echo "데이터가 성공적으로 입력됨.";
   }
   else {
	   echo "데이터 입력 실패!!!"."<br>";
	   echo "실패 원인 :".mysqli_error($con);
   } 
   mysqli_close($con);
   
   echo "<br> <a href='main.html'> <--초기 화면</a> ";
?>

 

 

 

(3) 이용자 정보 수정 (update.php)

<?php
   $con=mysqli_connect("localhost", "root", "1234", "sqlDB") or die("MariaDB 접속 실패 !!");
   $sql ="SELECT * FROM userTbl WHERE userID='".$_GET['userID']."'";	// get방식으로 userID를 받아서 셀렉트

   $ret = mysqli_query($con, $sql);   
   if($ret) {
	   $count = mysqli_num_rows($ret);
	   if ($count==0) {
		   echo $_GET['userID']." 아이디의 이용자이 없음!!!"."<br>";
		   echo "<br> <a href='main.html'> <--초기 화면</a> ";
		   exit();	
	   }		   
   }
   else {
	   echo "데이터 조회 실패!!!"."<br>";
	   echo "실패 원인 :".mysqli_error($con);
	   echo "<br> <a href='main.html'> <--초기 화면</a> ";
	   exit();
   }   
   $row = mysqli_fetch_array($ret);
   $userID = $row['userID'];
   $name = $row["name"];
   $birthYear = $row["birthYear"];
   $addr = $row["addr"];
   $mobile1 = $row["mobile1"];
   $mobile2 = $row["mobile2"];
   $height = $row["height"];   
   $mDate = $row["mDate"];      
?>

<HTML>
<HEAD>
<META http-equiv="content-type" content="text/html; charset=utf-8">
</HEAD>
<BODY>

<h1> 이용자 정보 수정 </h1>
<FORM METHOD="post"  ACTION="update_result.php">	// 수정한 값을 post 형식으로 update_resule.php 로 전송
	아이디 : <INPUT TYPE ="text" NAME="userID" VALUE=<?php echo $userID ?> READONLY> <br>	// 읽기만 가능하도록 값을 불러옴(READONLY)
	이름 : <INPUT TYPE ="text" NAME="name" VALUE=<?php echo $name ?>> <br> 
	출생년도 : <INPUT TYPE ="text" NAME="birthYear" VALUE=<?php echo $birthYear ?>> <br>
	지역 : <INPUT TYPE ="text" NAME="addr" VALUE=<?php echo $addr ?>> <br>
	휴대폰 국번 : <INPUT TYPE ="text" NAME="mobile1" VALUE=<?php echo $mobile1 ?>> <br>
	휴대폰 전화번호 : <INPUT TYPE ="text" NAME="mobile2" VALUE=<?php echo $mobile2 ?>> <br>
	신장 : <INPUT TYPE ="text" NAME="height" VALUE=<?php echo $height ?>> <br>
	이용자가입일 : <INPUT TYPE ="text" NAME="mDate" VALUE=<?php echo $mDate ?> READONLY><br>
	<BR><BR>
	<INPUT TYPE="submit"  VALUE="정보 수정">
</FORM>

</BODY>
</HTML>

 

이용자 입력 클릭 시 받아주는 update_result.php

<?php
   $con=mysqli_connect("localhost", "root", "1234", "sqlDB") or die("MariaDB 접속 실패 !!");

   $userID = $_POST["userID"];
   $name = $_POST["name"];
   $birthYear = $_POST["birthYear"];
   $addr = $_POST["addr"];
   $mobile1 = $_POST["mobile1"];
   $mobile2 = $_POST["mobile2"];
   $height = $_POST["height"];   
   $mDate = $_POST["mDate"]; 
   
   $sql ="UPDATE userTbl SET name='".$name."', birthYear=".$birthYear", addr='".$addr."', mobile1='".$mobile1."',mobile2='".$mobile2"', height=".$height.", mDate='".$mDate."' WHERE userID='".$userID."'";
   // 변수로 입력받은 post값들을 update 함
   
   $ret = mysqli_query($con, $sql);
 
    echo "<h1> 회원 정보 수정 결과 </h1>";
   if($ret) {
	   echo "데이터가 성공적으로 수정됨.";
   }
   else {
	   echo "데이터 수정 실패!!!"."<br>";
	   echo "실패 원인 :".mysqli_error($con);
   } 
   mysqli_close($con);
   
   echo "<br> <a href='main.html'> <--초기 화면</a> ";
?>

 

 

(4) 이용자 정보 삭제 (delete.php)

<?php
   $con=mysqli_connect("localhost", "root", "1234", "sqlDB") or die("MariaDB 접속 실패 !!");
   $sql ="SELECT * FROM userTbl WHERE userID='".$_GET['userID']."'";	// get으로 전달 받은 userID로 셀렉트 하는 쿼리를 변수 $sql에 저장

   $ret = mysqli_query($con, $sql);   
   if($ret) {
	   $count = mysqli_num_rows($ret);
	   if ($count==0) {
		   echo $_GET['userID']." 아이디의 이용자이 없음!!!"."<br>";
		   echo "<br> <a href='main.html'> <--초기 화면</a> ";
		   exit();	
	   }		   
   }
   else {
	   echo "데이터 조회 실패!!!"."<br>";
	   echo "실패 원인 :".mysqli_error($con);
	   echo "<br> <a href='main.html'> <--초기 화면</a> ";
	   exit();
   }   
   $row = mysqli_fetch_array($ret);	// 변수 $row에 한행씩 입력
   $userID = $row['userID'];
   $name = $row["name"];
   
?>

<HTML>
<HEAD>
<META http-equiv="content-type" content="text/html; charset=utf-8">
</HEAD>
<BODY>

<h1> 이용자 삭제 </h1>
<FORM METHOD="post"  ACTION="delete_result.php">	// post 형식으로 delete_result.php로 전송
	아이디 : <INPUT TYPE ="text" NAME="userID" VALUE=<?php echo $userID ?> READONLY> <br>
	이름 : <INPUT TYPE ="text" NAME="name" VALUE=<?php echo $name ?> READONLY> <br> 
	<BR><BR>
	위 이용자을 삭제하겠습니까?	
	<INPUT TYPE="submit"  VALUE="이용자 삭제">
</FORM>

</BODY>
</HTML>

 

이용자 삭제 클릭 시 받아주는 delete_result.php

<?php
   $con=mysqli_connect("localhost", "root", "1234", "sqlDB") or die("MariaDB 접속 실패 !!");

   $userID = $_POST["userID"];
     
   $sql ="DELETE FROM userTbl WHERE userID='".$userID."'";	// delete 쿼리를 변수에 담음
   
   $ret = mysqli_query($con, $sql);
 
    echo "<h1> 이용자 삭제 결과 </h1>";
   if($ret) {
	   echo $userID." 이용자이 성공적으로 삭제됨..";
   }
   else {
	   echo "데이터 삭제 실패!!!"."<br>";
	   echo "실패 원인 :".mysqli_error($con);
   } 
   mysqli_close($con);
   
   echo "<br><br> <a href='main.html'> <--초기 화면</a> ";
?>

 

 

[MariaDB] 전체보기

 

'MariaDB' 카테고리의 글 목록

전산 관련 경험을 기록 하는 곳

reddb.tistory.com

반응형
반응형

[MariaDB] 마리아DB SQL 쿼리 기본 - INSERT, UPDATE, DELETE (MySQL)

 

INSERT 기본형식

USE DB명;
CREATE TABLE 테이블명 (열이름1 INT, 열이름2 CHAR(3), 열이름3 INT);
INSERT INTO 테이블명 VALUES (1,'김이박', 30); -- 위 테이블에 생성된 열이름 순서에 맞게 INSERT 됨

INSERT INTO 테이블명(열이름1, 열이름2) VALUES (2, '박서왕'); -- 열이름3에는 NULL값이 입력됨

INSERT INTO 테이블명(열이름3, 열이름1, 열이름2) VALUES (40, 3, '이전심'); -- 열이름 3,1,2 순서로 입력됨

 

AUTO_INCREMENT(순서열 같은 경우 자동으로 1부터 증가된 값을 입력해주는 기능)

USE DB명;
CREATE TABLE 테이블명
  (순서열이름  int AUTO_INCREMENT PRIMARY KEY,  -- 순서열이름 열은 자동증가, 기본키
   열이름2 char(3), 
   열이름3 int );
INSERT INTO 테이블명 VALUES (NULL, '곽민아', 35); -- NULL 값이 아닌 1이 입력됨
INSERT INTO 테이블명 VALUES (NULL, '서나리', 32); -- 2가 입력됨
INSERT INTO 테이블명 VALUES (NULL, '유은성', 31); -- 3이 입력됨

 

다른 테이블의 조회값을 INSERT 하기

USE DB명;
CREATE TABLE 테이블명 (열이름1 int, 열이름2 varchar(50), 열이름3 varchar(50));
INSERT INTO 테이블명
  SELECT 조회열1, 조회열2, 조회열3  -- 인서트할 테이블의 열과 같은 수, 같은 데이터형식을 SELECT 해야함
    FROM 조회DB.조회테이블 ;

 

 

UPDATE (데이터 수정)

USE DB명;
UPDATE 테이블명 SET 열이름 = 바꿀값 WHERE 조건문;

// 예시
UPDATE 테이블명 SET 가격열 = 가격열 * 10; -- 가격열의 값을 모두 10을 곱하여 변경

 

조건부 데이터 입력(INSERT), 변경(UPDATE)

INSERT INTO 테이블명 VALUES('값1' , '값2', '값3')  -- 값1,2,3을 테이블에 입력합니다.
	ON DUPLICATE KEY UPDATE 열이름2='값2', 열이름3='값3';  -- 만약 기본키가 중복되면 열이름2를 값2로, 열이름3을 값3로 업데이트합니다.

 

 

DELETE FROM (행단위 삭제)

USE DB명;
DELETE FROM 테이블명 WHERE 조건문;

//예시
DELETE FROM 테이블명 WHERE 이름열 = '김이박'; -- 이름열 값이 김이박인 행들을 모두 지움

 

DELETE, DROP, TRUNCATE 차이

DELETE FROM 테이블명;	-- DML문. 트랜젝션 로그를 기록하여 느림. 테이블 모든 행 삭제.
DROP TABLE 테이블명;	-- DDL문. 트랜젝션 발생하지 않아 빠름. 테이블 자체를 삭제.
TRUNCATE TABLE 테이블명;	-- DDL문. 트렌젝션을 발생하지 않아 빠름. 테이블의 모든 행 삭제

 

 

[MariaDB] 전체보기

 

'MariaDB' 카테고리의 글 목록

전산 관련 경험을 기록 하는 곳

reddb.tistory.com

반응형
반응형

 

(PYTHON)파이썬 리스트 LIST

 

리스트 만들기

>>> #비어있는 리스트 만들기 방법1
>>> 리스트1 = []
>>> print(리스트1)
[]
>>> 
>>> #비어있는 리스트 만들기 방법2
>>> 리스트2 = list()
>>> print(리스트2)
[]


>>>#여러 값들이 들어 있는 리스트 만들기 방법1
>>> 리스트1 = [10, 20, 30]
>>> print(리스트1)
[10, 20, 30]
>>> 
>>>#여러 값들이 들어 있는 리스트 만들기 방법2
>>> 리스트2 = list([100, 200, 300])
>>> print(리스트2)
[100, 200, 300]


>>>#매트릭스 리스트 만들기 및 사용하기
>>> 매트릭스 = [[1,2,3],[4,5,6,7],[8.9]]
>>> print(매트릭스)
[[1, 2, 3], [4, 5, 6, 7], [8.9]]
>>> print(매트릭스[0])
[1, 2, 3]
>>> print(매트릭스[1][1])
5
>>> print(매트릭스[2][0])
8.9
>>> 

 

 

range 함수

함수 사용 생성되는 수열 비고
range(1, 10, 1) [1, 2, 3, 4, 5, 6, 7, 8, 9] 1부터 저장하며 1씩 증가하다 10이되면 저장하지 않고 빠저나감
range(10, 51, 10) [10, 20, 30, 40, 50] 10부터 저장하며 10씩 증가하다 51과 같거나 큰수가 되면 저장하지 않고 빠져나감
range(1,10) [1, 2, 3, 4, 5, 6, 7, 8, 9] 1부터 저장하며 기본값인 1씩 증가하다 10이되면 저장하지 않고 빠저나감
range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 기본값인 0부터 저장하며 기본값인 1씩 증가하다 10이되면 저장하지 않고 빠저나감
>>> a = list(range(1,10,1))
>>> b = list(range(10,51,10))
>>> c = list(range(1,10))
>>> d = list(range(10))
>>> 
>>> print(a)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print(b)
[10, 20, 30, 40, 50]
>>> print(c)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print(d)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

 

 

리스트 인덱스 사용하기

>>> 리스트인덱스사용 = [100, 200, 300]
>>> 리스트인덱스사용[0] = 10
>>> 리스트인덱스사용[1] = 30
>>> 리스트인덱스사용[2] = 리스트인덱스사용[0] + 리스트인덱스사용[1]
>>> 
>>> print(리스트인덱스사용)
[10, 30, 40]

 

 

리스트 값 추가하기

>>> 값뒤추가 = [10, 20 ,30]
>>> 값뒤추가.append(40)
>>> 값뒤추가.append(500)
>>> print(값뒤추가)
[10, 20, 30, 40, 500]


>>> 중간추가 = [10, 20, 30]
>>> 중간추가.insert(0,0)
>>> 중간추가.insert(2,50)
>>> 
>>> print(중간추가)
[0, 10, 50, 20, 30]

 

 

두 개의 리스트 연결하기

>>> a = [1, 2, 3]
>>> b = [10.1, 20,2, 30.3]
>>>
>>> a.extend(b)
>>>
>>> print(a)
[1, 2, 3, 10.1, 20, 2, 30.3]
>>> print(b)
[10.1, 20, 2, 30.3]


>>> c = [4, 5, 6]
>>> d = [40.4, 50.5, 60.6]
>>> 
>>> c = c + d
>>> 
>>> print(c)
[4, 5, 6, 40.4, 50.5, 60.6]
>>> print(d)
[40.4, 50.5, 60.6]

 

 

 

 리스트 활용 함수들

함수명 기능 명령 예(a = [1, 2, 3]
append 리스트의 맨 뒤에 새로운 항목을 추가한다. a.append(10)
insert 리스트의 특정 위치(인덱스)에 항목을 삽입한다. a.insert(2,10)
extend 원래의 리스트에 다른 리스트를 연결한다. a.extend([4,5,6])
count 리스트에 포함된 특정 값의 항목의 개수를 리턴한다. a.count(2)
remove 리스트에서 입력된 값과 같은 항목들을 모두 지운다. a.remove(2)
index 특정 값의 리스트에서의 위치, 즉 인덱스를 알려준다. a.index(3)
sort 리스트의 값들을 오름차순으로 정렬한다. a.sort()
reverse 리스트의 순서를 거꾸로 바꾼다. a.reverse()
pop 맨 뒤에 있는 항목을 리턴하고, 리스트에서 삭제한다. a.pop()
>>> #conut 함수
>>> a = [10, 20, 10, 20, 10]
>>> a.count(10)
3
>>> a.count(20)
2
>>> a.count(30)
0


>>> #remove 함수
>>> a = [10, 20, 30, 40, 50]
>>> print(a)
[10, 20, 30, 40, 50]
>>> a.remove(30)
>>> print(a)
[10, 20, 40, 50]


>>> #index 함수
>>> a = [10, 20, 30, 40, 50]
>>> a.index(10)
0
>>> a.index(20)
1
>>> a.index(40)
3


>>> #sort 함수
>>> a = [10, 20, 30, 40, 50]
>>> a.insert(2, 60)
>>> print(a)
[10, 20, 60, 30, 40, 50]
>>> a.sort()
>>> print(a)
[10, 20, 30, 40, 50, 60]


>>> #reverse 함수
>>> a = [10, 20, 30, 40, 50]
>>> a.reverse()
>>> print(a)
[50, 40, 30, 20, 10]


>>> #pop 함수
>>> a = [10, 20, 30, 40, 50]
>>> a.pop()
50
>>> a.pop()
40
>>> print(a)
[10, 20, 30]

 

 

(PYTHON)파이썬 전체보기

 

'(PYTHON)파이썬' 카테고리의 글 목록

전산 관련 경험을 기록 하는 곳

reddb.tistory.com

 

반응형

'(PYTHON)파이썬' 카테고리의 다른 글

(PYTHON)파이썬 튜플 tuple  (0) 2020.08.09
(PYTHON)파이썬 문자열 활용하기  (0) 2020.08.07
(PYTHON)파이썬 math 라이브러리  (0) 2020.08.07