나머지_개발

SQL 기본 문법

킹king 2019. 11. 14. 18:31
반응형

 

mysql -uroot

지금부터 코드짠다

 

*이거 안쓰면 아무것도 안됨.

create database box
box라는 데이터베이스를 만든다
show databases
데이터베이스 목록 다 보여줘
use databases box

box라는 데이터베이스를 쓴다

*이거 안쓰면 테이블 생성/수정/삭제 아무것도 안됨.

create table book(
    id int(11) not null auto_increment,
    title varchar(50) not null,
    description text null,
    date datetime not null,
    author varchar(30) not null,
    profile varchar(20) null,
    primary key(id)

);

book이라는 테이블을 만드는데 일단(
    id는 | 정수(양음수) 11자리까지 쓸 수 있고 | 내용을 써야하고 | 값이 1씩 커진다,
    title은 | 최대 50자고 | 써야 한다,
    description은 | 긴 글이고 | 안써도 된다,
    date는 | datetime의 형식을 따르고 | 써야 한다,
    author는 | 최대 30자이고 | 써야 한다,
    profile은 | 최대 20자고 | 안써도 된다,
    메인키는 id로 한다

);

 

*엔터치면 다음줄로 떨어지는데

세미콜론;찍기 전에는 문장 끝난걸로 인식 안하기때문에

마음놓고 입력하면 됨.

desc book;

book에 있는 규칙을 보여줘

show tables;

테이블 리스트 다 보여줘

insert into book (title,description,date,author,profile) values('word','word is...',now(),'sam',developer');

book에 데이터 한줄씩 입력한다
select * from book;

book 테이블 보여줘

select * from book where author='sam';

book에서 author가 sam인 사람인 데이터만 보여줘

작성자가 sam인것만 출력
select * from book order by id desc;

book에서 id를 높은 순서대로 보여줘

id를 보면 제일 높은 5부터 거꾸로 보여줌

 

*숫자=높은 숫자부터

 알파벳=뒷 알파벳부터

 날짜=최근 날짜부터

*where와 같이 쓸때는 where뒤에 와야함

select * from book order by id desc limit 2;

book에서 id를 높은 순서대로 보여주는데 2줄만 보여줘

거꾸로 보여주되 두줄만 보여줌
update book set title='outlook', description='outlook is...', profile='writer' where id=4;

book에서 id값이 4인 줄의 title을 outlook으로 변경하고, profile을 writer로 바꾼다

바로 위에 짤 보면 비교 가능
delete from book where id=5;

id값이 5인 줄 지운다