±âÃÊ #

  • óÀ½ ¼³Ä¡µÇ´Â DB : mysql, test

Á¢¼Ó #

  • # mysql mysql <Enter> // rootÀÇ °æ¿ì
  • $ mysql -u»ç¿ëÀÚ¸í -pÆÐ½º¿öµå DB¸í // userÀÇ °æ¿ì

±âº» ¸í·É #

  • tableº¸±â : show tables;
  • databaseº¸±â : show databases;
  • table±¸Á¶º¸±â : desc <tablename>;

ÇÊ¿äÇÑ ÀÛ¾÷ #

  • mysql dbÀÇ root passwordº¯°æÇϱâ

    mysql> update user
        -> set password = password('testpass')
        -> where user = 'root';
    Query OK, 2 row affected (0.00 sec)
    
  • database¸¸µé±â

    mysql> create database user1;
    Query OK, 1 row affected (0.01 sec)
    
  • °èÁ¤Ãß°¡ ¹× ±ÇÇÑÁÖ±â

    mysql> insert into user (host,user,password) values('localhost','»ç¿ëÀÚID',password('ºñ¹Ð¹øÈ£')); 
    mysql> insert into db values('localhost','DB¸í','»ç¿ëÀÚID','y','y','y','y','y','y','y','y','y','y','y','y'); 
    mysql> flush privileges; 
    
  • user Å×ÀÌºí¿¡ »ç¿ëÀÚ¸¦ insert, update ÇÑ °æ¿ì MySQLÀ» ²À Àç±âµ¿½ÃÄÑ ÁÖ¾î¾ß¸¸ ÇÑ´Ù. ¸í·ÉÀº ´ÙÀ½°ú °°´Ù.

    $ mysqladmin -u root -p reload
    
    ÀÌ ¸í·ÉÀº user Å×ÀÌºí¿¡¼­ »ç¿ëÀÚ Á¤º¸¸¦ ´Ù½Ã Àо MySQL À» ´Ù½Ã ½ÇÇà½ÃÄÑÁØ´Ù.

  • root password¸¦ ÀÒ¾î ¹ö·ÈÀ»¶§,

    ./safe_mysqld --skip-grant-tables 
    
    ÈÄ¿¡, ´Ù½Ã mysqlÀ» ½ÇÇà½ÃŲ´Ù.

  • http://tunelinux.pe.kr/mysql/manual/08.txt»õâ

  • mysql rpm È®ÀÎ

    [root@exp1 mysql]# rpm -qa | grep mysql
    mysql-server-3.23.52-3
    mysql-devel-3.23.52-3
    php-mysql-4.2.3-8hl
    mysql-3.23.52-3
    

  • autoindex ÃʱâÈ­

    ALTER TABLE tbl_name AUTO_INCREMENT= 1
    

Charset º¯°æ #

  • convert('string' using euckr)
  • select * from domain where D_domain = convert('BARMI' using euckr);

C API Sample #

/*________________________________________________________________________
 * ÀÛ¼ºÀÚ : À±¿µÇÑ (shee@ilinuxbay.com)
 * ÀÛ¼ºÀÏ : 2003. 08. 25. (¿ù) 13:36:42 KST
 * È­Àϸí : mysql_member.c
 * ³»  ¿ë : À¯Àú¿¡ ´ëÇÑ Á¤º¸¸¦ MYSQL C API¸¦ ÀÌ¿ë
 * 			ÇØ¼­ °ü¸®ÇÑ´Ù.
 * Âü  Á¶ : Teach Yourself C week ±âº» °ñ°ÝÀ» ÀÌ¿ë
 * 			¼ö¾÷¿ë ±³Àç·Î ÀÌ¿ë Ȱ¿ë °¡´É¼º ±¸Çö
 * 			- ¸ðµâÈ­ ¹× Áߺ¹¼º ¹èÁ¦
 * 			- http://ilinuxbay.com/
 *
 * 	MYSQL : 
 *  
 * 	CREATE TABLE `member` (
 *  	`idx` int(11) NOT NULL auto_increment,
 * 	    `id` varchar(20) NOT NULL default '',
 * 	    `name` varchar(20) NOT NULL default '',
 * 	    `email` varchar(50) NOT NULL default '',
 * 	     PRIMARY KEY  (`idx`)
 * 	) TYPE=MyISAM
 *
 * 	HOWTO COMPILE : 
 * 	gcc -o mysql_member mysql_member.c -I/usr/local/mysql/include/mysql \ 
 * 	    -L/usr/local/mysql/lib/mysql -lmysqlclient -lz -lcrypt -lnsl -lm
 * ______________________________________________________________________*/


