티스토리 뷰
MySQL 연결 및 관리
커넥션 연결
mysql -uroot -p
# -uroot : root
# -p : 패스워드
# -h : localhost
# -P : 3306
커넥션 종료
quit
exit;
관려 명령의 종류나 문법은 DBMS에 따라 다르다. SELECT, INSERT, DELETE, UPDATE
이외의 단어로 시작하는 명령문은 MySQL의 관리 명령이다.
# 커넥션 상태 확인
show status like 'Threads_connected'; # Threads_connected 1
# MySQL이 가동된 시점부터의 경과시간(초)
show status like 'Uptime';
# MySQL이 실행한 SQL 쿼리의 수
show status like 'Queries';
데이터베이스 조회 및 생성
# 데이터베이스 목록 조회
show databases;
# 데이터베이스 사용
use test_db;
# 테이블 목록 조회
show tables;
테이블 정의 조회하기
# 테이블의 정의를 조회 (city 테이블)
show create table city\G
*************************** 1. row ***************************
Table: city
Create Table: CREATE TABLE `city` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Name` char(35) NOT NULL DEFAULT '',
`CountryCode` char(3) NOT NULL DEFAULT '',
`District` char(20) NOT NULL DEFAULT '',
`Population` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`ID`),
KEY `CountryCode` (`CountryCode`),
CONSTRAINT `city_ibfk_1` FOREIGN KEY (`CountryCode`) REFERENCES `country` (`Code`)
) ENGINE=InnoDB AUTO_INCREMENT=4081 DEFAULT CHARSET=latin1
1 row in set (0.00 sec)
# 테이블의 열 정보를 조회
desc city;
+-------------+----------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+----------+------+-----+---------+----------------+
| ID | int(11) | NO | PRI | NULL | auto_increment |
| Name | char(35) | NO | | | |
| CountryCode | char(3) | NO | MUL | | |
| District | char(20) | NO | | | |
| Population | int(11) | NO | | 0 | |
+-------------+----------+------+-----+---------+----------------+
5 rows in set (0.09 sec)
데이터베이스 생성 및 수정
# 데이터베이스 생성
CREATE DATABASE test_db CHARACTER SET utf8 COLLATE utf8_general_ci;
# 데이터베이스 삭제
DROP DATABASE test_db;
테이블 생성 및 수정
테이블 생성하기
# posts table
CREATE TABLE `posts` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(100) NOT NULL,
`description` text NULL,
`author` varchar(30) NOT NULL,
`createdAt` datetime NOT NULL,
`updatedAt` datetime NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
# users table
CREATE TABLE `users` (
`id` INT NOT NULL AUTO_INCREMENT,
`authId` VARCHAR(50) NOT NULL,
`username` VARCHAR(30),
`password` VARCHAR(255),
`salt` VARCHAR(255),
`displayName` VARCHAR(50),
`email` VARCHAR(50) NOT NULL,
PRIMARY KEY (id),
UNIQUE (authId)
) ENGINE = InnoDB;
# 특정 테이블과 같은 구조의 테이블을 생성하기 (데이터는 없음)
CREATE TABLE 신규 테이블명 LIKE 원본 테이블명;
CREATE TABLE citycopy LIKE city;
테이블 수정하기
# 테이블 이름 바꾸기
RENAME TABLE posts TO posts_backup;
# users table에 email field 추가하기
ALTER TABLE users ADD email VARCHAR(50);
테이블 삭제하기
DROP TABLE IF EXISTS `posts`;
'Database' 카테고리의 다른 글
MongoDB 설치와 실행 (0) | 2018.05.11 |
---|---|
MongoDB 기초 (0) | 2018.05.11 |
MySQL Index, Join, Grant (0) | 2018.05.11 |
MySQL Query CRUD (0) | 2018.05.11 |
Database 기본 (0) | 2018.05.11 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 깃
- 자바스크립트
- xmind
- 픽픽
- 샤오미
- 루비
- 마인드맵
- 마크다운
- database
- 캡쳐프로그램
- 몽고DB
- 윈도우 10
- MonGo
- MySQL
- javascript
- 다음팟플레이어
- 압축프로그램
- 반디집
- 방수방진
- 아이폰 7
- quirky
- 데이터베이스
- 갤럭시 노트 7
- ruby
- js
- Git
- Nas
- GitHub
- mongoDB
- db
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함