명령어 요약
mysql 실행 = mysql -u root -p Enter
데이터베이스 생성= create database ju;
기본 데이터베이스 보기 = show databases;
사용할 데이터 베이스 선택 = use db01
디비안의 테이블 만들기 = create table 테이블명 ( 칼럼1 데이터형,칼럼2 데이터형);
디비안의 테이블 보기 = show tables;
테이블 안의 항목보기 = show columns from tb01; or desc tb01;
테이블 안에 데이터 넣기 = insert into 테이블명 (칼럼1,칼럼2) values (칼럼1값,'칼럼2값');
테이블 안에 모든레코드 보기 = select * from tb01;
필드 추가하기 = alter table 테이블명 add column 필드명 데이터형;
레코드 추가하기 = mysql> insert into tb01 (number,name,address,wdate,wtime) values
-> (2,'second','another','1999-10-23','10:30:00');
입력된데이터업데이트 = update 테이블명 set 필드명='new add' where 조건
한번에 여러필드 값 수정 = update tb01 set wdate=19991022, wtime=062218 where number=1;
레코드 지우기 = delete from tb01 where number=2;
테이블 지우기 = drop table tb01;
종료 = quit
1. 윈도우용 mysql 실행하기
cmd 입력한 후 도스모드에서 mysql -u root -p Enter를 쳐본다.
패스를 설정했기 때문에 도스모드 아무곳에서나 해도 상관없다.
그리고 비밀번호를 입력하면
mysql > 이 나오고 정상실행..
2.MySQL 서버 구조 살펴보기 ★★★
MySQL < Database < Table < Record < Datatype
MySQL 서버안에 여러 데이터 베이스가 있고 , 디비안에 테이블 들이 있으며,
테이블안에는 레코드(가로줄) 가 있고 , 그안에는 데이터형(정수형,문자형,날짜형)
으로 구성된다.
테이블을 만들기 위해서는 반드시 디비를 선택하거나 , 디비를 만들어야 한다.
데이터 값이 저장 되는 것은 테이블 이며 , 테이블을 생성하기 위해서는 반드시 먼저
디비를 만들어야 한다.
2. MYSQL 데이터베이스 만들기
자료를 담기위해선 상자곽이 필요하다.
데이터 베이스 생성
mysql > create database ju;
3.MySQL 서버의 기본 데이터 베이스 보기
mysql> show databases;
+-------------+
| Database |
+-------------+
| mysql |
| test |
| ju |
+-------------+
3 rows in set (0.06 sec)
4.사용할 데이터베이스 를 선택
mysql> use db01
Database changed
5.디비 안의 테이블을 만들어라.
mysql> create table tb01 (number integer,name char(10));
Query OK, 0 rows affected (0.00 sec)
create table 테이블명 ( 칼럼1 데이터형,칼럼2 데이터형);
SQL 문장의 마지막은 ; 를 붙여서 명령을 실행하라고 시킨다.
; 를 안넣어도 실행하는 명령 도 있기는 하다. 예> use 명령, quit 명령
6. db01 디비 안에 있는 테이블 보기
mysql> show tables;
+----------------------+
| Tables in database01 |
+----------------------+
| tb01 |
+----------------------+
7.테이블 안의 항목을 보자.
mysql> show columns from tb01;
+---------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+----------+------+-----+---------+-------+
| number | int(11) | YES | | NULL | |
| name | char(10) | YES | | NULL | |
+---------+----------+------+-----+---------+-------+
아래 명령도 같은 작동을 한다.
mysql> desc tb01;
8 . tb01 테이블 안에 데이터 를 넣어라.
mysql> insert into tb01 (number,name) values (1,'suhoi');
Query OK, 1 row affected (0.00 sec)
insert into 테이블명 (칼럼1,칼럼2) values (칼럼1의값,'칼럼2의값');
숫자는 ' ' 를 사용하지 않고 , 문자열은 반드시 ' ' 안에 넣어야 한다.
9. tb01 테이블 안에 모든 레코드를 보자
mysql> select * from tb01;
+---------+---------+
| number | name |
+---------+---------+
| 1 | suhoi |
+---------+---------+
★필드 추가하기
10.테이블 안에 필드 추가하기
tb01 테이블 안에 address 필드 를 추가해보자.
mysql> alter table tb01 add column address char(20);
Query OK, 1 row affected (0.04 sec)
Records: 1 Duplicates: 0 Warnings: 0
alter table 테이블명 add column 필드명 데이터형;
11. 1번에 두개의 필드를 추가하자
mysql> alter table tb01 add column wdate date,add column wtime time;
Query OK, 1 row affected (0.04 sec)
Records: 1 Duplicates: 0 Warnings: 0
wdate date 란것은 wdate 는 날짜 데이터 형이고
wtime time 란것은 wtime 는 시간 데이터 형이라는 뜻이다.
잘 추가 되었는지 확인해보자
mysql> select * from tb01;
+---------+---------+---------+---------+---------+
| number | name | address | wdate | wtime |
+---------+---------+---------+---------+---------+
| 1 | first | NULL | NULL | NULL |
+---------+---------+---------+---------+---------+
12. 다중입력
MySQL 은 한 라인에 모든 것을 넣을 수도 있지만 여러줄에 넣을 수도 있다.
여러줄에 넣을 려면 ; 를 마지막 줄에만 넣어야 한다. 예제를 바로 보면서 이해하라.
아래 두개의 다른폼은 같은 동작을 취한다.
한 라인 입력
mysql> create table table33 (number integer,name char(30));
다중 입력 1
mysql> create table table33
-> (number
-> integer,
-> name
-> char(30));
다중입력 2
mysql> create table table33
-> (number integer,
-> name char(30));
다중입력 1과 다중입력 2는 같은 동작을 취하며 ,아래는 잘못 만든 예 이다.
mysql> create table table33
-> (field01 inte
-> ger,
-> field02
-> char(30));
★ 쿼리도중에 명령이 틀렸을 경우 는 c 를 하면 된다.
mysql> create table table33
-> (number inte,
-> c
mysql>
13. 레코드 추가하기
mysql> insert into tb01 (number,name,address,wdate,wtime) values
-> (2,'second','another','1999-10-23','10:30:00');
Query OK, 1 row affected (0.00 sec)
문자형은 (char) 반드시 ' ' 안에 넣어야 한다.
표준 날짜형은 "yyyy-mm-dd" 이다.
표준 시간형은 "hh:mm:ss" 이다.
☆ 날짜형과 시간형도 ' ' 안에 넣어야 한다.
' ' 안에 넣지 않을 경우 yyyymmdd 이런식으로 붙여서 입력 해야 한다. hhmmss 도
마찬가지 이다.
14. 다른 데이터형 추가하기
화살표키 중 ↑를 누르면 전에 버퍼에 저장되어 있던 명령들이 나온다.
그것에서 데이터만 바꾸고 명령을 하면 다른 데이터가 추가 된다.
★ 98 은 되지 않으며, NT 와 2000 만 된다. 리눅스 도 당스 된다.
mysql> select * from tb01;
+---------+-----------+------------------+------------+----------+
| number | name | address | wdate | wtime |
+---------+-----------+------------------+------------+----------+
| 1 | suhoi | NULL | NULL | NULL |
| 2 | suhoi2 | address2 | 1999-10-23 | 10:30:00 |
+---------+-----------+------------------+------------+----------+
우리는 이제 다했다
15. 입력된 데이터 업데이트 하기
하나의 필드 값 수정하기
여기서도 역시 ' ' 를 붙여주어야 한다. 어느곳에? 문자열 에는 반드시 ' ' 를 넣어야
한다.
mysql> update tb01 set address='new add' where number=1;
Query OK, 1 row affected (0.00 sec)
update 테이블명 set 필드명='new add' where 조건
number=1 인 레코드의 address 를 new add 로 수정 하는 명령이다.
number=1 은 조건 이며 가로줄을 선택한다.
16. 한번에 여러 필드 값 수정하기
mysql> update tb01 set wdate=19991022, wtime=062218 where number=1;
Query OK, 1 row affected (0.00 sec)
아래 처럼 보이는가?
mysql> select * from tb01;
+---------+-----------+------------------+------------+----------+
| number | name | address | wdate | wtime |
+---------+-----------+------------------+------------+----------+
| 1 | suhoi | new add | 1999-10-22 | 06:22:18 |
| 2 | suhoi2 | address2 | 1999-10-23 | 10:30:00 |
+---------+-----------+------------------+------------+----------+
한번 으로 여러개의 필드값 수정하기
mysql> update tb01 set wtime=152901 where wdate>19990101;
Query OK, 3 rows affected (0.00 sec)
날짜가 19990101 이후 인것의 wtime 는 모두 수정하는 것이다.
mysql> select * from tb01;
+---------+-----------+------------------+------------+----------+
| number | name | address | wdate | wtime |
+---------+-----------+------------------+------------+----------+
| 1 | suhoi | new add | 1999-10-22 | 15:29:01 |
| 2 | suhoi2 | address2 | 1999-10-23 | 15:29:01 |
+---------+-----------+------------------+------------+----------+
17. 레코드 지우기
mysql> delete from tb01 where number=2;
Query OK, 1 row affected (0.01 sec)
delete from 테이블명 where 조건
number=2 인것의 레코드를 지우는 명령이다.레코드는 가로줄이다.
mysql> select * from tb01;
+---------+-----------+------------------+------------+----------+
| number | name | address | wdate | wtime |
+---------+-----------+------------------+------------+----------+
| 1 | suhoi | new add | 1999-10-22 | 15:29:01 |
+---------+-----------+------------------+------------+----------+
18. 테이블 지우기
mysql> drop table tb01;
Query OK, 0 row affected (0.01 sec)
mysql> show tables;
19. 종료하기
mysql> quit
Bye
★ PHP 에서의 MySQL 서버 연결
PHP 파일 안에서 mysql 서버를 연결 할려면 root 에 비번은 없게 주어야 한다.
mysql_connect('localhost','root','');
mysql_select_db("db01");
로 연결 하여 사용하며 나머지 부분은 모두 동일 하다.
root 사용자 가 db01 를 만들었으며 비밀번호는 아직 없다.