WEB3 - PHP & MySQL

많아지는 테이블

수업소개

여기서는 author 테이블을 생성하고, topic 테이블을 변경해서 author 테이블을 참조하도록 하는 방법을 살펴봅니다. 

 

강의

 

소스코드(SQL)

아래 소스코드는 실습에 사용할 테이블을 생성하는 SQL문입니다. 기존에 존재하는 테이블을 삭제하고 새로 테이블을 생성하기 때문에 주의해주세요.

--
-- Table structure for table `author`
--

DROP TABLE IF EXISTS `author`;
CREATE TABLE `author` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(30) NOT NULL,
  `profile` varchar(200) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

--
-- Dumping data for table `author`
--

LOCK TABLES `author` WRITE;
/*!40000 ALTER TABLE `author` DISABLE KEYS */;
INSERT INTO `author` (`id`, `name`, `profile`) VALUES (1,'egoing','developer'),(2,'duru','DBA'),(3,'taeho','Data scientist');
/*!40000 ALTER TABLE `author` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `topic`
--

DROP TABLE IF EXISTS `topic`;
CREATE TABLE `topic` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(45) NOT NULL,
  `description` text,
  `created` datetime NOT NULL,
  `author_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8;

--
-- Dumping data for table `topic`
--

LOCK TABLES `topic` WRITE;
INSERT INTO `topic` (`id`, `title`, `description`, `created`, `author_id`) VALUES (19,'MySQL ','MySQL is ...','2018-02-20 11:35:32',1),(20,'Oracle','Oracle is ...','2018-02-20 11:35:39',1),(21,'SQL Server','SQL Server is ...','2018-02-20 11:35:50',2),(22,'MongoDB','MongoDB is ..','2018-02-20 11:35:59',3),(34,'MariaDB ','MariaDB is ...','2018-02-22 11:49:09',1),(35,'OrientDB','OrientDB is ..','2018-02-22 12:13:12',1);
UNLOCK TABLES;

--
-- Table structure for table `user`
--

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `email` varchar(30) NOT NULL,
  `password` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

--
-- Dumping data for table `user`
--

LOCK TABLES `user` WRITE;
INSERT INTO `user` (`email`, `password`) VALUES ('asdf@o2.org','222222'),('qwer@o2.org','111111'),('zxcv@o2.org','333333');
UNLOCK TABLES;

 

댓글

댓글 본문
작성자
비밀번호
  1. starshirts
    항상감사합니다. 정말 생활코딩이 없었다면 너무 힘들게 공부했을 것입니다.
  2. 별밤
    영상에 나온 순서대로 명령어를 적어봅니다.

    mysql> CREATE TABLE author(
    -> id INT(11) AUTO_INCREMENT,
    -> name VARCHAR(30) NOT NULL,
    -> profile VARCHAR(200) NULL,
    -> PRIMARY KEY(id)
    -> );

    mysql> DESC author;

    mysql> INSERT INTO author (name, profile) VALUES('egoing','developer');
    mysql> INSERT INTO author (name, profile) VALUES('duru','DBA');
    mysql> INSERT INTO author (name, profile) VALUES('taeho','Data Scientist');

    mysql> ALTER TABLE topic ADD COLUMN author_id INT(11);
    mysql> DESC topic;
    mysql> SELECT * FROM topic;

    mysql> UPDATE topic SET author_id=1 WHERE id=19;
    UPDATE topic SET author_id=1 WHERE id=20;
    UPDATE topic SET author_id=2 WHERE id=21;
    UPDATE topic SET author_id=3 WHERE id=22;
    UPDATE topic SET author_id=1 WHERE id=34;

    mysql> SELECT * FROM topic;

    mysql> SELECT * FROM topic LEFT JOIN author ON topic.author_id = author.id;

    /*두 개의 테이블이 잘 생성됐고, 또 합쳐졌습니다. 고맙습니다.*/
버전 관리
egoing
현재 버전
선택 버전
graphittie 자세히 보기