Skip to content

Instantly share code, notes, and snippets.

@hongdonghyun
Created January 4, 2020 10:56
Show Gist options
  • Save hongdonghyun/720fe932988fac1879a3b73bfd8f5e9b to your computer and use it in GitHub Desktop.
Save hongdonghyun/720fe932988fac1879a3b73bfd8f5e9b to your computer and use it in GitHub Desktop.
# -*- coding: utf-8 -*-
import sqlite3
conn = sqlite3.connect('./hong3_textshopping.db', isolation_level=None)
cur = conn.cursor()
# 데이터베이스 생성 명령어
# id : 해당 데이터의 고유값 PRIMARY KEY라고 부릅니다.
# p_number : 주문번호
# p_order : 수량
# p_name : 상품명
# p_price : 가격
# sql_create_table = """
# CREATE TABLE IF NOT EXISTS products (
# id integer PRIMARY KEY,
# p_number integer,
# p_order integer,
# p_name text,
# p_price integer
# );
# """
# cur.execute(sql_create_table)
# 데이터베이스에 데이터를 집어넣는 명령어
# 순서대로 넣어주셔야 합니다.
# p_name : 생수, p_price : 1000, p_number : 1, p_order : 3
# sql_insert_data = """
# INSERT INTO products(p_name, P_price, p_number, P_order) VALUES (?,?,?,?)
# """
# cur.execute(sql_insert_data, ("생수", 1000, 1, 3))
"""
1. 아! 그리고 이미 테이블을 만들었기 때문에 만든 테이블에 연결만하면되죠? 굳이 한 번더 테이블 생성 및 테이블 안에 P_num, P_name등등 만들어라 라고 하 번더
문장을 작성할 필요는 없는거죠?
>> 네 맞습니다. 정상적으로 생성이 되셨다면 추가적인 생성 명령을 보내지 않으셔도 만들어진 데이터베이스에 접근이 가능하십니다.
2. users 테이블에 P_num, P_name, P_order, P_price 순서로 있고 값을 4개 받을거니까 values (?,?,?,?) 도 이렇게 4개하고, 어디서 받을거냐고해서
product라고 했는데 왜 자꾸 오류가 나는지 모르겠습니다.
cur.executemany("INSERT INTO users(P_num, P_name, P_order, P_price) VALUES (?,?,?,?)", product)
>> 만들어진 데이터베이스를 확인할 수 없었지만 해당문제의 경우 INSERT INTO users 이 부분이 문제가 될것 같습니다.
>> 해당 명령은 users라는 데이터베이스에 (P_num, P_name, P_order, P_price) 데이터를 각각 집어 넣어주겠다고 선언되었습니다.
>> 만약 users라는 데이터베이스를 만들지 않으셨다면 정상적으로 데이터를 집어넣을수가 없겠죠?
"""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment