-
Notifications
You must be signed in to change notification settings - Fork 0
/
jeju_sql.sql
124 lines (109 loc) · 5.37 KB
/
jeju_sql.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
-- --------------------------------------------------------
-- 호스트: 127.0.0.1
-- 서버 버전: 10.4.11-MariaDB - mariadb.org binary distribution
-- 서버 OS: Win64
-- HeidiSQL 버전: 10.3.0.5771
-- --------------------------------------------------------
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8 */;
/*!50503 SET NAMES utf8mb4 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
-- jeju 데이터베이스 구조 내보내기
CREATE DATABASE IF NOT EXISTS `jeju` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `jeju`;
-- 테이블 jeju.authors 구조 내보내기
CREATE TABLE IF NOT EXISTS `authors` (
`name` varchar(50) DEFAULT NULL,
`address` varchar(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 테이블 데이터 jeju.authors:~2 rows (대략적) 내보내기
/*!40000 ALTER TABLE `authors` DISABLE KEYS */;
INSERT INTO `authors` (`name`, `address`) VALUES
('대한민국', '서울시'),
('민국이', '대전시');
/*!40000 ALTER TABLE `authors` ENABLE KEYS */;
-- 테이블 jeju.goods 구조 내보내기
CREATE TABLE IF NOT EXISTS `goods` (
`code` int(11) NOT NULL,
`name` varchar(20) NOT NULL,
`su` int(11) DEFAULT NULL,
`dan` int(11) DEFAULT NULL,
PRIMARY KEY (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='primary key : 중복이 불가능, 외부에서 참조가 가능한 키 ';
-- 테이블 데이터 jeju.goods:~7 rows (대략적) 내보내기
/*!40000 ALTER TABLE `goods` DISABLE KEYS */;
INSERT INTO `goods` (`code`, `name`, `su`, `dan`) VALUES
(1, '냉장고', 2, 850000),
(2, '세탁기', 3, 550000),
(3, '전자레인지', 2, 350000),
(4, 'HDTV', 3, 1500000),
(5, 'VR기기', 2, 1440000),
(6, 'Drone', 1, 890000),
(7, '고성능컴퓨터', 3, NULL);
/*!40000 ALTER TABLE `goods` ENABLE KEYS */;
-- 테이블 jeju.school 구조 내보내기
CREATE TABLE IF NOT EXISTS `school` (
`no` int(11) NOT NULL AUTO_INCREMENT,
`shcoolname` varchar(20) DEFAULT NULL,
`address` varchar(50) DEFAULT NULL,
`schoolcode` char(10) NOT NULL,
`studentcount` int(11) DEFAULT NULL,
PRIMARY KEY (`schoolcode`),
KEY `no` (`no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='auto_increment : 자동으로 숫자 지정(증가()\r\n\r\nschool 테이블은 제공하는 것이고 student 테이블이 사용하는 것이다. ';
-- 테이블 데이터 jeju.school:~0 rows (대략적) 내보내기
/*!40000 ALTER TABLE `school` DISABLE KEYS */;
/*!40000 ALTER TABLE `school` ENABLE KEYS */;
-- 테이블 jeju.student 구조 내보내기
CREATE TABLE IF NOT EXISTS `student` (
`bunho` int(11) NOT NULL,
`name` varchar(50) DEFAULT NULL,
`kor` tinyint(4) DEFAULT NULL,
`mat` tinyint(4) DEFAULT NULL,
`eng` tinyint(4) DEFAULT NULL,
`total` int(11) DEFAULT NULL,
`average` float DEFAULT NULL,
`grade` char(10) DEFAULT NULL,
`schoolcode` char(50) DEFAULT NULL,
PRIMARY KEY (`bunho`),
KEY `schoolcode` (`schoolcode`),
CONSTRAINT `FK1_school` FOREIGN KEY (`schoolcode`) REFERENCES `school` (`schoolcode`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='두개의 테이블을 연결시킴 (외래키 생성해서 연결시키기)';
-- 테이블 데이터 jeju.student:~0 rows (대략적) 내보내기
/*!40000 ALTER TABLE `student` DISABLE KEYS */;
/*!40000 ALTER TABLE `student` ENABLE KEYS */;
-- 테이블 jeju.student2 구조 내보내기
CREATE TABLE IF NOT EXISTS `student2` (
`num` int(11) NOT NULL,
`name` varchar(12) DEFAULT NULL,
`sex` char(1) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`major` varchar(20) DEFAULT NULL,
`address` varchar(15) DEFAULT NULL,
`tel` varchar(15) DEFAULT NULL,
`money` int(11) DEFAULT NULL,
PRIMARY KEY (`num`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='primary key : 외부에서 쓸때 사용';
-- 테이블 데이터 jeju.student2:~6 rows (대략적) 내보내기
/*!40000 ALTER TABLE `student2` DISABLE KEYS */;
INSERT INTO `student2` (`num`, `name`, `sex`, `age`, `major`, `address`, `tel`, `money`) VALUES
(20120001, '고길동', 'm', 27, '선박', 'seoul', '010-000-4512', 5000),
(20120002, '최둘리', 'm', 22, '역사', 'busan', '010-999-9999', 4500),
(20120003, '도우너', 'w', 15, '역사', 'daegu', '010-555-5555', 6500),
(20120004, '김만덕', 'm', 15, '유아', 'mokpo', '010-555-7777', 7000),
(20120005, '소지섭', 'm', 22, '컴퓨터공학', 'seoul', '010-122-2222', 8000),
(20120006, '손흥민', 'm', 22, '컴퓨터공학', 'seoul', '010-999-9999', 8000);
/*!40000 ALTER TABLE `student2` ENABLE KEYS */;
-- 트리거 jeju.student_before_insert 구조 내보내기
SET @OLDTMP_SQL_MODE=@@SQL_MODE, SQL_MODE='STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
DELIMITER //
CREATE TRIGGER `student_before_insert` BEFORE INSERT ON `student` FOR EACH ROW BEGIN
SET NEW.total = NEW.kor + NEW.mat + NEW.eng;
SET NEW.average = ROUND(NEW.total/3,2);
END//
DELIMITER ;
SET SQL_MODE=@OLDTMP_SQL_MODE;
/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
/*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;