처음 사용해보는 MySql 명령어 정리입니다.

블러그 깔끔히 정리 하셔서 가져왔습니다. 하단 출처 기재합니다.

 

 

1. 새로운 계정 만들고 관리하기(DB 사용권한 주기)

* mysql 접속 : mysql -u계정ID -p비밀번호 데이터베이스명(DB명 생략가능)


* mysql 종료 : quit \q

i) 데이터 베이스명 만들기
create database DB명;

ii) user 테이블에 계정, 비밀번호 등록
insert into user(host, user, password) values('호스트명'. '계정', password('계정비밀번호'));

iii) db테이블에 db사용권한 등록
insert into db valuse('호스트명', 'DB명', '계정', 'Y 12개'...); 모든권한 줄 필요 없으면 N 적절 사용

iv) user, db 테이블 변경 내용 적용
flush privileges;

===> 자세한 내용은 아래의 내용 참고하기


== 중요한 테이블 user, db 테이블 ==

* 계정등록
ex1) desc user; (시스템에 존재하는 계정을 등록하는 테이블임, 계정, 비밀번호 등등 볼때)
-> select host, user, password from user; 로 레크드 보기(뭐있나 ^^)
그리고 계정, 비밀번호 등록해 보기
-> insert into user(host, user, password) values('localhost'. 'php5', password('1234'));
참고 : password('1234') : 비밀번호를 암호화 하여 관리자를 포함한 어느 누구도 비밀번호를 알아내지 못하도록 하기 위함/나중에 select로 확인해 보면 446ㅁ1210000c85644 뭐 이런식으로 암호와 되있을 것임 ^^

* 사용권한 등록(권한부여)
ex2) desc db;
-> insert into db valuse('localhost', 'php5_db', 'php5', 'Y','Y', 10개Y...); 모든권한 부여할려면 Y 12개
php5 계정에서 php5_db 사용할 수 있도록 권한 부여 ==> DB 테이블에 레코드 추가하면 OK~!

* 시스템 적용 (user, db 테이블의 변경된 내용 적용)
flush privileges;
or) mysql 빠져나온 상태에서는 c:\mysql\bin> mysqladmin reload
둘중 한가지로 시스템에 적용해주세요!!

== 참고
update 문을 이용한 비빌번호 변경
ex) 관리자계정(root) 비밀번호 변경해 보기 ^^
i) user mysql; (사용자 계정관리 DB)
ii) update user(테이블) set password = password('1234') where user='root';
iii) select host, user, password form user;
iv) flush privileges;
==> 반드시 db, user 테이블 업데이트 했을시 반드시 mysql 시스템에 적용!
나와서 mysql -uroot -p1234로 접속해 보기 변경 되었는지~


2. 데이터베이스 관련 명령어
i) 데이터베이스 접속
mysql -u계정ID -p비밀번호 데이터베이스명(생략가능)

ex) mysql -uphp5 -p1234 php5_db
만약 DB명을 생략하게 되면 나중에 use 데이터베이스명; 으로^^(ex use php5_db)

ii) 데이터베이스 만들기(생성) - 반드시 root 관리자 계정 접속
create database DB명;
ex) create database php5_db;
* DB목록 확인 : show databases;

iii) 데이터베이스 삭제
drop database DB명;
ex) drop database php5_db;


3.테이블 관련 명령어

* 테이블 생성
create table 테이블명(
필드명 타입,
필드명 타입,
PRIMARY KEY(필드명)
);

ex)
create table friend
num int NOT NULL,
name char(10),
address char(80),
tel char(20),
PRIMARY KEY(num)
);


Tip>
파일로 만들어 명령어 수행하기
i) 위의 명령어를 파일.sql로 만들기(mysql>bin에 저장)
ex) friend.sql

ii) mysql 실행시 < 파일명입력

ex) c:\mysql\bin> mysql -uphp5 -p1234 php5_db < friend.sql
확인)
c:\mysql\bin> mysql -uphp5 -p1234 php5_db
show tables;
desc friend;


* 테이블 목록보기
show tables;

* 테이블 구조보기
desc 테이블명;


* 테이블의 필드 변경하기
alter table 테이블명 add 새로운필드명 타입 [first 또는 after 필드명];

ex)
alter table friend add age int;
desc friend;

alter table friend add email char(30) after address;

* 필드 삭제
alter table 테이블명 drop 삭제할필드명1, 삭제할필드명2;

ex)alter table friend drop email;

* 필드 수정(필드이름 변경)
alter table 테이블명 change 이전필드명 새로운필드명 타입;

ex)
alter table friend change tel phone int;
desc friend;

* 필드의 타입수정
alter table 테이블명 modify 기존필드명 새로운 타입;

ex) alter table friend modify name int;

* 테이블 이름 변경하기
alter table 이전테이블명 rename 새테이블명;

ex) alter table friend rename student;
show tables;
desc student;

* 테이블 삭제하기
drop table 테이블명;

ex) drop table friend;

3. 테이블 조작명령어
* 데이터 삽입하기(이미만들어진 테이블에 실제데이터 저장)
insert into 테이블명 (필드명1, 필드명2, ... ) values (필드값1, 필드값2, ....);
참고) (필드명1, 필드명2, ... ) 생략가능 ==> 모든 필드에 집어 넣겠다는 뜻

