DB - 01

월요일좋아·2022년 8월 14일
0

DB

목록 보기
1/9

4일차! 목/금은 SQL 수업이다.


❤️자료정리는 중요! 폴더구분 잘 해서 자료정리해두기
(네이버-mybox(클라우드) 또는 구글드라이브 활용)

mySQL 설치

MySQL 8.x 설치

  • Setup Type : Developer Default 선택
  • 버전 : 8.0.21
  • Configuration : 환경

  • 호스트명 : 네트워크주소

  • Port번호 : 여러개의 네트워크서비스들을 구분하기 위한 값,
    웹 서버의 기본 포트번호 [:80] / MySQL [:3306]
    프로그래밍할때 내 포트값을 아는건 중요하다

  • GUI: graphical user interface
    MySQL 8.0 Command Line Client

  • 데이터베이스는 하나의 폴더개념


Heidi 설치(GUI)

https://www.heidisql.com/ : 클라이언트 tool(무료)
암호입력후 좌하단에 저장 누르면 이후부터 암호안쳐도됨


테이블 만들기 실습

테이블변수 앞에는 tbl을 붙이는게 알아보기 편함.
CREATE TABLE tblMember()

char타입선언 후 숫자 사용가능(자동으로 문자로 변환이 됨), 반대의 경우는 불가능(int타입 선언후 문자 사용시 자동으로변환X)

쿼리 수정후 데이터탭에서 마우스 우클릭-> 새로고침 해야 적용이 됨

✏️테이블 생성(CREATE)

CREATE TABLE tblMember(  
member_id CHAR(8) PRIMARY KEY,	
member_name CHAR(10) NOT NULL,
member_addr CHAR(20) NOT NULL
);

CREATE TABLE 테이블명( 컬럼명 타입(길이) 속성)

  • [PRIMARY KEY] : 주 키, 중복값이 들어가지 못하도록 하는 속성이 있음(유니크):열쇠모양 --
  • [NOT NULL] : 반드시 값이 들어가도록함(null값을 허용하지 않는다)

💻결과

1. tblMember 테이블 생성 후
2. member_id 열(char:문자형, 길이 8), 중복값없는 열 생성
3. member_addr 열(char:문자형, 길이 20), null값 없는 열 생성

데이터 저장(INSERT)

INSERT 테이블명 VALUES(데이터1, 데이터2, 데이터3);

✏️입력

INSERT tblmember VALUES ('tess', '나훈아', '경기 부천시');
INSERT tblMember VALUES ('iyou', '아이유', '인천 남구') ;
INSERT tblMember VALUES ('jyp', '박진영 ', '경기 고양시 ') ;

💻결과


✏️입력

테이블, 열 생성

CREATE TABLE tblProduct(
product_name CHAR(10) NOT NULL,
cost INT(10) NOT NULL,
product_date DATE,
product_id CHAR(10) PRIMARY KEY,
amount INT(5));

데이터 삽입(INSERT)
INSERT 테이블 VALUES(데이터1, 데이터2, 데이터3 ---)

INSERT tblProduct 
VALUES('바나나', 1500, '2022-08-01', '델몬트', 17) ;
INSERT tblProduct VALUES ('카스', 2500, '2022-03-01', 'OB', 3);
INSERT tblProduct VALUES ('삼각김밥', 1500, '2023-09-01', 'CJ', 22);

※ 문자값은 홑따옴표['], 정수는 따옴표 없이 입력

💻결과


데이터 검색(SELECT)

SELECT절에서 FROM을 이용해서 원하는 '열' 선택,
SELECT절에서 WHERE를 이용해서 '조건' 설정.
[SELECT FROM WHERE]은 한묶음!
SELECT 열1, 열2, 열3, 열4
FROM 테이블
WHERE 조건

✏️입력

SELECT member_id, member_addr, member_name
FROM tblmember
WHERE member_name = '아이유';

member_name이 '아이유'인 행을 찾아
member_id, member_addr, member_name 열과 함께 반환하라.

💻결과


정렬

정렬 : 가져오는 순서를 의미, 정렬을 지정하지않으면 입력했던 순서 그대로 데이터를 가져온다.
SELECT product_name, cost 컬럼 두개만 가져와라(product_name, cost)
FROM tblproduct tblproduct 테이블에서
ORDER BY cost DESC; DESC : 내림차순 / 기본은 오름차순임

✏️입력

SELECT *
FROM tblmember
ORDER BY member_id;

member_id 오름차순으로 데이터 가져오기

💻결과

✏️입력

SELECT *
FROM tblmember
ORDER BY member_id DESC;

member_id 내림차순으로 데이터 가져오기

💻결과

0개의 댓글