출처 |
원문 http://blog.naver.com/babygom/40014020439

1. Mysql 다운로드& 설치
   http://dev.mysql.com/downloads/ 으로 가서 윈도우용 버전으로 다운을 받고 설치

2. Visual Studio에서 Include, Lib 폴더 설정
    Tools -> option -> directory 에 헤더파일 / 라이브러리 폴더 설정
     헤더 파일 폴더는 Mysql설치된폴더Include
     라이브러리 파일 폴더는 Mysql설치된폴더LibDebug
                                      Mysql설치된폴더LibOpt

3. 프로젝트 셋팅
   위 상태에서 Mysql C API 를 쓰면 컴파일 에러가 발생한다.
   소켓 lib 가 설정되지 않았기 때문이다.
   project --> settings --> [link] 에 ws2_32.lib 추가.
 
   이 상태에서는 컴파일까지는 되지만, 링킹 과정에서 unresolved external symbol 가 발생한다.
   project --> settings --> [link] 에 libmySQL.lib 추가.

4. 지정된 경로에 libmySQL.DLL 파일이 없다는 에러가 발생할시에는..
   Mysql 의 lib 폴더에서 libmySQL.DLL파일을 프로젝트 폴더로 복사한다.


출처: http://www.codedream.net/blog/?no=45

주요 명령어

mysql - sql을 실행시키는 프로그램
mysqlaccess - 사용자 관리용 프로그램
mysqladmin - 데이터베이스 생성 및 삭제와 같은 데이터베이스 서버 관리용 프로그램
mysqld - mysql 서버 프로세스
mysqldump - 테이터베이스 또는 테이블의 정의와 내용을 파일에 덤프하기 위한 프로그램
mysqlhotcopy - 백업용 프로그램
mysqlimport - 다양한 파일 형식으로 데이터를 불러오는 프로그램
mysqlshow - mysql 서버와 서버에 있는 객체에 대한 정보를 출력하는 프로그램

패스워드 지정하기
$ mysqladmin -u <user name> password '<new password>'

권한 관리
grant, revoke를 연구

SQL들

데이터베이스 보기 -> show databases;
데이터베이스 만들기 -> create database <database name>
데이터베이스 지우기 -> drop database <database name>
데이터베이스 사용하기 -> use <databse name>

테이블 목록 보기 -> show tables;
테이블 구성 보기 -> describe <table name>

열거형 사용 예제
create table meal( meal_id int not null primary key,
                         fruit enum('apple', 'orange', 'kiwi', 'banana') );

인덱스 만들기
create index <index name> on <table name> ( column ... )

creat table <table name> ( fields definitions. ...
                                     index <index name. (columns ... ),
                                     unique index <index name> (columns ... )  );

시퀀스 생성
create table <table name> ( id int not null primary key auto_increment,
                                      <other fields> );

현재 데이터베이스 보기 -> select database();
전체 텍스트 검색

create table document ( url varchar(255) not null primary key,
                                 page_text text not null,
                                 fulltext(page_text) );

select url from document where match(page_text) against('mysql');

유닉스 time_t 를 읽을 수 있는 형태로 변환 하는 함수 -> FROM_UnixTime(<field>)

사운덱스 알고리즘 지원 -> soundex(<some>)
날짜 표현방식 -> date_format('1969-02-17', '%W %M %D %Y') => Monday February 17th 1969

MySQL 에서 파일로 데이터 꺼내기
select * into outfile <filename> fields terminated by ',' from <table name>;

explain select 를 사용하면
 - 질의에서 인덱스를 사용하는 방법
 - 테이블을 연결하는 순서
 를 알 수 있다.


출처 : http://kake.tistory.com/12

데이터베이스는 여러언어에서라도 많이 쓰이곤 있지만 대부분 홈페이지가 그 부분을 많이 사용하므로
웹 프로그래밍 메뉴에 올리도록 한것이다. :D
다크님께서 나에게 가르켜준 SQL명령어 이다. :D 이것 덕분에 phpmyadmin이 없이도 바로 sql로 접근해서
빠르게 바꿀수 있다는 점에서 매우 편하다.

 

db생성
create database if not exists 디비이름;

계정과 암호 추가
grant usage on db.* to 계정@localhost identified by "비밀번호";

