python連線mysql資料庫,並進行新增、查詢資料
阿新 • • 發佈:2020-08-03
import pymysql # 連線mysql資料庫 conn = pymysql.connect(host='localhost',user='root',password='your_password',database='test',port=3306) # 得到一個遊標 cursor = conn.cursor() #建立一個表 sql = ''' CREATE TABLE `sc`( `sno` CHAR(8) not null, `sname` CHAR(8) not null, `sage` int , PRIMARY KEY (sno) )ENGINE=InnoDB DEFAULT CHARSET=utf8;''' sql2 = ''' insert into sc(sno,sname,sage) values('1','張三',20); ''' # 無論values裡面的值是整形還是字串,都要用%s sql3 = ''' insert into sc(sno,sname,sage) values(%s,%s,%s); ''' # 插入的變數 id = '2' name = '李四' age = 12 cursor.execute(sql) cursor.execute(sql2) # execute的第二個引數就是一個元組,裡面放置的就是引數 cursor.execute(sql3,(id,name,age))#記得要提交 conn.commit() # 關閉與資料庫的連線 conn.close()
下面是資料查詢
import pymysql # 連線mysql資料庫 conn = pymysql.connect(host='localhost',user='root',password='qu513712qu',database='test',port=3306) # 得到一個遊標 cursor = conn.cursor() sql = ''' select * from sc; ''' # 只需要執行,不需要commit提交 cursor.execute(sql) while 1:# fetchone一次只能取出一條資料,相當於指標,取出一條資料後,指標指向後面那條資料 result = cursor.fetchone() if result: print(result) else: break conn.close() ''' 輸出: ('1', '張三', 20) ('2', '李四', 12) 程式碼這樣寫結果也是和上面輸出的一樣 results = cursor.fetchall() for result in results: print(results) 這樣寫的話就會拿出來搜尋到的前兩條資料 results = cursor.fetchmany(2) '''