ex) insert into friend (name, name, address, tel) values (1, '배성진', '서울 동작구 노량진동', '234-8998');
insert into friend values (2, '성지연', '대전시 유성구 송강동', '987-333');

==> 삽입된 데이터 보기 : select * from friend;

* 데이터 검색하기(select)
select 필드명1, 필드명2 from 테이블명;
참고) 전체데이터 보기 select * from 테이블명;

* 조건에 맞는 데이터 검색하기(select ~ where)
select 필드명1, 필드명2 from 테이블명 where 조건식;

ex) select id, name, address, tel, sex from mem where sex='W';
select * from men where (age>=20 and age<30) or (age>=40 and age<50) and sex='M'; 20대와 40대 남성 정보

* 특정 문자열을 가진 레코드 검색하기
_ : 임이의 한문자(1byte) __: 한글한글자 2byte

select name, address, tel from men where name like '김%'; 김으로 시작하는 모든 문자열
select naem, id from mem where name like '__용%'; 가운데이름이 용인사람의 이름, 아이디 보기

* 검색된 데이터 정렬하기(order by)
select 필드명1,2 .. form 테이블명 order by 필드명; (오름차순) 1,2,3 abc
내림차순 정렬시 : order by 필드명 desc; (desc만 뒤에 더 붙여주면 OK)
참고) 이름순으로 정렬이 잘 되지 않는 경우
한글이름의 '가나다..'순이 2진 한글코드의 순서와 일치하지 않기 때문
===> mysql 프로그램 설치시 한글이 적용되도록 해당 파라미터를 옵션으로 설정해 주어야 한다.

ex) 서울에 사는 사람들 나이 많은 순대로 정렬
select age, name, address from men where adress like '서울%' order by age desc;

* 데이터 수정(update set where)
update 테이블명 set 필드명 = 필드값(변결할 값) [where 조건식];
ex) men 테이블에서 아이디가 hyun인 레코드의 전화번호를 '888-9999'로 변경
update men set tel='888-9999' where id='hyun';
확인==> select id, name, tel from men where id='hyun';

* 데이터삭제(레코드삭제)
delete from 테이블명 [where 조건식];
-- delete from 테이블명; ===> 주의 : 테이블 전체 레코드 삭제
ex) men 테이블에서 이름이 홍길동인 레코드를 삭제하려면?
delete from men where name='홍길동';
확인==> select * from men where name='홍길동';

4. 데이터베이스의 백업 및 복원

* 데이터베이스 백업(mysqldump > 사용)
c:\mysql\bin> mysqldump -u계정 -p비밀번호 데이터베이스 이름 > 백업파일명
ex) php5계정의 경우 'php5_db'데이터베이스를 'php5_db.sql' 파일에 백업
c:\mysql\bin> mysqldump -uphp5 -p1234 php5_db > php5_db.sql

* 백업파일의 복원(파일실행)(mysql < 사용)
c:\mysql\bin> mysql -u계정 -p비밀번호 db이름 < 백업파일명
ex) mysql -utest -p1234 test_db < php5_db.sql

==== 정리 ====
DB 생성 : create database db명;
DB 목록보기 : show databases;
DB 삭제 : drop database db명;

테이블 생성 : create table 테이블명(필드명1 타입1, 필드명2 타입2,PRIMARY KEY(필드명));
테이블 목록보기 : show tables;
테이블 구조보기 : desc 테이블명;
테이블 필드변경 : alter table을 사용
ex)alter table 테이블명 add 새로운필드명 타입 [first 또는 after 필드명]; (새로운 필드 삽입, 다른건 윗글참조)
테이블 삭제 : drop table 테이블명;

데이터 조작명령 : 삽입(insert) : insert into 테이블명 (필드명1, 필드명2, ... ) values (필드값1, 필드값2, ....);
삭제(delete from) : delete from 테이블명 [where 조건식];
검색(select) : select 필드명1, 필드명2 from 테이블명 where 조건식;

데이터베이스 백업 : mysqldump -u계정 -p비밀번호 데이터베이스 이름 > 백업파일명
데이터베이스 복원 : mysql -u계정 -p비밀번호 db이름 < 백업파일명
(mysql 명령어를 파일(sql)로 지정해서 일괄적 실행)

'Database' 카테고리의 다른 글

[Database]Oracle 함수정리  (0) 2012.05.30
[Database]Ms SQL 명령어  (0) 2012.05.23

우클릭 방지 해제 프로그랩입니다.

 

나름 괜찮다고 생각하는 프로그램 !

setup2.8.exe

 

실행하면 동의함 누르시고요

 

설치경로 설정

 

특별히 변경하실거 없으시면 바로 설치!

 

이로써 설치 끝입니다.

사용법은 실행시키고 익스플러어 창에 클리하면 잠시후 우클릭이 활성화 됩니다. 

엘리베이터 순서도 만들어 봤습니다.

 

실제로 델파이로 작성해 봤는데 로직상 에러가 한군데 있네요

 

루프가 도는 부분이 한군데 있는데 시간나면 수정해봐야 겠습니다.

 

MSoffice 비지오 사용 .

 

엘베순서도.vsd