” CRUD ” ★ Create / ★ Read / Update / Delete
생성과 읽기가 데이터베이스에서 가장 중요하다.
회계와 같은 특정분야에서는 거래내역을 지워서는 안 되므로 주의가 필요하다.
잘못하면 범죄가 될 수 있다.
다음 데이터 생성
<데이터 생성 방법> 1. 이전에 만든 데이터베이스에 액세스한다.
mysql -uroot -p 패스워드 입력 후 엔터
2. 사용할 데이터베이스를 선택한다.
USE opentutorials ;
3. 테이블을 불러오겠어SHOW TABLES ;
4. 토픽이라는 테이블의 구조를 확인한다.
(필수가 아님) DESC topic; (묘사하는 describe의 약자)
5. 토픽이라는 테이블에 데이터를 추가한다.
INSERT INTO topic ( title , description , created , author , profile ) VALUES ( ‘ MySQL ‘ , ‘ MySQL is … ‘ , NOW ( ) , ‘ egoing ‘ , ‘ developer ‘ ) ;
(위에서 id의 경우 따로 값을 지정하지 않으면 자동으로 auto_increment 된다) NOW() -> 현재 시간이 자동으로 출력된다.
현재 시간을 원하지 않을 경우 별도의 날짜, 시간 등을 적을 수 있으며, syntax 오류가 발생할 수 있으므로 오자를 주의해야 한다.
6. 생성한 데이터 읽기 SELECT * FROM topic;
생성한 데이터 가져오기 7. 데이터 추가할 데이터 추가시에도 입력할 때와 마찬가지로 INSERT 사용
참 고:https://www.w3schools.com/sql/sql_insert.aspSQL INSERT INTO Statement❮ Previous Next❯ The SQL INSERT INTO Statement The INSERT INTO statement is used to insert new records in a table. INSERT INTO Syntax It is possible to write the INSERT INTO statement in two ways:1. Specify both the column names and the values to be inserted:INSERT INTO . www.w3schools.com*복수의 SQL문에서 데이터를 삭제하거나 테이블을 생성하는 것은.싫지만, SELECT는 가장 자주 사용되는 명령어이며, CREATE, INSERT도 상당히 많이 사용된다.
<전체가 아닌 일부 데이터만 읽기>”데이터베이스를 잘한다”라고 하는 것의 핵심은 SELECT문을 필요에 따라서 자주 사용하는 것.SELECT 기능의 다양한 조건을 사용하여 테이블에서 검색하고자 하는 행을 선택적으로 제한 할 수 있다.
데이터가 적을 경우에는 괜찮지만, mysql은 1억 건, 10억 건이라는 식으로 많은 데이터가 보존되어 있을 때 SELECT*FROM topic; 해 버리면 컴퓨터가 멈춰 버리는 일이 있기 때문에, 데이터를 가져올 때 필요한 데이터를 제약해 추출하는 것이 권장된다.
( SELECTION ) Selection means whichrows are to be returned 。테이블에서 데이터 검색 시 반환될 행을 선택할 수 있다.
*author가 “egoing” 데이터만 가져오기 SELECT 뒤에 가져올 컬럼 값을 넣고 FROM 뒤에 테이블 이름, WHERE 뒤에 필터링을 원하는 데이터 넣기, 필터링이 필요한 데이터 넣기, 텍스트 형태이면 “” 또는 “”안에 넣기
모든 데이터에서 작가가 GO ING IN 데이터만 가져오는
(PROJECTION) Projection means choosing which columns (orexpressions) the query shall return. 테이블에서 데이터를 검색할 때 반환될 열을 선택할 수 있다 (보이고자 하는 칼럼 리스트가 표시됨).
전체 데이터에서 특정 데이터(id, title, author) 항목만 가져오기
*id 항목의 숫자가 큰 순서대로 정렬됨 ORDER BY {col_name | expr | position}; 내림차순 – DESC 오름차순 – ASC
( JOIN ) A JOIN clause is u sed to combine rows from two or moretables 、 based on arelated columnbetweenthem 。서로 다른 테이블을 연결해 한번에 데이터를 함께 검색할 수 있다.
데이터 1과 데이터 2를 결합하여 데이터 3을 만들 수 있다.
LIMIT) LIMIT 를 사용하여 데이터가 추출될 때 원하는 숫자만큼의 데이터만을 불러오는 설정도 가능하다.
필요한 경우 LIMIT을 통해 게시판에서 페이지를 넘기는 등의 기능을 만들 수도 있다.
<특정 데이터를 지정하여 삭제할> DELETE 문법을 사용하여 데이터를 삭제할 수 있으며, 이때 가장 중요한 것은 WHERE를 사용하여 정확히 어느 부분을 삭제할 것인지를 지정해야 한다.
그렇지 않을 경우 모든 데이터가 유실되므로 DELETE 사용 시 각별히 주의해야 한다.
희망하는 항목을 삭제하다
참고:https://stackoverflow.com/questions/1031076/what-are-projection-and-selectionWhat is the difference between projection and selection? Is it: Projection –> for selecting the columns of table; and Selection —> to select the rows of table? So are projection and selectionstackoverflow.comhttps://www.ibm.com/docs/en/informix-servers/14.10?topic=concepts-selection-projectionThe result contains the same number of columns as the customer table, but only a subset of its rows. In this example, DB-Access displays the data from each column on a separate line. Figure 2. Query result customer_num 119 fname Bob lname Shorter company The Triathletes Club a…www.ibm.comhttps://www.ibm.com/docs/en/informix-servers/14.10?topic=concepts-joinThe following query joins the customer and state tables. Figure 2. Query SELECT UNIQUE city, state, zipcode, sname FROM customer, state WHERE customer.state = state.code; The result consists of specified rows and columns from both the customer and state tables. Figure 3. Query result city …www.ibm.comhttps://www.w3schools.com/SQL/sql_join.aspSQL Joins ❮ Previous Next ❯ SQL JOIN A JOIN clause is used to combine rows from two or more tables, based on a related column between them. Let’s look at a selection from the “Orders” table: OrderID CustomerID OrderDate 10308 2 1996-09-18 10309 37 1996-09-19 10310 77 1996-09-20 Then, look at a sele…www.w3schools.comhttps://dev.mysql.com/doc/refman/8.0/en/select.html13.2.10.1 SELECT … INTO Statement 13.2.10.2 JOIN Clause 13.2.10.3 UNION Clause 13.2.10.4 Parenthesized Query Expressions SELECT [ ALL | DISTINCT | DISTINCTROW ] [ HIGH _ PRIORITY ] [ STRAIGHT _ JOIN ] [ SQL _ SMALL _ RESULT ] [ SQL _ BIG _ RESULT ] [ SQL _ BUFFER _ RESULT ] [ SQL _ NO _ CACHE ] [ SQL _ CALC _ FOUND _ ROWS … dev.mysql.com