Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

개발새발

Mysql 본문

카테고리 없음

Mysql

개발하는후추 2022. 8. 3. 22:17

Mysql

sql : Struectured Query Language의 약자로 구조화된 질의 언어

  • DBMS가 DB server에게 데이터의 삽입, 삭제, 조회, 갱신 데이터 접근 권한, 등의 다양한 요청사항을 보낼 때 사용
  • 가장 널리 사용되고 있는 관개형 데이터베이스 관리 시스템
  • 오픈 소스이며, 다중 사용자와 다중 스레드를 지원

장점

  • 오픈 소스이다
  • 다양한 운영체제에서 사용할 수 있으며, 여러가지 언어를 지원한다
  • 크기가 큰 데이터 집합도 빠르고 효과적으로 처리할 수 있다

데이터 베이스

데이터베이스 목록 표시
SHOW databases;
데이터베이스 생성
CREATE DATABASE [DB명];
데이터베이스 삭제
DROP DATABASE [삭제할 DB명];
데이터베이스에 접근(선택)
USE [선택할 DB명];

테이블

테이블 목록 표시
SHOW TABLES;
테이블 설계 정보 확인
DESC [테이블명];

DESC categories;
+-------+-------------+------+-----+---------+----------------+
| Field | Type        | Null | Key | Default | Extra          |
+-------+-------------+------+-----+---------+----------------+
| id    | int         | NO   | PRI | NULL    | auto_increment |
| name  | varchar(45) | NO   |     | NULL    |                |
+-------+-------------+------+-----+---------+----------------+

테이블 생성

  [column1] [datatype] [option],
  [column2] [datatype] [option],
  [column3] [datatype] [option],
  PRIMARY KEY ([PK로 지정할 column명]),
  FOREIGN KEY ([FK로 지정할 column명]) REFERENCES [참조할 table명] ([참조할 PK명])
);

※ foreign key는 필요한 경우에만 입력

sample

CREATE TABLE drinks (
  id INT NOT NULL AUTO_INCREMENT,
  name VARCHAR(45) NOT NULL,
  image_url VARCHAR(2000) NOT NULL,
  description VARCHAR(500) NOT NULL,
  is_new TINYINT,
  category_id INT NOT NULL,
  PRIMARY KEY (id),
  FOREIGN KEY (category_id) REFERENCES categories (id)
);
+-------------+---------------+------+-----+---------+----------------+
| Field       | Type          | Null | Key | Default | Extra          |
+-------------+---------------+------+-----+---------+----------------+
| id          | int           | NO   | PRI | NULL    | auto_increment |
| name        | varchar(45)   | NO   |     | NULL    |                |
| image_url   | varchar(2000) | NO   |     | NULL    |                |
| description | varchar(500)  | NO   |     | NULL    |                |
| is_new      | tinyint       | YES  |     | NULL    |                |
| category_id | int           | NO   | MUL | NULL    |                |
+-------------+---------------+------+-----+---------+----------------+

테이블 삭제
DROP TABLE [table명];
테이블에 column 추가
ALTER TABLE [table명] ADD [추가할 column명] [type] [필요한 option];
sample
ALTER TABLE nutrition ADD drink_id INT NOT NULL;
column의 type 변경
ALTER TABLE [table명] MODIFY [column명] [변경할 type];
sample
ALTER TABLE drinks MODIFY english_name varchar(200);

레코드

테이블 내의 전체 데이터 조회
SELECT * from [조회할 table명];
sample

+----+----------------------+
| id | name                 |
+----+----------------------+
|  1 | 콜드 브루 커피          |
+----+----------------------+

테이블 내의 전체 데이터를 목록 형태로 조회
SELECT * from [조회할 table명]

특정 테이블 내의 특정 데이터만 조회
특정 데이터를 조회하기 위해 WHERE을 사용.
다양한 연산자를 사용하여 조건을 다양하게 표현할 수 있다.

SELECT * FROM [table명] WHERE [column명][연산자][값];
sample
SELECT * FROM users WHERE email='hello@gmail.com';
+----+-------------------------+-----------------+-------+----------+----------+
| id | created_at              | email           | name  | password | favorite |
+----+-------------------------+-----------------+-------+----------+----------+
|  2 | 2021-06-24 23:05:39.871 | hello@gmail.com | hello | gmail123 | NULL     |
+----+-------------------------+-----------------+-------+----------+----------+

지정 column의 전체 데이터 조회
SELECT [column명] FROM [table명];
sample

SELECT kcal, caffeine FROM nutrition;
+------+----------+
| kcal | caffeine |
+------+----------+
|   75 |      245 |
|    5 |      140 |
|   10 |      150 |
|  600 |        0 |
|  190 |        0 |
|  105 |      110 |
|  205 |       60 |
|  500 |       15 |
+------+----------+

데이터 추가
INSERT INTO [table명] ([column명]) VALUES ([값]);
sample

INSERT INTO categories (name) VALUES ('브루드 커피');

데이터 값 수정

UPDATE [table명] SET [column명]=[수정할 값] WHERE [조건식];

데이터 삭제

DELETE FROM [table명] WHERE [조건식];

이외에 엄청 많다 옵션기능들도 있다

참조 -https://www.w3schools.com/sql/
더 많은 자료들이 있고 연습도 할 수 있고 퀴즈도 있다

Comments