<DATABASE>
db 접속 : mysql -u계정 -p비밀번호 데이터베이스명
- C:₩> mysql -ukdhong –p1234 kdhong_db
db 생성 : create database 데이터베이스명;
- mysql> create database sample1;
db 목록 보기 : show databases;
- mysql> show databases;
db 삭제 : drop database 데이터베이스명;
- mysql> drop database sample1;
<TABLE>
테이블 생성 명령 : mysql> create table 테이블명( 필드명1 타입, 필드명2 타입, 필드명3 타입, ........... PRIMARY KEY(필 드명) );
mysql> create table friend ( -> num int not null, -> name char(10), -> address char(80), -> tel char(20), -> email char(20), -> primary key(num) -> );
테이블 필드 구조 확인 : desc 테이블명;
mysql> desc friend;
새로운 필드 추가 명령 : alter table 테이블명 add 새로운 필드명 필드타입 [first 또는 after 필드명];
ex)friend 테이블 나이 필드를 정수형으로 추가
1. mysql> alter table friend add age int;
2. mysql> desc friend; (확인)
필드 삭제 : alter table 테이블명 drop 삭제할 필드명1, 삭제할 필드명2;
ex) friend 테이블에서 email과 age 필드 삭제
1. mysql> alter table friend drop email;
2. mysql> alter table friend drop age;
필드 수정 : alter table 테이블명 change 이전 필드명 새로운 필드명 필드 타입;
ex) friend 테이블 필드 중 tel char(20)을 phone int로 변경
mysql> alter table friend change tel phone int;
필드 타입 수정 명령 : alter table 테이블명 modify 필드명 새로운 타입;
ex) name 필드의 타입을 int로 변경
mysql> alter table friend modify name int;
테이블명 수정 명령 : alter table 이전 테이블명 rename 새로운 테이블명;
ex) 테이블명 friend에서 student로 변경
mysql> alter table friend rename student;
테이블 삭제 : drop table 테이블명;
<RECORD>
특정 문자열이 포함된 레코드 검색 명령 : select 필드명1, 필드명2, from 테이블명 where 검색 필드 like 조건식;
ex) 성이 김씨인 사람의 이름, 주소, 전화번호 보기
mysql> select name, address, tel from mem where -> name like '김%';
레코드 정렬 명령 : select 필드명1, 필드명2 from 테이블 명 order by 필드명;
ex) 나이순 정렬, age, id, name, tel 필드 검색
오름차순 정렬 명령 mysql> select age, id, name, sex, tel from mem -> order by age;
내림차순 정렬 명령 mysql> select age, name, address from mem -> where address like '서울%' order by age desc;
레코드 수정 명령 : update 테이블명 set 필드명=필드값 [where 조건식]
ex) mem 테이블에서 아이디가 yjhwang인 레코드의 전화번호를 123-4567로 변경
1. mysql> update mem set tel='123-4567' where id='yjhwang';
2. mysql> select id, name, tel from mem where id='yjhwang';
레코드 삭제 명령 : delete from 테이블명 where 조건식
데이터베이스 백업 명령 : mysqldump -u계정 -p비밀번호 데이터베이스명 > 백업파일명
ex) kdhong 계정의 kdhong_db 를 kdhong_db.sql에 백업
C:₩kdhong> mysqldump -ukdhong -p1234 kdhong_db -> kdhong_db.sql
백업 파일 복원 : mysql -u계정 -p비밀번호 데이터베이스명 < 백업 파일명
ex) kdhong_db.sql을 다른 사용자 계정에 복원
계정 : kim, 비밀번호 : 1234, 데이터베이스명 : kim_db
C:₩kdhong>mysql -ukim -p1234 kim_db < kdhong_db.sql
<FUNCTION>
1. mysql_connect()
php 와 Mysql 을 연결 . (C:\>mysql -ukdhong -p1234’와 같은 기능)
2. mysql_select_db()
사용할 데이터베이스를 선택. ( ‘mysql>use kdhong_db;’와 같은 명령 )
3. mysql_query()
함수의 인자에 있는 sql 명령을 실행.
4. mysql_close()
mysql과의 연결 종료
5. mysql_fetch_array()
데이터베이스에서 레코드의 데이터를 배열 형태로 가져온다.
가져온 데이터는 $row[num], $row[id]와 같이 레코드의 필드명을 배열 인덱스에 직접 입력한 형태로 사용한다.
ex for 문에서의 어레이함수. 위에서 select * 로 한 열(가로)을 지정해 줬을때, for 문을 돌리면
mysql_fetch_array[0] -> 첫번째 행 (세로)
mysql_fetch_array[0] -> 두번째 행
mysql_fetch_array[0] -> 세번째 행
반복되는게 곧 행의 변경.
6. mysql_fetch_row()
데이터베이스에서 레코드의 데이터를 배열 형태로 가져온다.
array mysql_fetch_array() 함수와 동일한 기능을 수행하지만, 가져온 데이터는 레코 드의 필드 번호를 배열 인덱스에 입력한 $row[1], $row[$i]와 같은 형태로 사용하는 점 이 다르다.
7. mixed mysql_result(resource result, int row, mixed field)
- 첫 번째 인자: 식별자 번호(mysql_query()의 반환값)
- 두 번째 인자: 레코드의 행 위치
- 세 번째 인자: 레코드의 열 위치
레코드의 특정 위치에 저장된 값을 가져온다.
mysql_fetch_row()와 mysql_fetch_array() 함수가 하나의 레코드 정보를 가져오는 반 면,
mysql_result() 함수는 특정 위치에 해당하는 값을 가져온다.
세 번째 인자에는 필 드의 일련번호(0부터 시작)와 필드명을 모두 사용할 수 있고,
반환값의 형태에 따라 반 환값의 타입이 달라진다.
8 .mysql_num_fields()
형식> int mysql_num_fields(resource result)
인자의 필드 개수를 알려준다.
이중포문에서 필드의 갯수까지만 돌리도록 설계할 때 사용했음.
9. mysql_num_rows()
레코드의 개수를 알려준다.
'RDB > MySQL' 카테고리의 다른 글
php로 작성 , Mysql과 연동 (성적입력 홈페이지) (0) | 2021.01.21 |
---|---|
MySQL 실습 (3) - 필드 추가,삭제,데이터 변경. desc,alter,drop,where (0) | 2021.01.14 |
MySQL 기초실습(2) - 지정한 DB에 table 생성, 데이터 넣기 (0) | 2021.01.14 |
MySQL 기초 실습 (1) - 계정 생성하기 select,create 등 (0) | 2021.01.13 |