전체 글 239

SQL | DELETE

DELETE 기존 레코드를 삭제하는 데 사용 WHERE절을 생략하면 모든 레코드가 삭제 되니 WHERE 유의 ! 테이블을 삭제하지 않고 테이블의 모든 행을 삭제 테이블 구조, 속성 및 인덱스는 그대로 유지 1. "Customers" 테이블에서 고객 "Alfreds Futterkiste"를 삭제합니다 DELETE FROM Customers WHERE CustomerName='Alfreds Futterkiste'; 2. 테이블을 삭제하지 않고 "Customers" 테이블의 모든 행을 삭제 DELETE FROM Customers; 참고링크 : https://www.w3schools.com/sql/

STUDY/DataBase 2022.11.11

SQL | UPDATE

UPDATE 기존 레코드를 수정하는 데 사용 1. 첫 번째 고객(CustomerID = 1)을 새 담당자 와 새 도시로 업데이트 UPDATE Customers SET ContactName = 'Alfred Schmidt', City= 'Frankfurt' WHERE CustomerID = 1; 2. 국가가 "Mexico"인 모든 레코드에 대해 ContactName을 "Juan"으로 업데이트 UPDATE Customers SET ContactName='Juan' WHERE Country='Mexico'; WHERE절을 생략하면 모든 레코드가 업데이트 되니 WHERE 유의 ! 3. "Customers" 테이블의 모든 레코드에 대해 ContactName을 "Juan"으로 업데이트 UPDATE Customers..

STUDY/DataBase 2022.11.11

SQL | INSERT INTO | NULL

INSERT INTO 테이블에 새 레코드를 삽입하는 데 사용 CustomerID는 자동으로 업데이트됨 1. "Customers" 테이블에 새 레코드를 삽입 (테이블의 모든 열에 대한 값을 추가하는 경우 열을 따로 지정할 필요 없음) (테이블의 열과 값의 순서가 맞는지 확인 필수 !) INSERT INTO Customers VALUES ('Cardinal', 'Tom B. Erichsen', 'Skagen 21', 'Stavanger', '4006', 'Norway'); INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country) VALUES ('Cardinal', 'Tom B. Erichsen', 'Skagen ..

STUDY/DataBase 2022.11.11

SQL | SELECT | DISTINCT | WHERE | AND, OR and NOT | ORER BY

SELECT 데이터베이스에서 데이터를 선택하는 데 사용 반환된 데이터는 결과 집합이라고 하는 결과 테이블에 저장 1. "Customers" 테이블의 모든 레코드를 선택 SELECT * FROM Customers; 2. "Customers" 테이블에서 "CustomerName" 및 "City" 열을 선택 SELECT CustomerName, City FROM Customers; 3. "Customers" 테이블에서 "CustomerName" 열을 선택 SELECT CustomerName FROM Customers; SELECT DISTINCT 고유한(다른) 값만 반환하는 데 사용 테이블 내부의 열에는 종종 많은 중복 값이 ​​포함되는데 다른(고유한) 값만 선택할 때 사용 Microsoft Access 데이..

STUDY/DataBase 2022.11.11

SQL

데이터베이스 액세스 및 조작을 위한 표준 언어 SQL 키워드는 대소문자를 구분하지 않습니다. select / SELECT 둘다 사용 가능 일부 데이터베이스 시스템에서는 각 SQL 문의 끝에 세미콜론이 필요합니다. 세미콜론은 서버에 대한 동일한 호출에서 둘 이상의 SQL 문을 실행할 수 있도록 하는 데이터베이스 시스템에서 각 SQL 문을 구분하는 표준 방법입니다. SQL can do SQL can execute queries against a database SQL can retrieve data from a database SQL can insert records in a database SQL can update records in a database SQL can delete records from ..

STUDY/DataBase 2022.11.11

Django | RESTful API는 뒤에 slash가 없어야하는데 WARNING 발생

RESTful한 API의 규칙 중 하나가 url 뒤의 slash가 없음임. 그래서 Django 프로젝트를 적용해보려 했더니 경고가 발생하더라 원하는 url 127.0.0.1:8000/users/ 👉 127.0.0.1:8000/users 127.0.0.1:8000/posts/ 👉 127.0.0.1:8000/posts 우선 127.0.0.1:8000/users 와 127.0.0.1:8000/posts 을 했을 때 경고 내용을 자세히 보자면 Your URL pattern '/login' has a route beginning with a '/'. Remove this slash as it is unnecessary. If this pattern is targeted in an include(), ensure ..

PROJECTS 2022.11.10

AttributeError: This QueryDict instance is immutable

해당 함수는 게시글 작성에 관한 코드. view, service, Service TestCase 부분에서는 정상 작동되었으나 API TestCase를 작성 중에 발생 response 부분에서 data를 받지 못함. def test_post_view_def_post_ok(self): client = APIClient() user = User.objects.get(username = 'test_user') create_data = { 'title' : 'test_title3', 'content' : 'test_content3', 'tags' : '#sns', 'is_active' : True, 'views' : 60, 'created_date' : '2022-10-16 08:00:00.000000' } cl..

PROJECTS 2022.10.20

쿼리수 줄이기

전 포스팅에서 쿼리수를 확인해보았습니다 ! 지금 제 코드들..의 상황에서 쿼리수를 극단적으로 줄이기는 힘들어서 찔끔 줄여봤습니다. 42 -> 39 아래는 쿼리수를 확인하려 했던 함수입니다. 바뀐 부분은 단 한 줄로 23번에 해당됩니다. Post.objects.last() 🔽 🔽 🔽 post_data_serializer.instance objects.last() 쿼리 셋 결과 중 가장 마지막 오브젝트만 조회할 때 사용하는데 serializer.instance 이미 PostSerializer를 통해 오브젝트가 특정되어 있고, DB에서 어떤 오브젝트인지 찾을 필요가 없기 때문에 사용해보니 쿼리수가 줄은 것을 확인할 수 있었음

PROJECTS 2022.10.13

쿼리수 확인

디버그 콘솔을 보면 final_queries에서 쿼리수를 확인할 수 있음 쿼리들을 보고자하면 captured_queries를 누르면 보임 이걸 확인하고자 한다면 테스트코드(TestCase) 에서 디버그 모드를 사용해야함 중단점은 ctx.aqptured_queries 에 찍어주고 디버그 콘솔창에서 ctx를 입력해주면 확인이 됨 쿼리수를 확인할 수 있는 코드는 이 부분으로, 주석에 보이는 것처럼 본인이 확인하고자 하는 함수와 인자값을 같이 입력해주면 됨 with CaptureQueriesContext(connection) as ctx: create_post(create_data, user) # 본인이 확인하고자하는 함수를 넣어주면 됨 ctx.captured_queries ⭐️ 임포트는 필수 ⭐️ from d..

PROJECTS 2022.10.12
반응형