프로그래밍[Univ]/데이터베이스(DB)

[MySQL] MySQL 기본 사용법

Cloud Travel 2011. 12. 10. 12:50
앞으로 나오는 {} 기호는 사용자가 입력해야 되는 것을 말한다.

* MySQL 접속 방법
 - cmd창을 실행시킨다.
 - mysql -u {user_id} -p {user_pwd} {database_name};
  > mysql -u {user_id} -p {user_pwd} 만 입력하면 database를 따로 선택해줘야한다.
  > mysql -u {user_id} -p만 입력하면, user_pwd를 입력해달라고 나올 것이다.

* Database 사용
 - Database 생성 : create database {db_name};
 - Database 선택 : use {db_name};
 - Database 목록보기 : show databases;


* User 생성
 - grant all on {db_name}.* to '{new_id}' identified by '{new_id_pwd}'; 
 
* Table 사용
 - Table 생성 : create table {table_name}( {data_name} {data_type} {condition}, ... );
  > data_type : TININT(1), SMALLINT(2), INT(4), DOUBLE(8) // CHAR, VARCHAR, TEXT 
                      BINARY(N), VARBINARY(N) // DATE, TIME, DATETIME, TIMESTAMP 
  > condition : PRIMARY KEY(UNIQUE+NOT NULL), UNIQUE, DEFAULT, NOT NULL, AUTO_INCREMENT
 - Table 삭제 : drop table {table_name};
 - Table 변경 : alter table {table_name} ...;
 - Table 목록보기 : show tables;
 - Table 정의확인 : desc {table_name};
 - Table 이름변경 : rename table {table_name} to {new_table_name}; 


* Data 사용
 - 저장 : insert into {table_name}({data_lists}) values ({data_value});
 - 수정 : update {table_name} set ({data_name = data_value}) where {condition};
 - 삭제 : delete from {table_name} where {condition};
 - 검색 : select {data_name} from {table_name} [where {condition}] [order by {data_name = (desc/asc)}];
 - Join : select {data_name} from {table_names} where {condition}; 


* php에서 mysql 사용
 - 접속 : mysql_connet('hostname','userid','userpwd'); // 이 스트링을 db_connect에 넣었다고 가정한다.
 - db선택 : mysql_select_db('{db_name}',$db_connect);
 - query 전송 : mysql_query($query);
 - 결과 배열화 : mysql_fetch_array($query);
 - mysql 연결해제 : mysql_close($db_connect);



* SQL injection 방지
 - 사용자에 받는 값을 모두 "$input = mysql_real_escape_string($input);"을 이용해 한번 걸러준다.