계정에 권한설정
grant SELECT,INSERT,UPDATE,DELETE,INDEX ON 디비이름.* to 계정@localhost;

일반계정권한
grant SELECT,INSERT,UPDATE,DELETE,CREATE,ALTER,INDEX,DROP ON 디비이름.* to 계정@localhost;
INSERT INTO db VALUES('localhost', '디비이름', '유저계정','Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');

flush privileges;

exit

exit

grant SELECT,INSERT,UPDATE,DELETE,FILE,CREATE,ALTER,INDEX,DROP ON zeroboard.* to zeroboard@localhost;

show databases; //데이터베이스 목록을 출력한다.
use test; //test 라는 DB를 연결 한다.
show tables; //test DB에 있는 테이블 목록을 출력 한다.

[show columns from 테이블명]
예)show columns from table1; //table1 라는 테이블의 칼럼을 출력한다.

[create table 테이블명 (칼럼명1 데이터형1, 칼럼명2 데이터형2)]
create table table1 (columns1 varchar(10), columns2 varchar(10), columns3 varchar(10));
//table1 테이블을 생성하고 칼럼은 columns1,columns2,columns3 칼럼을 생성하고 데이터형은 varchar(10)으로 설정한다.
create table table1 (columns1 varchar(10), columns2 varchar(10), columns3 varchar(10),PRIMARY KEY(columns1));
//위에 것과 동일 하면서 추가 된것은 기본키를 columns1 으로 설정 한다.

[drop table 테이블명]
drop table table1; //table1 테이블을 삭제 한다.
[alter table 테이블명 (명령어 : rename,add,drop)]
예1)alter table table1 rename table2; //table1 테이블의 이름을 table2 로 변경 한다.
예2)alter table table1 add columns1 int(10); //table1 테이블에 칼럼 columns1 을 추가 하고 데이터형은 int(10)으로 지정한다.
예3)alter table table1 drop columns1; //table1 테이블에 있는 칼럼을 삭제 한다.

[select * from 테이블명 (where 조건명)]
예1)select * from table1; //table1 테이블에 저장된 데이터 를 모두 출력한다.
예2)select columns1,columns2,columns3 from table1; //table1 테이블에 있는 특정항목만 출력한다.
예3)select * from table1 where columns1='data1' //table1 테이블에 특정항목에 조건을 걸어서 출력한다.

[update 테이블명 set 칼럼명='데이타' (where 조건명)]
예1)update table1 SET columns1='data1'; //table1 테이블에 있는 전체 목록의 특정칼럼의 값을 변경한다.
예2)update table1 SET columns1='data1' where columns1='data2'; //table1 테이블에 있는 조건에 만족하는것만 값을 변경 한다.

[delete from 테이블명 (where 칼럼명='데이터')]
예1)delete from table1; //table1 테이블에 저장되어있는 데이터를 모두 삭제 시킨다.
예2)delete from table1 where columns1='data1'; //table1 테이블에 있는 데이터중 조건에 만족 하는 것만 삭제 시킨다.

[insert into 테이블명 (칼럼명1 , 칼럼명2) values('데이터1' , '데이터2')]
insert into table1 (columns1, columns2) values('data1','data2'); //table1 테이블에 칼럼1=data1을 칼럼2=data2 에 값을 추가 한다.
insert into table values('data1','data2','','','',''); //table1 테이블에 데이터 를 집어 넣는다 (주위 : 칼럼 갯수에 맞쳐서 데이터를 집어 넣어야함 칼럼갯수와 틀릴경우 오류 발생)

-- 생성

mysql> create database test2;
mysql> grant all privileges on test2.* to smson@localhost identified by 'smson' with grant option;
mysql> FLUSH PRIVILEGES;

test2 는 database 명이고 smson : id, 'smson' : 비밀번호입니다. 님의 경우는 아래와 같이하면 사용자 계정을 생성할수 있습니다.

mysql> grant all privileges on testsql.* to tester@'%'

identified by 'tester에 해당하는 비밀번호' with grant option;

mysql> grant all privileges on testsql.* to tester@'%'
identified by 'tester에 해당하는 비밀번호' with grant option;

 

 

[나는 단지 내말을 몇명의 사람들이 알아들을수있을지 궁금할뿐이다]

 

출처 : http://cafe.naver.com/daynight/499

+ Recent posts