원본출처 : http://user.chollian.net/~deuckgi/LinuxServer/mysql.htm
<시작하기>
1. mySQL 설정과 사용
1) 설정 : root가 아닌 mysql 계정 사용 <root 계정으로 작업을 하면 safe_mysqld가 host.frm 파일을 엑세스 못해 오류발생>
- $ su
- # su mysql
- bash-2.04$ cd /var/lib/mysql
- $ ls <아무 것도 나타나지 않는다.>
- $ mysql_install_db <기본 적인 db 만들기>
- $ exit
- # safe_mysqld& <mysql 가동시킴>
- # ls -l <제대로 가동되었으면 파일리스트가 나타난다. 관리자 계정에서의 설정은 여기서 끝! >
2) 사용자 관리
- # mysql -u root mysql
- mysql> update user set password=password(\******\) where user=\root\;
- mysql> flush privileges;
- # mysql -u root -p mysql <이제주터 password 입력해야 들어간다.>
- mysql> select host, user from user; <사용자 알아보기>
- mysql> grant all privileges on *.* to userid@localhost identified by \******\ with grant option; <사용자 추가하기>
- mysql> delete from user where user=\arom\;
3) mysql 데몬 띄우기
- 방법1 : X-window
- conttrol-panel -> runlevel editor -> 윈쪽에서 mysql 선택 -> add -> start mysql, 2 -> done ->done
- 방법2 : text 모드에서
- # /usr/sbin/setup ->system services ->run tool ->[*]mysqld ->quit ->reboot
2. mySQL 실행
1) mysql 의 test
- $ mysqladmin -p version <버젼 확인하기>
- $ mysql -p <현제 사용자 계정으로 암호를 넣고 들어가기>
- mysql> select user(); <사용자 확인하기>
- mysql> select version(); select now(); <다중 명령 적용 가능>
- mysql> select
->user()
->\c <입력 멈추기>
mysql>
2) mysql 의 사용 기초
- mysql> show databases; <database 알아보기>
- mysql> create database student; <db 만들기>
- mysql> use student; <db 사용하기>
- $ mysql -p student <데이터베이스를 사용하기>
- mysql> create table kwangsi (no char(3), name varchar(8), tel varchar(12), juso varchar(40), birth date, etc verchar(8)); <테이블 만들기>
- mysql> show tables; <테이블 내용 보기>
- mysql> describe kwangsi; <테이블의 변수 보기>
- mysql> insert into kwangsi values(\1\,\홍길동\,\041-333-4454\,\충남 예산 광시\, \1995-02-05\,null); <자료 입력>
- mysql> select * from kwangsi; <내용 보기>
- mysql> load data local infile \kwangsi.txt\ into table pet; <파일에서 읽어 들이기. 각 데이터는 탭(tab) 키로 구분되어 있어여 한다.>
- mysql> select * from kwangsi where juso=\광시\; < 내용의 일정한 부분만 추출>
- mysql> update kwangsi set name=\성춘향\ where no=\1\ and tel=\041-333-4454\; <변경해 주기>
- mysql> delete from kwangsi; < 테이블 지우기>
- mysql> select name from kwangsi; < 이름만 보여주기>
- mysql> select name, birth from kwangsi order by birth; <정렬하기>
- mysql> select name, birth from kwangsi order by birth desc; <역순으로 정렬하기>
<들어가기>
1) 테이블 만들기
- $ mysql -p
- mysql> create database my_db; <db 생성>
- $ mysql -p my_db < login.sql <테이블 생성>
2) mysqladmin - 데이터베이스 생성, 삭제, 패스워드 변경 등의 작업
- $ mysqladmin --help
- $ mysqladmin -u root -p password ****** <비밀번호 변경>
- $ mysql -u root -p
- $ mysqladmin -p version
- $ mysqladmin -u root -p create sora <생성>
- $ mysqladmin -u root -p drop sora <삭제>
- $ mysql -h linux3 -u root -p <데이터베이스에 원격 접속>
<step 1>
1) myslq 산술 연산
- mysql> select 1+2+3;
- mysql> select 10-2;
2) mysql 논리 연산
- mysql> select not 1;
- mysql> select not 0;
- mysql> select 0 || 0;
- mysql> select 1 || 0;
- mysql> select 1 && 1;
- mysql> select 0 && 1;
- mysql> select 1 && null;
3) mysql 비교 연산자 <참: 1, 거짓: 0>
- mysql> select 1=0;
- mysql> select \3\ = 3; <어느 한쪽이 문자열이면 문자열로, 한쪽이 정수면 정수열로 비교되므로 참>
- mysql> select 0.0 <> 0;
- mysql> select 1 <= 3;
- mysql> select 3 > 4;
4) mysql 문자열 함수
- mysql> select bin(32); < 10진수를 2진수 형식으로 바꿈>
- mysql> select oct(32); < 10진수 함수를 8진수 형식으로 바꿈>
- mysql> select hax(32);
- mysql> select char(89,11,117,110,103); <ASCII Code 값을 문자열로 바꾸어 줌>
- mysql> select length(\young\);
- mysql> select left(\youngsan\,5); <문자열 형식을 문장을 왼쪽애서 길이만큼 잘라서 출력>
- mysql> select right(\youngsan\,3);
- mysql> select substring(youngsan\,2,5);
5) mysql 날짜, 시간 함수
- mysql> select now();
- mysql> select date_format(now(),\%y-%m-%d, %h-%l-%s %p\);
< %M: 영문 달이름, %W:영문 요일이름, %Y: 정수형 4자리 연도, %y:정수형 2자리 연도, %a:영문 3자리 요일, %m:정수형 2자리 월, %b:영문 3자리 달이름, %H: 정수형24시간 형식, %l: 정수형 2자리 분, %s: 정수형 2자리 초, %p: AM 또는 PM >
- mysql> select unix_timestamp();
6) ect
- mysql> select database();
- mysql> select user();
<step 2 - SQL문>
1) create
- mysql> create database sora;
- mysql> create table login (name varchar(10), age int, id varchar(8));
- mysql> create table sora.login (name varchar(10), age int, id varchar(8));
2) drop
- mysql> drop database sora;
- mysql> drop table login;
- mysql> drop table sora.login;
3) insert
- mysql> insert into login (name, age) values(\홍길동\,25); <특정한 필드에만 데이터 입력>
- mysql> insert into login values(\홍길동\,25, \honggil\); <모든 필드에 데이터 입력>
- mysql> create table sora2 ( num int not null default \0\ auto_increment, name varchar(10), age int, id varchar(8), primary key(num)); <자동 증가 필트>
4) select
- mysql> select name,age from sora;
- mysql> select * from sora;
- mysql> select name from sora where num=2;
- mysql> select * from sora where num>1;
- mysql> select * from sora order by age desc;
- mysql> select * from sora order by age asc;
- mysql> select * from sora where num>3 order by age asc;
5) update
- mysql> update sora set age=20;
- mysql> update sora set age=30 where name=\홍길동\;
- mysql> update sora set name=\홍길동\,age=10 where num=2;
6) delete : delete from <table name> where expr
- mysql> delete from sora;
- mysql> select * from sora;
- mysql> delete from sora where num=2;
7) group by : 일정한 필드 중 같은 값끼리 묶어주는 역할을 한는 질의어
- mysql> select count(num) as a from test group by num order by desc;
|