검색결과 리스트
글
5/23 스터디 정리
5/23일자 web스터디
데이터베이스(Database) : 여러 사람들이 공유하고 사용할 목적으로 통합하여 관리되는 데이터의 집합.
DBMS(Database Management System) : 다수의 사용자들이 데이터베이스 내의 데이터를 접근할수 있게 만드는 소프트웨어들의 집합. ex)MySQL, Oracle, MSSQL
SQL(Structured Query Language): 데이터베이스와 의사소통을 하기위한 표준언어.
컴퓨터와의 의사소통을 위해 만들어진 프로그래밍 언어와 그 맥락을 같이하지만, 프로그래밍 언어와는 다르게 데이터베이스에 단순한 질의등을 하기위한 언어이다. (프로시저-특정작업을 수행하기 위한 프로그램의 일부)
오늘은 데이터베이스가 뭔지 , 데이터베이스를 다루는 소프트웨어중의 하나인 mysql에 대해 알아보았고, 명령어 몇개를 간단하게 배웠다.
Mysql -u 계정명 -p 비밀번호 와 같은 형식으로 자신의 계정에 로그인할 수 있고,
Set password=password("비밀번호"); 와 같은 형식으로 자기 계정의 비밀번호를 변경할 수 있다.
* 모든 명령어 뒤에는 ;(세미콜론) 을 반드시 넣어주자.
Database 목록 보기 - show databases;
database 선택하기 - use 데이터베이스이름;
현재 사용중인 database 확인 - select database();
Table 목록보기 : show tables;
테이블 생성 명령
Create table [테이블 이름][컬럼 이름 (데이터형 *,…); ex) create table member( num int unsigned not null auto_increment primary key, name varchar(5) character set utf8 collate utf8_general_ci not null, id varchar(20) not null, pwd varchar(15) not null ); |
테이블을 생성할땐 create table 명령어를 사용하는데, 이런식으로 만들어진 테이블의 모양은 구조체를 많이 닮은것도 같다.
먼저 테이블의 이름을 정하고, [컬럼이름 데이터형]순으로 컬럼을 만들어준다.
데이터형의 종류는 위와 같다.
컬럼을 만들때, [컬럼이름 데이터형]외에도 여러가지 옵션을 넣어줄 수 있는데, auto_increament를 넣어줘서 컬럼에 내용이 생성될때마다 자동으로 1씩 증가하게 해줄수도 있고, null, not null을 넣어줘서 널값 허용 여부를 정해줄수도 있다. 키값을 설정해주는것도 있는데, 아직은 모르기에 쓰지 않겠다.
테이블 수정 명령
테이블을 수정해줄때는 ALTER TABLE 명령어를 사용해주는데, 명령어는 다음과 같다.
ALTER TABLE [테이블명] (ADD/CHANGE/DROP) alter table member add phon varchar(11); //컬럼 추가 alter table member change phon phon varchar(12) not null; //컬럼 변경 alter table member drop phon; //컬럼 삭제 데이터베이스/테이블 삭제 Drop [database/table] [데이터베이스명/테이블명]; |
적힌 그대로 사용하면 되는 명령어다.
데이터 삽입
insert into [테이블 명](필드 1,필드 2, …) VALUES(‘값1’,’값2’ …); insert into member(name, id) values(‘김가영’,’kayoung’); insert into member values( ‘’ , ’김가영’, ‘kayoung’, ‘password’); insert into member(id) values( ‘id1’), (‘id2’); |
마찬가지. 적힌 그대로 사용하면 되는 명령어다. 여러개의 필드와 여러개의 값을 정해서 삽입이 가능하다.
데이터 수정
Update [테이블명] set [컬럼명]=[변경할 값], … where [조건]; Ex) update member set id=‘kky91320’ where num=1; |
데이터 삭제
Delete from [테이블명] where [조건]; Ex) delete from member where num=1; |
각각 데이터 수정, 삭제 명령어이다. 적힌 그대로 사용하면 되는 딱히 어려울것 없는 명령어들이다.
데이터 검색
Select [컬럼명, …] from [테이블 명] where [조건식] order by [컬럼명] (asc/desc) limit [시작순번], [개수]; ex) select name from member where num>0 order by num asc limit 0,3; |
특정 조건에 맞는 데이터를 검색해서 출력하는 명령어다. 제일 응용할게 많은 명령어라고 생각된다.
가장 간단한 응용으로
select * from 테이블이름 *는 와일드카드 명령어이다. 모든 내용을 다 출력하겠다는 뜻이다. 즉, 해당 테이블 안의 모든 내용을 전부다 출력하겠다는 소리다.
옵션이 여러개 있는데, 각각
Where : 출력할 특정 조건을 정의 Order by : 출력되는 데이터의 오름차순, 내림차순을 특정 컬럼을 기준으로 정의 Limit : 출력할 튜플들의 범위를 지정 |
정도가 있다. 이중에 where는 다른 프로그래밍 언어들과 유사하게 &,|연산자의 사용이 가능하다.
select *from student where school='strandford'||school='Cambridge' 이나
select * from student where number>200800000&&(e_mail like '%gmail%')
처럼 사용할 수 있다. 여기서 like 명령어는 '% %'안에 들어간 내용을 포함하는 문장을 찾아낸다.
또, select name,'학고' from student where score<=1.75 처럼 조건을 만족할때 내가 원하는 글자를 출력시킬수도 있고,
select '학고' name from student where score<=1.75; 처럼 써서 즉석에서 내가 원하는 컬럼을 만들어 컬럼안에 내용을 출력시킬 수 있다.
mysql 내용추가
ALTER TABLE `테이블명` AUTO_INCREMENT = 1;
SET @count = 0;
UPDATE `테이블명` SET `테이블명`.`컬럼명` = @count:= @count + 1;
auto_increment 숫자 초기화후 재정렬하는방법
'WEB' 카테고리의 다른 글
html 프레임 나누기 (0) | 2014.07.03 |
---|---|
웹 유용할 태그들 정리 (0) | 2014.07.03 |
php에서의 mysql연동 (0) | 2014.07.02 |
암호화 함수, 해쉬함수, information_schema (0) | 2014.07.02 |
RECENT COMMENT