32_SQL(2)

ryu·2023년 6월 21일
0

User 관리

User 조회

use mysql;
SELECT host, user FROM user;
  • 사용자 정보는 mysql에서 관리하므로 일단 mysql 데이터베이스로 이동 후 조회

User 생성 - localhost

CREATE USER 'username'@'localhost' identified by 'password';
  • 현재 PC에서만 접속 가능한 사용자와 비밀번호 생성
CREATE USER 'username'@'%' identified by 'password';
  • 외부에서 접속 가능한 사용자를 비밀번호와 함께 생성
  • 아이디는 중복이 되면 안되지만 호스트 정보가 다르다면 아이디가 같아도 상관없음

User 삭제

DROP USER 'username'@'localhost'
DROP USER 'username'@'%'

User 권한 확인

SHOW GRANTS FOR 'username'@'localhost';

User 권한 부여

GRANT ALL ON dbname.* to 'username'@'localhost'; 

# 수정 내용이 적용되지 않은 경우 새로고침
FLUSH PRIVILEGES;

User 권한 제거

REVOKE ALL ON dbname.* from 'username'@'localhost';

Table

Table 생성

  • 데이터베이스 안에서 실제 데이터가 저장되는 형태이고, 행(Row)과 열(column)로 구성된 데이터모음

    CREATE TABLE tablename
    (
    	columnname datatype,
      ...
    )

table 정보 확인

DESC mytable;

Table 이름 변경

ALTER TABLE tablename
RENAME new_tablename

table column 추가/변경

# column 추가
ALTER TABLE person ADD COLUMN agee double;

# column 변경 - datatype
ALTER TABLE person MODIFY COLUMN agee int;

# column 변경 - table name
ALTER TABLE tablename CHANGE COLUMN [원래 이름] [새로운 이름] [데이터 타입];

# column 삭제
ALTER TABLE person DROP COLUMN agee;

table 삭제

DROP TABLE tablename;

INSERT

문법

INSERT INTO tablename (column1, column2, ...)
VALUES (value1, value2, ...)
  • 주의할 점은 column 순서와 값 순서가 일치해야 함
  • 모든 컬럼값을 추가하는 경우에는 컬럼명을 생략할 수 있음. 다만 추가하는 값의 순서가 컬럼의 순서와 일치해야 함

SELECT

문법

# name, age, sex 컬럼 조회
SELECT name, age, sex FROM perosn;

# 모든 컬럼 조회
SELECT * FROM person;

WHERE

  • 테이블 내에서 조건을 만족하는 데이터 조회

    SELECT * FROM person WHERE sex="F";

UPDATE

UPDATE [tablename] SET [컬럼명]=[바꿀 값] WHERE [조건];

DELETE

DELETE FROM [tablename] WHERE [조건];

ORDER BY

  • SELECT 문에서 데이터를 특정 컬럼을 기준으로 오름차순 혹은 내림차순 정렬

  • ASC: 오름차순 정렬(기본값)

  • DESC: 내림차순 정렬

  • 여러 개의 정렬 기준을 지정할 수 있고, 각각에 대해서 오름차순 or 내림차순 지정 가능

    SELECT name, age
    FROM celeb
    ORDER BY age DESC, name ASC;

0개의 댓글