wasup

MySQL) 연속된 값(AUTO_INCREMENT), 기본 값(DEFAULT), 타임스템프(CURRENT_TIMESTAMP). 본문

DataBase/MySQL

MySQL) 연속된 값(AUTO_INCREMENT), 기본 값(DEFAULT), 타임스템프(CURRENT_TIMESTAMP).

wasupup 2021. 5. 11. 17:06
반응형

테스트할 테이블 생성

#auto_increment, 자동 증가
#DEFAULT 0, 값이 없으면 무조건 0
#DEFAULT 'aa', 값이 없으면 무조건 'aa'
#DEFAULT CURRENT_TIMESTAMP 값이 없으면 시스템 날짜 삽입

CREATE TABLE tbl2(
	col1 int PRIMARY KEY AUTO_INCREMENT,
	col2 int DEFAULT 0,
	col3 varchar(10) DEFAULT 'aa',
	col4 timestamp DEFAULT CURRENT_TIMESTAMP
);

 

값 삽입

INSERT INTO tbl2(col2) VALUES(45);
INSERT INTO tbl2(col2) VALUES(12);
INSERT INTO tbl2(col2) VALUES(53);
INSERT INTO tbl2(col2) VALUES(50);
INSERT INTO tbl2(col2) VALUES(60);

이전 글 내용에 추가해보기

DROP DATABASE mydb1;
CREATE DATABASE mydb1;
USE mydb1;
CREATE TABLE 회원(
	번호 int PRIMARY KEY AUTO_INCREMENT,
	성명 varchar(20),
	주민번호 char(13)
);
CREATE TABLE 게시물(
	번호 int PRIMARY KEY AUTO_INCREMENT,
	제목 varchar(20) NOT NULL UNIQUE,
	내용 varchar(200) NULL,
	작성자번호 int NOT NULL,
    작성일 timestamp DEFAULT CURRENT_TIMESTAMP,
	FOREIGN KEY (작성자번호) REFERENCES 회원(번호)
);

INSERT INTO 회원(성명, 주민번호) VALUES('홍길동', '1111111111111');
INSERT INTO 회원(성명, 주민번호) VALUES('홍민지', '2222222222222');
INSERT INTO 회원(성명, 주민번호) VALUES('김은영', '3333333333333');
INSERT INTO 회원(성명, 주민번호) VALUES('최영웅', '4444444444444');

INSERT INTO 게시물(제목, 내용, 작성자번호) VALUES('제목1', '내용1', 1);
INSERT INTO 게시물(제목, 내용, 작성자번호) VALUES('제목2', '내용2', 2);
INSERT INTO 게시물(제목, 내용, 작성자번호) VALUES('제목3', '내용3', 3);
INSERT INTO 게시물(제목, 내용, 작성자번호) VALUES('제목4', '내용4', 4);

DESC 회원;
DESC 게시물;

SELECT * FROM 회원;
SELECT * FROM 게시물;


연습

 


 

 

하나의 값만 넣어도 col1, col3, col4에 기본 값이 들어가는지 확인

 

 

 

col1에 연속 값이 들어가는지 확인

 


mysql> DROP DATABASE mydb1;
Query OK, 3 rows affected (1.26 sec)

mysql> CREATE DATABASE mydb1;
Query OK, 1 row affected (0.31 sec)

mysql> USE mydb1;
Database changed
mysql> CREATE TABLE 회원(
    -> 번호 int PRIMARY KEY AUTO_INCREMENT,
    -> 성명 varchar(20),
    -> 주민번호 char(13)
    -> );
Query OK, 0 rows affected (1.19 sec)

mysql> CREATE TABLE 게시물(
    -> 번호 int PRIMARY KEY AUTO_INCREMENT,
    -> 제목 varchar(20) NOT NULL UNIQUE,
    -> 내용 varchar(200) NULL,
    -> 작성자번호 int NOT NULL,
    ->     작성일 timestamp DEFAULT CURRENT_TIMESTAMP,
    -> FOREIGN KEY (작성자번호) REFERENCES 회원(번호)
    -> );
