본문 바로가기

Database/MySQL

[MySQL] 테스트 데이터베이스 생성 및 사용

반응형

(... MySQL 설치과정 생략...)


명령 프롬프트를 통한 MySQL 접속 (root 계정)

  • mysql -h localhost -u root -p
JennyMacBook:~ jenny$ mysql -h localhost -u root -p
Enter password: [비밀번호 입력]
mysql >

데이터베이스 생성 및 사용

  • CREATE SCHEMA [생성할 데이터베이스명];
  • use [사용할 데이터베이스명];
mysql> CREATE SCHEMA nodejs;
Query OK, 1 row affected (0.05 sec)

mysql> use nodejs;
Database changed

테이블 생성

  • CREATE TABLE [데이터베이스명.테이블명];
mysql> CREATE TABLE nodejs.users(
    -> id INT NOT NULL AUTO_INCREMENT,
    -> name VARCHAR(20) NOT NULL,
    -> age INT UNSIGNED NOT NULL,
    -> married TINYINT NOT NULL,
    -> comment TEXT NULL,
    -> created_at DATETIME NOT NULL DEFAULT now(),
    -> PRIMARY KEY(id),
    -> UNIQUE INDEX name_UNIQUE (name ASC))
    -> COMMENT = '사용자 정보'
    -> DEFAULT CHARSET=utf8
    -> ENGINE=InnoDB;
Query OK, 0 rows affected, 1 warning (0.02 sec)

 

 

외래키 설정

  • CONSTRAINT [제약조건명] FOREIGN KEY([컬럼명]) REFERENCES [참고하는 컬럼명]
  • ON DELETE CASCADE ON UPDATE CASCADE) : 참고하는 컬럼에 대한 값이 수정되거나 삭제되면 그것과 연결된 값도 같이 수정하거나 삭제
mysql> CREATE TABLE nodejs.comments (
    -> id INT NOT NULL AUTO_INCREMENT,
    -> commenter INT NOT NULL,
    -> comment VARCHAR(100) NOT NULL,
    -> created_at DATETIME NOT NULL DEFAULT now(),
    -> PRIMARY KEY(id),
    -> INDEX commenter_idx (commenter ASC), 
    -> CONSTRAINT commenter FOREIGN KEY(commenter)REFERENCES nodejs.users(id) ON DELETE CASCADE ON UPDATE CASCADE)
    -> COMMENT = '댓글'
    -> DEFAULT CHARSET=utf8
    -> ENGINE=InnoDB;
Query OK, 0 rows affected, 1 warning (0.04 sec)

테이블 조회

  • SHOW TABLES;

mysql> SHOW TABLES;
+------------------+
| Tables_in_nodejs |
+------------------+
| comments         |
| users            |
+------------------+
2 rows in set (0.01 sec)

 

테이블 삭제

  • DROP TABLE [테이블명];

mysql> DROP TABLE users;

 

테이블의 컬럼 조회

  • DESC [테이블명];

mysql> DESC users;
+------------+------------------+------+-----+-------------------+-------------------+
| Field      | Type             | Null | Key | Default           | Extra             |
+------------+------------------+------+-----+-------------------+-------------------+
| id         | int(11)          | NO   | PRI | NULL              | auto_increment    |
| name       | varchar(20)      | NO   | UNI | NULL              |                   |
| age        | int(10) unsigned | NO   |     | NULL              |                   |
| married    | tinyint(4)       | NO   |     | NULL              |                   |
| comment    | text             | YES  |     | NULL              |                   |
| created_at | datetime         | NO   |     | CURRENT_TIMESTAMP | DEFAULT_GENERATED |
+------------+------------------+------+-----+-------------------+-------------------+
6 rows in set (0.03 sec)

반응형

❥ CHATI Github