//¶óÀ̺귯¸® ¼±¾ð 
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<time.h>
#include<mysql.h>
#include<sys/time.h>

//»ó¼öÁ¤ÀÇ
#define YES	1
#define	NO	0
#define	MYSQL_HOST	"localhost"
#define	MYSQL_USER	"root"
#define	MYSQL_PWD	""
#define	MYSQL_DB	"work"

//Äõ¸® Á¤ÀÇ 
#define SELECT_QUERY	"SELECT  idx, id, name, email FROM `member`"
#define INSERT_QUERY	"INSERT INTO `member` ( `idx` , `id` , `name` , `email` ) VALUES ( '', '%s', '%s', '%s' )"
#define DELETE_QUERY	"DELETE FROM `member` WHERE idx='%s'"
#define UPDATE_QUERY	"UPDATE `member` SET `id` = '%s',`name` = '%s',`email` = '%s' WHERE `idx` = '%s'"
#define SEARCH_QUERY	"SELECT idx, id, name, email FROM `member` WHERE name LIKE '%s'"

//º¯¼öÁ¤ÀÇ
struct user {
		char idx[20];
		char id[20];
		char name[20];
		char email[50];
}member;

MYSQL_RES	*res;
MYSQL_ROW	row;
MYSQL	*conn, mysql;
char qbuf[160];		//ÃÖ´ë Äõ¸®ÀÇ »çÀÌÁî ¸¸Å­ ÇÒ´çÇÑ´Ù.

//ÇÔ¼ö¿øÇü

void conn_mysql(void);
void user_list(void);
void user_input(void);
void user_modify(void);
void user_del(void);
void user_search(void);
int continue_fun(void);
int display_menu(void);

//MAIN ÇÔ¼ö
int main(){

		//Áö¿ªº¯¼ö¼±¾ð
		int cont = YES;
		
		//µ¥ÀÌÅÍ º£À̽º¸¦ ÃʱâÈ­ ÇØ¼­ connectionÀ» ¾ò¾î ¿Â´Ù.
		conn_mysql();
	
		//¸Þ´º Ãâ·Â
		while( cont == YES){
			switch( display_menu()){
					case '1' :	user_list();	
								break;
					case '2' :	user_input();
								break;
					case '3' : 	user_modify();
								break;
					case '4' :	user_del();
								break;
					case '5' :	user_search();
								break;
					case '6' :  printf("\nÇÁ·Î±×·¥ Á¾·á !\n");
								cont =	NO;
								break;
					default	:	printf("\n\n¸Þ´ºÁß 1~6 »çÀÌÀÇ ¹øÈ£¸¦ ¼±ÅÃÇØ ÁÖ¼¼¿ä.");
								break;
			}//__end switch
		}//__end while
		
		//µ¥ÀÌÅÍ º£À̽ºÀÇ °á°ú¸¦ ¸Þ¸ð¸®¿¡¼­ ÇØÁöÇÑ´Ù.
		mysql_free_result(res);
		
		//µ¥ÀÌÅÍ º£À̽º ¿¬°áÀ» ´Ý´Â´Ù. 
		mysql_close(conn);
		return(0);
}

//ÇÔ¼ö¼±¾ð
// µ¥ÀÌÅÍ º£À̽º ÃʱâÈ­ : conn_mysql()
void conn_mysql(void){
	mysql_init(&amp;mysql);
	conn	=	mysql_real_connect(&amp;mysql,MYSQL_HOST,MYSQL_USER,MYSQL_PWD,MYSQL_DB,0,0,0);

	if(conn	==	NULL){
		fprintf(stderr,"µ¥ÀÌÅÍ º£À̽º ¿¬°á ½ÇÆÐ : %s\n",mysql_error(&amp;mysql));
		exit(1);
	}
}

//»ç¿ëÀÚ ¸®½ºÆ®¸¦ Ãâ·Â : user_list()
void user_list(void){
		puts("___________________________________________________________________");
		puts("idx  :   ID      :  À̸§              : À̸ÞÀÏ");
		puts("-------------------------------------------------------------------");
		
		//MYSQL¿¡ ÁúÀÇ
		if((res = mysql_query(conn,SELECT_QUERY)) != NULL){
			fprintf(stderr,"ÁúÀÇ ½ÇÆÐ : %s\n",mysql_error(conn));
			exit(1);
		}
		//ÁúÀǸ¦ ÇÑ °á°ú¸¦ Ãâ·ÂÇÑ´Ù.
		res = mysql_store_result(conn);
		
		while((row = mysql_fetch_row(res)) != NULL){
				printf("%-6s %-10s %-20s %-50s \n",row[0],row[1],row[2],row[3]);
		}
}

//»ç¿ëÀÚ Á¤º¸ ÀÔ·Â : user_input()
void user_input(void){
		
		puts("___________________________________________________________________");
		puts("                       »ç¿ëÀÚ ÀÔ·Â");
		puts("-------------------------------------------------------------------");
		printf(" »ç¿ëÀÚ ID : ");
		fgets(member.id,sizeof(member.id),stdin);
		member.id[strlen(member.id)-1]='\0';

		printf(" »ç¿ëÀÚ À̸§ : ");
		fgets(member.name,sizeof(member.name),stdin);
		member.name[strlen(member.name)-1]='\0';

		printf(" »ç¿ëÀÚ À̸ÞÀÏ : ");
		fgets(member.email,sizeof(member.email),stdin);
		member.email[strlen(member.email)-1]='\0';

		//ÀÔ·Â ¹ÞÀº µ¥ÀÌÅ͸¦ ÀÌ¿ë Äõ¸®¸¦ »ý¼º
		sprintf(qbuf,INSERT_QUERY,member.id,member.name,member.email);

		if(mysql_query(conn,qbuf)){
			fprintf(stderr,"ÁúÀÇ ½ÇÆÐ : %s\n",mysql_error(conn));
        	exit(1);
	    }
}

//»ç¿ëÀÚ Á¤º¸ ¼öÁ¤ : user_modify()
void user_modify(void){
		
		
		puts("___________________________________________________________________");
		puts("                       »ç¿ëÀÚ ¼öÁ¤");
		puts("-------------------------------------------------------------------");
		printf("¼öÁ¤ÀÇ ¿øÇÏ´Â idx :");
		fgets(member.idx,sizeof(member.idx),stdin);	
		member.id[strlen(member.idx)-1]='\0';
		
		printf(" »ç¿ëÀÚ ID : ");
		fgets(member.id,sizeof(member.id),stdin);
		member.id[strlen(member.id)-1]='\0';

		printf(" »ç¿ëÀÚ À̸§ : ");
		fgets(member.name,sizeof(member.name),stdin);
		member.name[strlen(member.name)-1]='\0';

		printf(" »ç¿ëÀÚ À̸ÞÀÏ : ");
		fgets(member.email,sizeof(member.email),stdin);
		member.email[strlen(member.email)-1]='\0';

		//ÀÔ·Â ¹ÞÀº µ¥ÀÌÅ͸¦ ÀÌ¿ë Äõ¸®¸¦ »ý¼º
		sprintf(qbuf,UPDATE_QUERY,member.id,member.name,member.email,member.idx);

		if(mysql_query(conn,qbuf)){
			fprintf(stderr,"ÁúÀÇ ½ÇÆÐ : %s\n",mysql_error(conn));
        	exit(1);
	    }
}

