예) 데이터가 저장된 파일들도 포함 - 엑셀, json
my SQL 도 포함
비관계형: 데이터간 관계x 저장만o
관계형: 저장되는 데이터 사이에 관계를 통해 데이터 검색, 삭제 가능
파이썬처럼, DBMS를 대상으로 쓰는 언어
데이터 정의 언어(DDL: Data Definition Language)
: CREATE, ALTER, DROP 등의 명령어
= 테이블이나 데이터베이스를 생성, 변경, 삭제
데이터 조작 언어(DML: Data Manipulation Language)
: INSERT, UPDATE, DELETE, SELECT 등의 명령어
= 테이블이나 데이터베이스를 통해 정의된 데이터 구조에 삽입, 변경, 삭제, 조회
** 데이터사이언티스트는 SELECT를 주로 사용.
데이터 제어 언어(DCL: Data Control Language)
: GRANT, REVOKE, COMMIT, ROLLBACK 등의 명령어
= 계정별 권한 설정, 실행단위를 묶어서 롤백 등
% mysql -u root -p
Enter password:
SHOW DATABASES;
CREATE DATABASE (dbname);
USE dbname;
DROP DATABASE dbname;
use mysql;
SELECT host, user FROM user;
= select = 가져올거야.
= FROM user = user라는 테이블에서
= host, user = host 와 user정보를
create user 'username'@'localhost' identified by 'password';
= create user = 유저를 생성할거야
= 'username' = 이 이름의 유저를
= @'localhost' = 현재피씨에서만 사용가능
= identified by 'password' = 비밀번호 이걸로 할래
= ; = 즉시 실행해줘
create user 'username'@'%' identified by 'password';
DROP USER 'username'@'localhost'
DROP USER 'username'@'%'
*create database testdb;
show databases;
use mysql; (이동)
*create user 'noma'@'localhost' identified by '1234';
select host, user from user;
SHOW GRANTS FOR 'username'@'localhost';
GRANT ALL ON dbname.* to 'username'@'localhost';
FLUSH PRIVILEGES;
REVOKE ALL ON dbname.* from 'username'@'localhost';
CREATE DATABASE zerobase DEFAULT CHARACTER SET utf8mb4;
~라는 이름의 데이터베이스를 만들건데, 다국어를 지원하고, 이모지문자도 쓸거야
CREATE TABLE tablename(
columnname datatype,
columnname datatype,
...
)
= 어떤 칼럼 갖고 있는지 이름 + 데이터 타입(숫자형, 문자형, 날짜)
mysql> create table animal
-> (
-> name varchar(16),
-> type varchar(16)
-> );
Query OK, 0 rows affected (0.08 sec)
CREATE TABLE mytable(id int, name varchar(16));
= mytable이란 이름의 table을 생성해줘
= id라는 칼럼을 가졌고, 숫자형이야
= name이라는 칼럼도 가졌고, 문자형이야
타이핑할 때 enter치면 ; 만날때까지 작성가능
SHOW TABLES;
구조를 갖고 있기 때문에 구조도 확인해야함
DESC tablename;
-> DESC mytable;
= null과 default 는 자동 생성
ALTER TABLE tablename
RENAME new_tablename
ALTER TABLE tablename
ADD COLUMN columnname datatype;
예) alter table person add column agee double;
ALTER TABLE tablename
MODIFY COLUMN columnname datatype;
예) alter table person modify column agee int;
ALTER TABLE tablename
CHANGE COLUMN old_columnname new_columnname new_datatype
= 이전 칼럼이름을 새로운이름으로 바꿀게, 데이터타입도 바꿀게
예) alter table person change column agee age int;
ALTER TABLE tablename
DROP COLUMN columnname;
DROP TABLE tablename;