SQLITE 예제

Posted by PeEn
2019. 10. 16. 14:20 Programing/Database

다음 다이어그램을 보고 tmember, tbook, tlend 테이블을 생성하시오.

  1. tmember 테이블 제약 사항
    1. no : 기본키, not null, 정수
    2. sex : ‘남’, ‘여’ 중 하나만 입력 가능, 입력이 없으면 기본값 ‘여’ 로 입력
    3. hp : 유일
  2. tbook 테이블 제약 사항
    1. no, 기본키, not null, 자동증가
    2. isbn : 정수
  3. tlend 테이블 제약 사항
    1. cdate : 자동으로 오늘, 현재 시간 입력
    2. bno : tbook 테이블의 필드 no 를 참조하고 tbook 테이블에서 해당 no가 수정되면 같이 수정, 삭제 되면 같이 삭제
    3. mno : tmember테이블의 필드 no 를 참조하고 tmember 테이블에서 해당 no가 수정되면 같이 수정, 삭제 되면 NULL로 수정

1번 tmember

create table tmember(
  no INTEGER NOT NULL,
  dept TEXT,
  name TEXT,
  sex TEXT CHECK(sex in("남","여") )DEFAULT "여",
  hp TEXT UNIQUE,
  email TEXT,
  post TEXT,
  addr TEXT,
  addre TEXT,
PRIMARY KEY(no));

2번 tbook

CREATE TABLE tbook(
	no INTEGER PRIMARY KEY AUTOINCREMENT,
	title TEXT,
	author TEXT,
	publ TEXT,
	year INTEGER,
	isbn TEXT,
	symb TEXT
)

3번 tlend

CREATE TABLE tlend(
	cdate TEXT DEFAULT CURRENT_TIMESTAMP,
	mno INTEGER,
	bno INTEGER,
	days INTEGER,
	FOREIGN KEY(bno) REFERENCES tbook(no)
	 ON UPDATE CASCADE
	 ON DELETE CASCADE,
	FOREIGN KEY(mno) REFERENCES tmember(no)
		ON UPDATE CASCADE
		ON DELETE SET NULL
);

  • 다음 명령을 수행하시오.
    1. tmember 테이블에서 영문 주소에 Gimje가 들어간 사람
    2. tmember 테이블에서 학번이 201894005의 휴대폰 번호를 010-1111-1111로 수정하시오
    3. tmember 테이블에서 남자의 수를 세시오.
    4. tmember 테이블에서 전주에 사는 사람만 출력하시오.
    5. tmember 테이블에서 구글 이메일 주소를 사용하는 사람의 학번, 이름, 이메일을 출력하시오.
    6. tbook 테이블에서 isbn이 null 인 도서의 수를 세시오
    7. tmember 테이블에서 컴퓨터공학과 또는 일본언어문화학과 학생만 출력하시오.
      1. OR 사용
      2. IN 사용
      3. UNION 사용
    8. tmember와 tlend 테이블을 JOIN하여 도서번호, 학번, 학과, 이름, 휴대폰, 대출기간 을 출력하시오.
    9. tbook과 tlend 테이블을 JOIN하여 도서번호, 자료명, 저자, 출판사, 학번을 출력하시오.
    10. tmember, tbook과 tlend 테이블을 JOIN하여 학번, 학과, 이름, 휴대폰,  도서번호, 자료명, 저자, 출판사, 대출기간 을 출력하시오.

1. SELECT * FROM tmember WHERE addre LIKE '%Gimje%';

2. UPDATE tmember SET hp = '010-1111-1111' WHERE tmember.no = 201894055;

3. SELECT  count(tmember.sex ='남') AS '남자수' FROM tmember SELECT count() FROM tmember WHERE sex='남';

4. SELECT * FROM tmember WHERE addr LIKE '%전주%';

5. SELECT no,name,email FROM tmember where email like '%@gmail.com';

6.. SELECT * FROM tbook WHERE isbn is null;

7-1. SELECT * from tmember WHERE dept = '컴퓨터공학과' or dept = '일본언어문화학과';

7-2 SELECT * from tmember WHERE dept in('컴퓨터공학과' ,'일본언어문화학과');

7-3. SELECT * from tmember WHERE dept = '컴퓨터공학과' 
        UNION
        SELECT * FROM tmember WHERE dept = '일본언어문화학과';

8. 

'Programing > Database' 카테고리의 다른 글

SQL문 모음  (0) 2019.11.20
Oracle ALTER, DROP, RENAME, ent  (0) 2019.11.18
데이터베이스 무결성 제약조건  (0) 2019.10.02
데이터베이스 WHERE 조건  (0) 2019.09.25
관계대수 JOIN  (0) 2019.09.23