MapleStory Finger Point

πŸ’Ž Python/πŸ“šνŒŒμ΄μ¬ for Beginner (2판)

(κ°œλ…) 데이터 베이슀 - 파이썬 for Beginner (2판)

HYEJU01 2024. 4. 6. 22:35

·  파일처리 (νŒŒμΌμž…μΆœλ ₯)

데이터λ₯Ό μ €μž₯ν•˜κΈ° 쒋은 방법, 데이터양이 적을 λ•Œ μ ν•©ν•œ ν˜•νƒœ

 

·  데이터 베이슀

λŒ€λŸ‰μ˜ 데이터 λͺ¨μŒ

 

·  λ°μ΄ν„°λ² μ΄μŠ€ μ†Œν”„νŠΈμ›¨μ–΄ DBMS

DataBaseManagementSystem

Oracle, SQL μ„œλ²„, MySQL, μ—‘μ„ΈμŠ€Acess, SQLite

 

·   DBMS μ’…λ₯˜

- κ³„μΈ΅ν˜• DBMS 

- λ§ν˜• DBMS 

- κ΄€κ³„ν˜• DBMS 

- 객체지ν–₯ν˜• DBMS 

- 객체 κ΄€κ³„ν˜• DBMS   λ“±

 

 

·  κ΄€κ³„ν˜• DBMS 

단점 : μ‹œμŠ€ν…œ μžμ›μ„ 많이 μ°¨μ§€ν•΄μ„œ 속도가 μ „λ°˜μ μœΌλ‘œ λŠλ¦¬λ‹€.

 

 

· λ°μ΄ν„°λ² μ΄μŠ€ κ΄€λ ¨ μš©μ–΄

 

· 데이터 : λ‹¨νŽΈμ μΈ 정보

· ν…Œμ΄λΈ” : νšŒμ› 데이터가 ν‘œν˜•νƒœλ‘œ ν‘œν˜„λœκ²ƒ

· λ°μ΄ν„°λ² μ΄μŠ€ : ν…Œμ΄λΈ”μ΄ μ €μž₯λ˜λŠ” μ €μž₯μ†Œ, 원퉁λͺ¨μ–‘

· DBMS : λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ‹œμŠ€ν…œ

· μ—΄(컬럼,ν•„λ“œ): 1개 μ΄μƒμ˜ μ—΄λ‘œ κ΅¬μ„±λœλ‹€.

· 열이름 : 열을 κ΅¬λΆ„ν•˜λŠ” 이름 , 쀑볡X 

· λ°μ΄ν„°ν˜•μ‹ : μ—΄ 이름, λ°μ΄ν„°ν˜•μ‹μ„ ν•¨κ»˜ μ§€μ •ν•œλ‹€. 

· ν–‰ (둜우) : μ‹€μ§ˆμ μΈ 데이터 

· SQL (κ΅¬μ‘°ν™”λœ 질의 μ–Έμ–΄) : SQL은 μ‚¬μš©μž<-> DBMS μ†Œν†΅ μ–Έμ–΄

 

· DBMS μ„€μΉ˜

https://sqlite.org/download.html

 

 

· SQL 문은 λŒ€μ†Œλ¬Έμž ꡬ뢄 X ,

· λμ—λŠ” μ„Έλ―Έμ½œλ‘  ; 을 λΆ™μ—¬μ•Όν•œλ‹€.

·  SQLite 자체λͺ…λ Ήμ–΄λŠ” μ†Œλ¬Έμžλ‘œ μ‚¬μš©

·  '.' 을 뢙이고 μ„Έλ―Έμ½œλ‘ μ€ 뢙이지 μ•Šμ•„λ„ λœλ‹€.

( .table / .schema ν…Œμ΄λΈ”μ΄λ¦„ / .header on / .mode column / .quit )

 

 

· .open 파일λͺ… :: λ°μ΄ν„°λ² μ΄μŠ€ 생성

·  .table :: ν˜„μž¬ 데이터 베이슀의 ν…Œμ΄λΈ” λͺ©λ‘μ„ λ³΄μ—¬μ€Œ

· .schema ν…Œμ΄λΈ”μ΄λ¦„ :: ν…Œμ΄λΈ”μ˜ μ—΄, λ°μ΄ν„°ν˜•μ‹μ„ λ³΄μ—¬μ€Œ

· CREATE TABLE ν…Œμ΄λΈ”μ΄λ¦„ (열이름1   λ°μ΄ν„°ν˜•μ‹, ..... );

