mysql사용법

이동원·2024년 3월 18일

cf) XAMPP 에서 MYSQL 켜주기 그리고 돌고래실행

  • 문자형 데이터타입

    • CHAR , VARCHAR ,TEXT 등
  • 숫자형 데이터타입

    • INT
  • 데이터들은 식별코드를 가지고있다.
    테이블 구조 확인하면 key (뭔가를 식별하기위한 데이터)가나옴 but중복없어야함 . 반드시 데이터가 없어야함 ( 비어있으면 x) 후보키(주민번호 , 일련번호 , 사번 ,학번등) >여러 속성 중에서 키가 될수 있는 속성

  • 전화번호는 후보키가 아니다 . 한사람이 여러 전화번호 가질수있으므로.
    주민번호도 호적등록 안된 사람이있을 수있으므로

  • 개발자가 키를 직접 만들면된다 (이미존재하는 데이터를 가지고 키를쓰는게아닌)
    문자조합 숫자로 만들면되고 그중에서 숫자가 편함 . 1씩증가시키면 중복 x

  • 테이블의 모든 데이터 지우기

    • DELETE FROM article;
  • 제목1, 내용1 데이터 추가

INSERT INTO article SET title = '제목1', content = '내용1';

  • 제목2, 내용2 데이터 추가

INSERT INTO article SET title = '제목2', content = '내용2';

  • 데이터 조회

    • SELECT * FROM article;
  • 제목 데이터 aaa로 수정(모두 수정됨..)

    • UPDATE article SET title = 'aaa';
      SELECT * FROM article;
  • content가 내용2인 것만 조회

    • SELECT * FROM article WHERE content = '내용2';
  • 내용2만 새로운내용2 로 수정

    • UPDATE article SET content = '새로운내용2' WHERE content = '내용2';
  • 데이터 조회

    • SELECT * FROM article;
  • 데이터 삭제 (모든 데이터가 삭제...)

    • DELETE FROM article;
      SELECT * FROM article;
  • 제목1, 내용1 데이터 추가

    • INSERT INTO article SET title = '제목1', content = '내용1';
  • 제목2, 내용2 데이터 추가

    • INSERT INTO article SET title = '제목2', content = '내용2';
  • 데이터 조회

    • SELECT * FROM article;
  • 제목이 제목1인 것만 삭제

    • SELECT * FROM article WHERE title = '제목1';
      DELETE FROM article WHERE title = '제목1';

    • SELECT * FROM article;

    • cf)
      생성 insert into 테이블
      조회 select * from 테이블
      수정 update 테이블 set
      삭제 delete from 테이블

MySQL 연습하는 DB w3school

  • SELECT FROM Customers order by Country DESC;
    select
    from ordrer; 여기선 두가지 다안되서 하나씩 주석처리해야함
  • 대소문자 구분해야함 customers x
  • SELECT * FROM Customers order by CustomerID DESC;
  • SELECT * FROM Customers order by Country ASC, CustomerID DESC; # 국적으로 정렬하되 만약 국적이 같아서 정렬이 안되면 추가 정렬 가능 .

산술연산

  • select 1 + 2;

  • select 1 - 2;

  • select 1 * 2;

  • select 1 / 2;

  • select 1 % 2;

  • 비교연산 -> 결과가 참(1), 거짓(0)

  • select 1 > 10;

  • select 1 < 10;

  • select 1 = 10;

  • select 1 != 10;

  • select 10 > 10;

  • select 10 >= 10;

논리연산( 1 = TRUE, 0 = FALSE )

  • not 논리값 뒤집기 ex) select not FALSE;
  • and -> 두개의 논리값이 모두 참일 때 참으로 귀결. 그 외에는 거짓. 여러 조건을 동시 만족
  • select TRUE and FALSE;
  • select 1 < 10 and 1 > 5;
  • or -> 두개의 논리값이 모두 거짓일 때 거짓으로 귀결. 그 외에는 참. 여러 조건 중 하나라도 만족

  • select FALSE or FALSE;

  • select 1 < 10 or 1 > 5;

  • 논리연산 and, or 우선순위 = and > or

  • select true and true;

  • select true or false and false; -> and 먼저 연산. 결과 참

  • select (true or false) and false; -> or 먼저 연산. 결과 거짓

  • 별명 붙이기

  • select 컬럼 or 값 as 별명 from 테이블 ex ) select (true or false ) and false as 결과;

  • between, in

  • between -> 사이값 표현

  • in -> 여러 값을 포함시킬때 ex)국적이 Mexico, Spain ,France 인 고객만 조회

  • select * from Customers where country ='Mexico'or country = 'Spain' or country ='France';

  • select * from customers where country in('Mexico','Spain','France')

  • select Price +10 from Products;# 테이블의 특정 컬럼에 연산을 하면 기본적으로 모든행에 적용. 적용된 결과만 나온다.

  • 원래 Products 테이블 값이 바뀌지 않은다 update 안하면 안바뀜

  • 주문(Orders) 테이블에서 CustomerID 컬럼값과 EmployeeID 컬럼값을 더하기

  • SELECT CustomerID, EmployeeID, CustomerID + EmployeeID as newID FROM Orders;

    • Products 테이블에서 ProductId와 SupplieId와 CategoryId를 더한 새로운 값으로 새로운 컬럼을 만들고 이름을 NewId로 정하기
    • select sum(ProductId)+sum(SupplierId)+sum(CategoryId) as NewId from Products;
  • Products 테이블에서 Price가 20 이상이고 50 이하인 행만 조회

    • select * from Products where Price not between 20 and 50;
  • Products 테이블에서 Price가 20 미만이거나 50 초과인 행만 조회

    • select * from Products where Price <20 or Price >50;
  • Customers에서 country가 Brazil, Spain, France 고객 조회

    • select * from Customer where Country in ('Brazil', 'Spain', 'France');
  • select * from Customers where country = 'France'; 글자가 일치하는지
  • select * from Customers where country LIKE '%anc%'; 글자 포함 , % 다른 글자. 다른 글자 사이에 포함되어있는가 ?
  • select * from Customers where country LIKE '%anc'; anc 로 끝나는 문자열 표현
  • select * from Customers where country LIKE 'Fr%';
  • select * from Customers where country not LIKE '%a%'
  • 상품중 가장 비싼 상품의 상품번호와 상품명
    • select ProductID, ProductName from Products order by Price desc limit 1;
  • 전체 상품의 평균 가격을 소수점 1자리까지 반올림해서 보여주세요.
    • select round(avg(Price),1)from Products;

0개의 댓글