Home

Jeong-Yoon

26 Feb 2020

Mysql 03

Mysql 03

  • CHAR : 고정길이
  • VARCHAR : 가변길이
    • 크기를 2칸으로 사용할 수 있음.
[테이블 생성]
CREATE TABLE [테이블](
    [컬럼] [타입] [NULL OR NOT NULL] [DEFAULT] [AUTO_INCREMENT]
    PRIMARY KEY([컬럼])
);
> CREATE TABLE member(
    no INT NOT NULL,
    email VARCHAR(50) NOT NULL,
    password VARCHAR(20) NOT NULL,
    name VARCHAR(25),
    dept_name VARCHAR(25),
    PRIMARY KEY (no)
);
  • AUTO_INCREMENT : 숫자 타입일 때, 자동 증가.

[테이블 수정 (컬럼 추가)]

  • ALTER : 어떠한 컬럼을 추가할 때 사용.
ALTER TABLE [테이블] ADD [컬럼] [타입] ...;

-- 나이(age) 컬럼 추가
> ALTER TABLE member ADD age INT NOT NULL;
-- 나이(age) 컬럼 삭제
> ALTER TABLE member DROP age;

[테이블명 변경]

ALTER TABLE [테이블] RENAME [변경 이름]
> ALTER TABLE member RENAME person;
> ALTER TABLE person RENAME member;

[테이블 컬럼 변경]

ALTER TABLE [테이블] CHANGE [컬럼] [변경할 컬럼] [변경할 타입]...;
> ALTER TABLE member CHANGE email mailid VARCHAR(30);

[데이터 삽입]

INSERT INTO [테이블] (컬럼1, 컬럼2, ..., 컬럼n) VALUES (컬럼1 , 컬럼2 ,...., 컬럼n );
-- 정상삽입
> INSERT INTO member (no, email, password, name, dept_name) VALUES (1, 'yes', '1111', 'yoon', 'develop');
-- DEFAULT 미지정(ERROR 1364 (HY000): Field 'email' doesn't have a default value)
>INSERT INTO member (no, password, name, dept_name) VALUES (2, '2222', 'gildong', 'design');
-- NULL을 허용하지 않은 경우(ERROR 1048 (23000): Column 'email' cannot be null)
>INSERT INTO member (no, email, password, name, dept_name) VALUES (3, NULL, '3333', 'gildong', 'design');
  • near~ 에러 발생 시 앞 뒤 살펴보기.

[데이터 변경]

UPDATE [테이블] SET [컬럼1] = [컬럼의 ], ... WHERE [조건절]
> UPDATE member SET password = '0000' WHERE 

ALTER TABLE member ADD juminbunho CHAR NOT NULL;

[데이터 삭제]

DELETE FROM [테이블] WHERE [조건절]
> DELETE FROM member WHERE no = 1;

[시험 데이터 삽입]
> INSERT INTO member (no, mailid, password, name, dept_name) VALUES (1, 'yes', '1111', 'gildong', 'develop');
> INSERT INTO member (no, mailid, password, name, dept_name) VALUES (2, 'hello', '2222', 'gilsan', 'develop');
> INSERT INTO member (no, mailid, password, name, dept_name) VALUES (3, 'world', '3333', 'hana', 'develop');
INSERT INTO member (no, mailid, password, name, dept_name) VALUES (4, 'sschwart', '4444', 'js', 'develop');

[UNION] : 중복 제거 [UNION ALL] : 중복 허용 (모두)

  • 다른 테이블에 존재하는 동일한 성격의 데이터를 조회
  • 연결 기준이 되는 컬럼(필드)의 이름은 동일.
  • 다를 경우 AS를 통해 일치시켜주면 된다.
  • 화면에 출력이 되는 컬럼명을 일치시켜라? ```sql SELECT [동일 컬럼1], [동일 컬럼2] … FROM [테이블] UNION SELECT [동일 컬럼1], [동일 컬럼2], … FROM [테이블] SELECT mailid FROM emp UNION SELECT mailid FROM member;

– 중복을 제거하지 않고 모두 조회 SELECT mailid FROM emp UNION ALL SELECT mailid FROM member; ```

JDBC

  • java project 밑에 lib 폴더 추가
  • java project의 properties눌러 build path들어가서 libraries의 add library -> User Library -> User libraries -> new -> jdbc 이름으로 추가 -> add JARs -> lib 폴더에 넣어준 jar파일 추가.

  • 바인딩 데이터와 연결되어 있는 형태로 자바와 연결시키기 위한 것.

Til next time,
Jeong-Yoon at 00:00

scribble