//»ç¿ëÀÚ Á¤º¸ »èÁ¦ : user_del()
void user_del(void){
		
		puts("___________________________________________________________________");
		puts("                       »ç¿ëÀÚ »èÁ¦");
		puts("-------------------------------------------------------------------");
		printf("»èÁ¦¸¦ ¿øÇÏ´Â idx :");
		fgets(member.idx,sizeof(member.idx),stdin);	
		member.id[strlen(member.idx)-1]='\0';
		
		//ÀÔ·Â ¹ÞÀº µ¥ÀÌÅ͸¦ ÀÌ¿ë Äõ¸®¸¦ »ý¼º
		sprintf(qbuf,DELETE_QUERY,member.idx);

		if(mysql_query(conn,qbuf)){
			fprintf(stderr,"ÁúÀÇ ½ÇÆÐ : %s\n",mysql_error(conn));
        	exit(1);
	    }
}

//»ç¿ëÀÚ Á¤º¸ °Ë»ö : user_search()
void user_search(void){
		
		puts("___________________________________________________________________");
		puts("                       »ç¿ëÀÚ °Ë»ö");
		puts("-------------------------------------------------------------------");
		printf("À̸§À¸·Î °Ë»ö name :");
		fgets(member.name,sizeof(member.name),stdin);	
		member.name[strlen(member.name)-1]='\0';
		strcat(member.name,"%");
		
		//ÀÔ·Â ¹ÞÀº µ¥ÀÌÅ͸¦ ÀÌ¿ë Äõ¸®¸¦ »ý¼º
		sprintf(qbuf,SEARCH_QUERY,member.name);

		if(mysql_query(conn,qbuf)){
			fprintf(stderr,"ÁúÀÇ ½ÇÆÐ : %s\n",mysql_error(conn));
        	exit(1);
	    }

		//ÁúÀǸ¦ ÇÑ °á°ú¸¦ Ãâ·ÂÇÑ´Ù.
		res	=	mysql_store_result(conn);
		puts("");
		puts("___________________________________________________________________");
		puts("idx  :   ID      :  À̸§              : À̸ÞÀÏ");
		puts("-------------------------------------------------------------------");

		while((row	=	<span style="color:#FFA34F"><b>mysql_fetch_row(</b></span>res)) != NULL){
				printf("%-6s %-10s %-20s %-50s \n",row[0],row[1],row[2],row[3]);
		}
}

//ÇÁ·Î±×·¥ ÁøÇà üũ ÇÔ¼ö menu_continue()

int continue_fun(void){
	char ch, buf[20];
	do{
			printf("\n°è¼Ó ÇϽðڽÀ´Ï±î ? (Y)es/(N)o :");
			fgets(buf,sizeof(buf),stdin);
			ch	=	*buf;
			
	}while(strchr("NnYy",ch)	== NULL);
	
	if(ch	== 'n' || ch	==	'N'){
		return(NO);
	}else{
		return(YES);
	}
}

//¸Þ´º ¼±Åà ÇÔ¼ö : display_menu()
int display_menu(void){
	char ch, buf[20];
	puts("");
	puts("    MENU      ");
	puts("_______________");
	puts("");
	puts("1. »ç¿ëÀÚ  ¸®½ºÆ®");
	puts("2. »ç¿ëÀÚ  ÀÔ·Â  ");
	puts("3. »ç¿ëÀÚ  ¼öÁ¤  ");
	puts("4. »ç¿ëÀÚ  »èÁ¦  ");
	puts("5. »ç¿ëÀÚ  °Ë»ö  ");
	puts("6. Á¾·á          ");
	printf("\n\n ¸Þ´º ¼±Åà : ");
	fgets(buf,20,stdin);
	ch	= *buf;
	return(ch);
}

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2009-09-08 19:17:28
Processing time 0.0636 sec