[ MySQL 설치하기 ]
Window : https://dev.mysql.com/downloads/mysql/DPTJ
에서 dmg파일 다운로드
Root password 설정 후 메모해놓기 : 잃어버리면 패스워드를
찾을 수 없어서 새로 설치해야한다.
[ database 정의 ]
Database : 여러 사람이 공유해서 사용할 목적으로 체계화하여 통합, 관리하는 데이터의 집합체다.
DBMS(Database Management System) : 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리해주는 소프트웨어
[ Database 관리 ]
show databases; ( 현재 database 목록 확인 )
Create database dbname; (database 이름을 지정하여 생성)
Create database testdb; (testdb라는 이름의 데이터베이스 생성 및 확인)
Use dbname; (해당 데이터베이스로 이동)
Use testdb; (testdb 로 이동)
Drop database testdb; (testdb 데이터베이스 삭제)
[ user 관리 ]
Use mysql;
Select host, user from user; (사용자 정보는 mysql에서
관리하므로 일단 mysql 데이터베이스로 이동 후 조회)
Create user ‘username’ @ ‘localhost’ identified by ‘password’;
(현재 pc에서만 접속 가능한 사용자를 비밀번호와 함께 생성)
Create user ‘noma’ @ ‘localhost’ identified by ‘1234’;
(현재 pc에서 접속 가능한 사용자(noma, 1234) 생성)
Creater user ‘username’ @ ‘%’ identified by ‘password’;
(외부에서 접속 가능한 사용자를 비밀번호와 함께 생성)
Creater user ‘noma’ @ ‘%’ identified by ‘1234’;
(외부에서 접속 가능한 사용자 (noma, 1234) 생성)
Drop user ‘username’ @ ‘localhost’
Drop user ‘username’ @ ‘%’
(접근 범위에 따라 같은 이름의 사용자여도 별도로 삭제)
Drop user ‘noma’ @ ‘%’
(외부에서 접근가능한 noma 계정 삭제)
Drop user ‘noma’ @ ‘localhost’
(현재 pc에서 접근가능한 noma 계정 삭제)
[ user 권한 관리 ]
Create database testdb;
(권한 관리를 실습하기 위한 database (testdb) 생성 )
Create user ‘noma’ @ ‘localhost’ identified by ‘1234’;
(권한관리를 실습하기 위한 사용자 (id : ‘noma’ @ ‘localhost’ , password: 1234) 생성 )
Show grants for ‘username’ @ ‘localhost’;
(사용자에게 부여된 모든 권한 목록을 확인)
Show grants for ‘noma’ @ ‘localhost’;
(현재 pc에 접근가능한 noma의 권한 확인)
Grants all on dbname.* to ‘username’ @ ‘localhost’;
(사용자에게 특정 데이터베이스의 모든 권한을 부여)
Grants all on testdb.* to ‘noma’ @ ‘localhost’;
(현재 pc에 접근가능한 noma에게 testdb의 모든 권한을 부여)
Revoke all on dbname.* from ‘username’ @ ‘localhost’;
(사용자에게 특정 데이터베이스의 모든 권한을 삭제)
Revoke all on testdb.* from ‘noma’@‘localhost’;
(현재 pc에 접근가능한 noma 에게 testdb의 모든 권한을 삭제)
Flush privileges;
(수정내용이 적용되지 않은 경우 새로고침)
[ table 사용하기 ]
Create database zerobase default character set utf8mb4;
(zerobase라는 이름의 데이터베이스 생성)
=> 데이터베이스 안에서 실제 데이터가 저장되는 형태이고 행(row)과
열(column)로 구성된 데이터 모음
Create table mytable(id int, name varchar(16));
(id(int)와 name(varchar(16)) 칼럼을 가지는 mytable이라는 이름의 테이블 생성)
Show tables;
Desc tablename;
Desc mytable;
(mytable 테이블 정보 확인)
Alter table mytable rename person;
(mytable 이름을 person 으로 변경)
Alter table person add column agee double;
(person 테이블에 agee(double) 칼럼 추가)
Alter table person
Modify column agee int;
(person 테이블의 agee 칼럼의 데이터 타입을 int로 변경)
Alter table person
Change column agee age int;
(person 테이블의 agee 칼럼 이름을 age로 변경)
Alter table person
Drop column age;
(person 테이블의 age 칼럼을 삭제)
Drop table person;
(person 테이블 삭제)
[ select, insert, update, delete ]
Use zerobase;
(zerobase로 이동)
Create table person
(
Id int,
Name varchar(16),
Age int,
Sex char
);
(person 테이블 생성)
Desc person;
(table 확인)
Insert into person(id, name, age, sex)
Values (1, ‘이효리’, 43, ‘F’);
(입력한 컬럼 이름의 순서와 같이 순서가 일치하도록 주의)
Insert into person
Values (2, ‘이상순’, 48, ‘M’);
(데이터 추가, 모든 컬럼값을 추가하는 경우에 다음과 같이 컬럼 이름을 저장하지 않아도 되지만, 입력하는 값의 순서가 테이블의 컬럼 순서와 일치하도록 주의)
Select name, age, sex from person;
(person 테이블 내의 이름, 나이, 성별 데이터 조회)
Select *
From person;
(person 테이블 내의 모든 칼럼에 대한 데이터를 조회)
Select * from person where sex=‘F’;
(person 테이블 내에서 성별이 여자인 데이터 조회, where은 테이블 내에서 조건을 만족하는 데이터 조회 문법)
Update person set age=23 where name=‘이효리’;
(이효리 나이를 23세로 수정, update는 수정할 때 사용하는 문법)
Delete from person where name=‘이상순’
(이상순 데이터 삭제)
잘 읽었습니다. 좋은 정보 감사드립니다.