· DROP TABLE ν…Œμ΄λΈ”μ΄λ¦„  :: 생성 ν…Œμ΄λΈ” μ‚­μ œ

 

· INSERT   INTO  ν…Œμ΄λΈ”μ΄λ¦„   VALUES (κ°’1, κ°’2 ,....);  ::  κ°’ μ‚½μž…

· DELETE FROM ν…Œμ΄λΈ”μ΄λ¦„ WHERE 열이름 = κ°’ ::  κ°’ μ‚­μ œ

· UPDATE ν…Œμ΄λΈ”μ΄λ¦„ SET 열이름 =μƒˆκ°’ WHERE 열이름 = κ°’ ::  κ°’ μˆ˜μ •

 

·  .header on :: select λ¬Έ μΌλ•Œ, 헀더λ₯Ό 보여쀀닀.

·  .mode column :: select λ¬Έ μΌλ•Œ,  컬럼λͺ¨λ“œλ‘œ 좜λ ₯ν•œλ‹€.

· SELECT * FROM ν…Œμ΄λΈ” 이름 :: 데이터 쑰회

 

· SELECT 열이름1, 열이름2  ... FROM ν…Œμ΄λΈ”μ΄λ¦„ FROM 쑰건;  // 쑰건식과 ν•¨κ»˜ μ‚¬μš©

 


 

· 데이터 μž…λ ₯

λ°μ΄ν„°λ² μ΄μŠ€μ—°κ²° > μ»€μ„œ 생성 > ν…Œμ΄λΈ”λ§Œλ“€κΈ° > λ°μ΄ν„°μž…λ ₯ > μž…λ ₯ν•œ 데이터 μ €μž₯ > λ°μ΄ν„°λ² μ΄μŠ€ λ‹«κΈ°

 

·  λ°μ΄ν„°λ² μ΄μŠ€μ—°κ²° -------- μ—°κ²°μž =  sqlite3.connect("DB이름")

· μ»€μ„œ 생성 ----- μ»€μ„œμ΄λ¦„ = μ—°κ²°μž.cursor()

· ν…Œμ΄λΈ” λ§Œλ“€κΈ° ----- μ»€μ„œμ΄λ¦„.execute("CREATE TABLE λ¬Έ")

· 데이터 μž…λ ₯ ----- μ»€μ„œμ΄λ¦„.execute("INSERT λ¬Έ")

· μž…λ ₯ν•œ 데이터 μ €μž₯ ----- μ—°κ²°μž.commit()

· λ°μ΄ν„°λ² μ΄μŠ€ λ‹«κΈ° ---- μ—°κ²°μž.close()

 

import sqlite3

con, cur = None, None

data1, data2, data3, data4 = '','','',''
sql = ''


con = sqlite3.connect("C:/CookPython/db12")
cur = con.cursor()


while(True):
	data1 = inpur("μ‚¬μš©μžID => ")
    if data1 == '':
    	break;
    data2
    data3
    data4
    sql  = "INSERT INTO db12 VALUES('"+data1+"','"+data2+"','"+data3+"',"+data4+")"
    cur.execute(sql)
    
    
con.comit()
con.close()

 

 

· λ°μ΄ν„° 쑰회

 

λ°μ΄ν„°λ² μ΄μŠ€ μ—°κ²° > μ»€μ„œ 생성 > 데이터 쑰회 > μ‘°νšŒν•œ 데이터 좜λ ₯ > λ°μ΄ν„°λ² μ΄μŠ€ λ‹«κΈ°

·  λ°μ΄ν„°λ² μ΄μŠ€μ—°κ²° -------- μ—°κ²°μž =  sqlite3.connect("DB이름")

· μ»€μ„œ 생성 ----- μ»€μ„œμ΄λ¦„ = μ—°κ²°μž.cursor()

· λ°μ΄ν„° 쑰회 ----- μ»€μ„œμ΄λ¦„.execute("SELECT λ¬Έ")

· μ‘°νšŒν•œ 데이터 좜λ ₯ ----- μ»€μ„œμ΄λ¦„.fetchone()

· λ°μ΄ν„°λ² μ΄μŠ€ λ‹«κΈ° ---- μ—°κ²°μž.close()

 

 

 

import sqlite3

con, cur = None, None

data1, data2, data3, data4 = '','','',''
sql = ''


con = sqlite3.connect("C:/CookPython/db12")
cur = con.cursor()

cur.execute("SELECT * FROM db12")


while(True):
	row = cur.fetchone()
    if row == None:
    	break;
    data1 = row[0]
    data2 = row[1]
    data3 = row[2]
    data4 = row[3]

	print (~~)

con.close()