Query OK, 0 rows affected (0.49 sec)

mysql>
mysql> INSERT INTO 회원(성명, 주민번호) VALUES('홍길동', '1111111111111');
Query OK, 1 row affected (0.28 sec)

mysql> INSERT INTO 회원(성명, 주민번호) VALUES('홍민지', '2222222222222');
Query OK, 1 row affected (0.09 sec)

mysql> INSERT INTO 회원(성명, 주민번호) VALUES('김은영', '3333333333333');
Query OK, 1 row affected (0.15 sec)

mysql> INSERT INTO 회원(성명, 주민번호) VALUES('최영웅', '4444444444444');
Query OK, 1 row affected (0.07 sec)

mysql>
mysql> INSERT INTO 게시물(제목, 내용, 작성자번호) VALUES('제목1', '내용1', 1);
Query OK, 1 row affected (0.06 sec)

mysql> INSERT INTO 게시물(제목, 내용, 작성자번호) VALUES('제목2', '내용2', 2);
Query OK, 1 row affected (0.05 sec)

mysql> INSERT INTO 게시물(제목, 내용, 작성자번호) VALUES('제목3', '내용3', 3);
Query OK, 1 row affected (0.04 sec)

mysql> INSERT INTO 게시물(제목, 내용, 작성자번호) VALUES('제목4', '내용4', 4);
Query OK, 1 row affected (0.08 sec)

mysql>
mysql> DESC 회원;
+--------------+-------------+------+-----+---------+----------------+
| Field        | Type        | Null | Key | Default | Extra          |
+--------------+-------------+------+-----+---------+----------------+
| 번호         | int         | NO   | PRI | NULL    | auto_increment |
| 성명         | varchar(20) | YES  |     | NULL    |                |
| 주민번호     | char(13)    | YES  |     | NULL    |                |
+--------------+-------------+------+-----+---------+----------------+
3 rows in set (0.06 sec)

mysql> DESC 게시물;
+-----------------+--------------+------+-----+-------------------+-------------------+
| Field           | Type         | Null | Key | Default           | Extra             |
+-----------------+--------------+------+-----+-------------------+-------------------+
| 번호            | int          | NO   | PRI | NULL              | auto_increment    |
| 제목            | varchar(20)  | NO   | UNI | NULL              |                   |
| 내용            | varchar(200) | YES  |     | NULL              |                   |
| 작성자번호      | int          | NO   | MUL | NULL              |                   |
| 작성일          | timestamp    | YES  |     | CURRENT_TIMESTAMP | DEFAULT_GENERATED |
+-----------------+--------------+------+-----+-------------------+-------------------+
5 rows in set (0.01 sec)

mysql>
mysql> SELECT * FROM 회원;
+--------+-----------+---------------+
| 번호   | 성명      | 주민번호      |
+--------+-----------+---------------+
|      1 | 홍길동    | 1111111111111 |
|      2 | 홍민지    | 2222222222222 |
|      3 | 김은영    | 3333333333333 |
|      4 | 최영웅    | 4444444444444 |
+--------+-----------+---------------+
4 rows in set (0.00 sec)

mysql> SELECT * FROM 게시물;
+--------+---------+---------+-----------------+---------------------+
| 번호   | 제목    | 내용    | 작성자번호      | 작성일              |
+--------+---------+---------+-----------------+---------------------+
|      1 | 제목1   | 내용1   |               1 | 2021-05-04 16:19:16 |
|      2 | 제목2   | 내용2   |               2 | 2021-05-04 16:19:16 |
|      3 | 제목3   | 내용3   |               3 | 2021-05-04 16:19:16 |
|      4 | 제목4   | 내용4   |               4 | 2021-05-04 16:19:16 |
+--------+---------+---------+-----------------+---------------------+
4 rows in set (0.00 sec)

 


반응형
Comments