python中连接mysql数据库,创建数据库和表,实现数据库增删改查操作示例代码(霸霸看了都说好)

数据库概述

数据库通常使用文件系统作为基本的持久化存储,他可以是普通的操作系统文件,专用的操作系统文件,甚至是原始的磁盘分区。

数据库存储可以抽象为一张表,每行数据都有一些字段对应数据库的列,每一列的表定义的集合以及每个表的数据类型放到一起定义了数据库的模式。

数据库可以创建和删除,表也一样。当查询一个数据库的时候,可以一次性取回一次性结果,也可以逐条遍历每个结果行,一些数据库使用游标的概念来提交SQL命令,查询以及获取结果,不管是一次性获取还是逐行获取都可以使用这个概念。

pymysql模块

为了使python连接上数据库,你需要一个驱动,这个驱动是用于与数据库交互的库。

PyMySQL : 这是一个使Python连接到MySQL的库,它是一个纯Python库。

PyMySQL是一个开源项目 :https://github.com/PyMySQL/PyMySQL

环境要求:
PyMySQL支持的python版本:
python2
python2.7
python3
python version >=3.4

安装python和pymysql模块

pip install pymysql

步骤

  1. 连接本地数据库pymysql.connect(host,port,user,password,database,charset)
  2. 创建游标对象cursor = db.cursor()
  3. 执行SQL语句(增删改查)cursor.execute(“XXX语句”)
  4. 提交数据 db.commit()
  5. 获取全部数据cursor.fetall()
  6. 关闭游标和数据库的连接cursor.close() + db.close()

具体操作

连接本地数据库
db = pymysql.connect(
		host='localhost',
		port=3306,
		user='root',
		passwd='123456',
		db='douban',
		charset='utf8')
# host 主机名,port 端口,user 数据库用户名,password 数据库root用户的密码,db 数据库名

参数含义:

host——是数据库所在地址,默认值是localhost,也就是说本机运行这个参数可以不指定

port ——端口号,默认值3306

user ——数据库的用户名,必须存在

passwd ——数据库的密码,必须存在

db ——要操作的数据库名,非必须,大多数会用test / learning里面的数据

charset ——指定字符集(默认utf8)

忘记数据库用户名和密码怎末办?

打开cmd——打开安装MySQLbin文件位置 cd+路径——输入 “ mysql -u root -p”,输密码——输入“ \s”显示所有信息——查看
python中连接mysql数据库,创建数据库和表,实现数据库增删改查操作示例代码(霸霸看了都说好)_第1张图片

数据库操作语句

PS: scores是表格名字

①显示表单所有数据 select *from scores

②增 insert into scores (NAME,chinese,english,math) values(‘lll’,85,97.6,100)

③删 delete from scores where NAME = ‘lll’

④改 update scores set math=999 where id=1

⑤查 select NAME,math from scores

# -*- coding:utf-8 -*-
import pymysql
db = pymysql.connect(host='localhost',port=3306,user='root',password='qwer1234',database='learning',charset='utf8')#dfb
	# host='localhost',port=3306,user='SimMysql',password='qwer1234'
print ("数据库连接成功")
cursor = db.cursor()#使用cursor()方法创建一个游标对象
 
cursor.execute("select *from scores") # 显示表格数据,使用execute()方法执行SQL语句,
results = cursor.fetchall()#使用fetall()获取全部数据
print(results)
print("显示所有数据*************************************")
#增
cursor.execute("insert into scores (NAME,chinese,english,math) values('lll',85,97.6,100)")
db.commit()
cursor.execute("select *from scores")
results1 = cursor.fetchall()#使用fetall()获取全部数据
print(results1)
print("增加成功*************************************")
#删
cursor.execute("delete from scores where NAME = 'lll'")
db.commit()#提交才有效
cursor.execute("select *from scores")
results2 = cursor.fetchall()#使用fetall()获取全部数据
print(results2)
print("删除成功*************************************")
#改 / 更新数据
 
cursor.execute("update scores set math=999 where id=1")
db.commit()
cursor.execute("select *from scores")
results3 = cursor.fetchall()#使用fetall()获取全部数据
print(results3)
print("更新/更改成功*************************************")
 
#查
cursor.execute("select NAME,math from scores")
db.commit()#提交才有效
#cursor.execute("select *from scores")
results4 = cursor.fetchall()#使用fetall()获取全部数据
print(results4)
print("查询成功*************************************")
 
cursor.close()#关闭游标和数据库的连接
db.close()

你可能感兴趣的:(python基础,MySQL基础,python,mysql,数据库)