'-u' : 계정명 받아들이기
'-p' : 비밀번호를 입력하기
2. DB 생성
mysql에 접속후..
가. DB확인
+----------+
| Database |
+----------+
| sonsy |
| test |
+----------+
2 rows in set (0.00 sec)
'sonsy' : 계정 db
'test' : MySQL을 배우거나 테스트 목적의 테스트용 DB
나. DB 생성, 사용, 삭제
- DB생성
3. DB 관리
가. 테이블 목록 출력
mysql> SHOW TABLES;
+----------------+
| Tables_in_test |
+----------------+
| OUTRUN |
+----------------+
1 row in set (0.00 sec)
나. 특정 테이블 구성
+-------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------+------+-----+---------+-------+
| OUT | longblob | YES | | NULL | |
+-------+----------+------+-----+---------+-------+
1 row in set (0.00 sec)
다. 테이블 만들기 (예제)
구성할 테이블 구조을 결정한다.
people | |
name | char(10) not null |
address | test(100) |
id | int |
- 기본 테이블 만들기 포맷
column_name1 type [modifiers]
[,column_name2 type [modifiers]
)
- 위 테이블 구조에 맞는 테이블 만들기 예
USER_ID BIGINT UNSIGNED NOT NULL PRIMARY KEY,
USER_NAME CHAR(10) NOT NULL,
LAST_NAME VARCHAR(30),
OFFICE CHAR(2) NOT NULL DEFAULT 'NY'
);
다음은 결과 화면이다.
+----------------+
| Tables_in_test |
+----------------+
| OUTRUN |
| USER |
+----------------+
2 rows in set (0.00 sec)
mysql> describe USER;
+-----------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+---------------------+------+-----+---------+-------+
| USER_ID | bigint(20) unsigned | | PRI | 0 | |
| USER_NAME | varchar(10) | | | | |
| LAST_NAME | varchar(30) | YES | | NULL | |
| OFFICE | varchar(2) | | | NY | |
+-----------+---------------------+------+-----+---------+-------+
4 rows in set (0.01 sec)
4. 데이터 관리
1) 삽입
가. 메소드
mysql> VALUES (value1, value2, ...., valueN)
mysql> VALUES ('Yong Ga Ri', '123 Samsung-dong', 'Seoul', 29 )
라. 다른 Table로부터 데이터 삽입
mysql> SELECT food_name, fat_grams FROM recipes
2) 갱신
가. 메소드
mysql> SET column1=value1, column2=value, .... , columnN=valueN
mysql> [WHERE 절]
나. WHERE 절 (예제)
mysql> SET lead_singer = 'Ian Anderson'
mysql> WHERE band_name = 'Jethro Tull'
3) 삭제
가. 메소드
mysql> FROM table1, table2, .. , tableN
mysql> [WHERE 절]
5. 질의
mysql> FROM table1, table2, ... , tableN
1) 연결
연결은 어떤 테이블에 있는 데이터를 다른 테이블에 있는 데이터와 연관시켜주는 기능으로,
관계형 데이터베이스의 핵심이라고 할 수 있다.
가. 예제
mysql> FROM author, book
mysql> WHERE book.author = author.id
2) 별칭
테이블 및 열 이름이 너무 긴 경우, 별칭(alias)를 이용하여 간단하게 바꿀수 있다.
가. 열 별칭
mysql> FROM table_name
mysql> WHERE myfield = 'Joe'
나. 테이블 별칭
mysql> FROM tests, really_long_people_table_name AS people
3) 정렬 및 분류
4) 결과 제한
6. Tip
(출처 : http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=12800&sca=DBMS&page=6 )
1. 쿼리 결과 정렬방식
mysql> use mysql
mysql> select * form user where user = 'root' ;
이런식으로 사용했을경우 결과가 좌우로 길게 나와 보기가 불편하다구요?
그럼 이렇게 사용해보세요.
mysql> select * from user where user='root' \G
그럼 세로로 결과를 출력합니다.
설명) ; 와 \g 는 가로출력 \G 세로 출력입니다.2. 쿼리 에디터
길게 입려한 쿼리의 이부분만 고치고 싶은데 수정이 불편한가요?
mysql > use mysql
mysql > select * from user where user='root'
mysql > and host='localhost' and Select_priv = 'Y'
mysql > and Insert_priv = 'Y' ;
자 이렇게 길게 쿼리를 날렸는데 이중에 일부분만 수정해야 한다면
mysql> \e
그러면 vi 에디터가 실행됩니다. 여기서 적절히 수정하신후 저장후 종료 (:wq) 하시고
mysql> \G
; \g \G 를 넣어주시면 편집한 내용이 실행됩니다.3. 쿼리 기록
mysql> tee ./temp.txt (파일로 저장)mysql> notee (해제)