C-log

📖Grade management program : 학생 데이터 만들기 본문

카테고리 없음

📖Grade management program : 학생 데이터 만들기

4:Bee 2023. 10. 13. 13:31
728x90

학생 성적 기록부를 만들기 위해서 데이터를 만들어야한다. 스키마를 어떻게 구성해야할지 아래 표를 보자

id 학생 이름 학년 학기 점수 등수 담임선생님 재학여부 기록날짜
1 a 2 1 1 90 11 G 재학 2xxx-10-xx
2 b 2 2 1 78 24 T 재학 2xxx-10-xx

위의 표는 하나의 예시이며 위와 같이 스키마를 제작을 할 것이다.

따라서 우리는 MySQL을 사용하기로 했기 때문에 접속을 먼저 해주자. 접속은 아래와 같이 하면 된다.

C:\xampp\mysql\bin>mysql -uroot -p
Enter password: ****
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 11
Server version: 10.4.28-MariaDB mariadb.org binary distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

이렇게 접속을 했으면 데이터베이스를 만들어 줘야하는데 데이터 베이스를 만드는 명령어는 아래와 같다.

MariaDB [(none)]> CREATE DATABASE grademgr;
Query OK, 1 row affected (0.002 sec)

MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| grade_card         |
| grademgr           |
| information_schema |
| mysql              |
| opentutorials      |
| performance_schema |
| phpmyadmin         |
| phpmysql           |
| test               |
+--------------------+
9 rows in set (0.032 sec)

MariaDB [(none)]> USE grademgr
Database changed
MariaDB [grademgr]>

이제 해당 데이터베이스를 선택하고 TABLE의 row를 생성해주자. 아래 코드를 참고하면 된다.

MariaDB [grademgr]> CREATE TABLE student_db(
    -> id INT(11) NOT NULL AUTO_INCREMENT,
    -> name VARCHAR(30) NOT NULL,
    -> grade INT(11) NOT NULL,
    -> class INT(11) NOT NULL,
    -> semester INT(11) NOT NULL,
    -> rank INT(11) NOT NULL,
    -> teacher VARCHAR(30) NOT NULL,
    -> status VARCHAR(30) NOT NULL,
    -> record DATETIME NOT NULL,
    -> PRIMARY KEY(id)
    -> );
Query OK, 0 rows affected (0.021 sec)

위와 같이 생성하고 생성된 테이블을 DESC명령문으로 확인해보자 결과는 아래와 같다.

MariaDB [grademgr]> DESC student_db
    -> ;
+----------+-------------+------+-----+---------+----------------+
| Field    | Type        | Null | Key | Default | Extra          |
+----------+-------------+------+-----+---------+----------------+
| id       | int(11)     | NO   | PRI | NULL    | auto_increment |
| name     | varchar(30) | NO   |     | NULL    |                |
| grade    | int(11)     | NO   |     | NULL    |                |
| class    | int(11)     | NO   |     | NULL    |                |
| semester | int(11)     | NO   |     | NULL    |                |
| rank     | int(11)     | NO   |     | NULL    |                |
| teacher  | varchar(30) | NO   |     | NULL    |                |
| status   | varchar(30) | NO   |     | NULL    |                |
| record   | datetime    | NO   |     | NULL    |                |
+----------+-------------+------+-----+---------+----------------+
9 rows in set (0.020 sec)

이제 INSERT를 통해서 데이터를 넣어주자

MariaDB [grademgr]> INSERT INTO student_db(name,grade,class,semester,score,rank,teacher,status,record)VALUES('a',2,1,1,90,11,'G','재학',NOW());
Query OK, 1 row affected (0.006 sec)
MariaDB [grademgr]> INSERT INTO student_db(name,grade,class,semester,score,rank,teacher,status,record)
    -> VALUES('b',2,2,1,78,24,'T','재학',NOW());
Query OK, 1 row affected (0.073 sec)
MariaDB [grademgr]> SELECT * FROM student_db;
+----+------+-------+-------+----------+-------+------+---------+--------+---------------------+
| id | name | grade | class | semester | score | rank | teacher | status | record              |
+----+------+-------+-------+----------+-------+------+---------+--------+---------------------+
|  1 | a    |     2 |     1 |        1 |    90 |   11 | G       | 재학   | 2023-10-13 13:28:02 |
|  2 | b    |     2 |     2 |        1 |    78 |   24 | T       | 재학   | 2023-10-13 13:29:36 |
+----+------+-------+-------+----------+-------+------+---------+--------+---------------------+
2 rows in set (0.000 sec)

이렇게 테이블을 생성하고 확인해본 결과이다.위의 표와 적절히 만들어 졌다면 이제 이 데이터들을 웹 브라우저에서 볼 수 있도록 php를 구성하고 선생님들의 정보를 만들어서 각 선생과 학생들의 값을 연동해보자.

728x90
Comments