2024.02.02
database : 데이터의 집합체
DBMS : DB를 관리하는 소프트웨어
RDB(관계형 DB) : 서로 관계가 있는 데이터베이스
SQL : 데이터베이스에서 데이터를 조작하기 위한 언어
-종류:DDL(정의언어),DML(조작언어),DCL(제어언어)
create,alter / insert,update / grant,revoke
//기타 참고
flush privileges; //새로고침
-기초
show databases;
create database db이름;
use db이름;
drop database db이름;
-유저
select host,user from user;
---- mysql이라는 db에 있는 user라는 테이블에서 host랑user정보를 보는 것
create user '유저이름'@'localhost(%)' identified by '비밀번호';
drop user '유저이름'@'localhost(%)';
-유저권한
show grants for 'username'@'localhost(%)'; --사용자에게 부여된 모든 권한목록을 확인 // show grants for ~
grant all on db이름. to 'username'@'localhost(%)'; --모든 권한 부여
// grant all on db이름. to ~
revoke all on db이름. from 'username'@'localhost(%)'; --모든 권한 삭제
// revoke all on db이름. from ~
-테이블 // 행(row) = 가로 , 열(column) = 세로
//사전준비 create database zerobase default character set utf8mb4
create table 테이블이름 ( 열이름 변수 , 열이름 변수 ~ );
show tables;
desc 테이블이름;
alter table 테이블이름 rename 새로운테이블이름;
alter table 테이블이름 add column 열이름 변수; //열 추가
alter table 테이블이름 modify column 열이름 변수; // 열 변수바꾸기
alter table 테이블이름 change column 지금열이름 바꿀열이름 변수; //열 변수와 이름 둘다
alter table 테이블이름 drop column 열이름;
drop table 테이블이름
ex) celeb 테이블 'brithday'칼럼을 'birthday'로 바꾸기 데이터 형식은 date
alter table celeb change brithday birthday date;
-테이블 데이터 추가
insert into 테이블이름 (열1,열2,열3~) values(값1,값2,값3~)
// 이때 열과 값의 순서가 같아야하고,열2까지 했으면 값도 2까지 넣어야함
insert into(열1~) values(값1~);
// 이것은 모든 컬럼값을 추가하는 경우라서 이름은 지정안하지만 값의 순서는 같아야함
★Select 컬럼1 컬럼2~ From 테이블이름
// select from 세트 - 데이터 조회
update 테이블이름 set 컬럼1=값1 , 컬럼2=값2 where
// update set 세트 - 데이터 수정
delete from 테이블이름 where
// delete from 세트
ex) celeb 테이블에서 ID가 3번인 사람이 회사를 YG에서 SM으로 바꾼다면
update celeb set agency = SM where ID=3;
