본문 바로가기

분류 전체보기129

[Python sqlite3] OperationalError : database is locked (데이터 베이스 잠김 에러) 파이썬을 DB에 연결해주고 데이터를 추가하고 변경하려고 다른 파일창을 여러장 켜서 연결하여 작업중이었는데 무엇때문인지 같은 에러가 계속 발생했다. 에러는 바로 다음의 에러이다. OperationalError sqlite3.operationalerror: database is locked 데이터베이스가 잠겨있다니 이상했다.... 그래서 구글링 한 결과 장고문서에서 SQLite는 경량 데이터베이스이므로 높은 수준의 동시성을 지원할 수 없다고 한다. "데이터베이스가 잠겼음" 오류 SQLite는 경량 데이터베이스가 되어 높은 수준의 동시성을 지원할 수 없습니다. OperationalError: database is locked 오류는 응용 프로그램이 기본 구성에서 처리할 수 있는 sqlite보다 더 많은 동시성.. 2021. 4. 6.
[Python sqlite3] SQLite - 데이터 읽기·변경·삭제 - SELECT, UPDATE, DELETE, WHERE 1 데이터 읽기 저장되어 있는 테이블의 데이터를 읽는다. 다음과 같이 select 해서 사용한다. SELECT * FROM 테이블명 fetchone() 행단위로 데이터를 읽는 메서드이다. 커서가 이동하기 때문에 데이터를 행단위로 불러온다. 반환값은 튜플로 온다. 데이터가 없을 경우에는 None을 반환한다. cur.execute("SELECT * FROM list") # fetchone() 사용 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 from sqlite3 import * con = connect("C:\\DBMS\\Person_list2.db") # 데이터베이스 연결 cur = con.cursor() # 메모리공간 제공 # 데이터 베이스 읽기 cur.execute("SELECT .. 2021. 4. 5.
[Python sqlite3] SQLite 설치 , DB 연결 , 데이터 삽입하기 / connect(), cursor(), excute() 1 SQLite ? SQLite는 MySQL나 PostgreSQL와 같은 데이터베이스 관리 시스템 (DBMS : database management system)이지만, 서버가 아니라 응용 프로그램에 넣어 사용하는 비교적 가벼운 데이터베이스이다. 대규모 작업에는 적합하지 않지만, 중소 규모라면 속도에 손색이 없다. 또 API는 단순히 라이브러리를 호출하는 것만 있으며, 데이터를 저장하는 데 하나의 파일만을 사용하는 것이 특징이다. 파이썬에서 sqlite3라는 표준 라이브러리를 기본적으로 제공하고 있기 때문에 이것을 이용해 DB 를 운용할 것이다. 2 프로그램 설치 1. 먼저 https://sqlitebrowser.org/ 에 접속한다. DB Browser for SQLite DB Browser for S.. 2021. 4. 5.
[Python 기초] 파이썬 클래스 - 클래스 멤버(static) 와 접근제어자(public , private , getter , setter) 1 클래스 멤버 클래스 멤버란 클래스 변수, 클래스 메서드를 뜻한다. 이는 공유 변수, 공유 메서드이기도 하다. 해당 변수와 메서드는 변경되지 않고 정적이라는 의미로 static이라고도 한다. 클래스 멤버는 모든 인스턴스가 공유한다. 인스턴스 생성 이전에 이미 메모리 공간에 할당된다. 따라서 객체를 생성하지 않아도 접근이 가능하다. 접근방법 클래스명.메서드() @classmethod 를 앞에 붙여준다. # 클래스 변수(공유변수)와 인스턴스 변수 예제 1 2 3 4 5 6 7 8 9 10 11 12 class B: int1 = 0 # 클래스 변수 b1 = B() print("b1인스턴스",b1.int1) print("B클래스",B.int1) # 클래스 변수 # 인스턴스를 생성하지 않아도 메모리에 올라가있어.. 2021. 4. 5.