-
首先在pycharm中安裝pymysql包,settings-prject-project interpreter - 添加符號-搜索pymysql-install。
- import pymysql
import pymysql
conn = pymysql.connect(host='127.0.0.1',user='root',passwd='root',db='mysql_wyc',port=3306,charset='utf8')
# 鏈接數(shù)據(jù)庫
print("打印數(shù)據(jù)庫鏈接對象{}".format(conn))
# 獲取游標
cur = conn.cursor()
# 創(chuàng)建表
cur.execute("drop table if EXISTS pyTest")
sql="""create table pyTest (
id VARCHAR(20) NOT NULL PRIMARY KEY,
name VARCHAR(20),
sex CHAR(2)
)"""
cur.execute(sql)
#cur.execute(sql) 這個只是執(zhí)行了你 sql 中的語句,如果對表進行了修改 只執(zhí)行這一句并沒有作用,
#需要在后面加上conn.commit()提交增刪改數(shù)據(jù)到數(shù)據(jù)庫
#添加數(shù)據(jù)
sql="insert into pyTest(id,name,sex)values('123','張三','男')"
try:
#執(zhí)行sql語句
cur.execute(sql)
# #提交到數(shù)據(jù)庫執(zhí)行
conn.commit()
except:
#發(fā)生錯誤時回滾
conn.rollback()
# ----------修改數(shù)據(jù)-----------------------
#寫法1:sql="update pyTest set name='李四' where id='%s'" %('123')
#寫法2:
sql = "update pyTest set name='王五' where id='123'"
try:
cur.execute(sql)
conn.commit()
except:
conn.rollback()
#查詢操作
sql = "select * from pyTest"
cur.execute(sql)
conn.commit()
#使用 fetchall() 方法獲取數(shù)據(jù)對象,可以得到表中所有的信息,如:(('123', '王五', '男'), ('124', '張三', '男'))
data1 = cur.fetchall()
print("數(shù)據(jù)對象是{}".format(data1))
print(data1)
for i in data1:
print(i)
#使用 fetchone() 方法獲取一條數(shù)據(jù),如:('123', '王五', '男')
# data2 = cur.fetchone()
# #cur.fetchall()與cur.fetchone() 不能同時使用哪怕賦值給不同的變量。
# print(data2)
# for i in data2:
# print(i)
# 刪除表
# sql = " DROP TABLE pytest"
cur.close()
conn.close()
# ----------刪除數(shù)據(jù)-----------------------
# sql="delete from pyTest"
# try:
# cur.execute(sql)
# conn.commit()
# except:
# conn.rollback()
