当前位置: 首页 > news >正文

Python 数据库连接 + 创建库表+ 插入【内含代码实例】

人生苦短 我用python

Python其他实用资料:点击此处跳转文末名片获取

在这里插入图片描述

数据库连接

连接数据库前,请先确认以下事项:

  • 您已经创建了数据库 TESTDB.
  • 在TESTDB数据库中您已经创建了表 EMPLOYEE
  • EMPLOYEE表字段为 FIRST_NAME, LAST_NAME, AGE, SEX 和 INCOME。
  • 连接数据库TESTDB使用的用户名为 “testuser” ,密码为 “test123”,你可以可以自己设定或者直接使用root用户名及其密- 码,Mysql数据库用户授权请使用Grant命令。
    在你的机子上已经安装了 Python MySQLdb 模块。
  • 如果您对sql语句不熟悉,可以访问我们的 SQL基础教程

实例:

以下实例链接Mysql的TESTDB数据库:

#!/usr/bin/python
# -*- coding: UTF-8 -*-import MySQLdb# 打开数据库连接
db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset='utf8' )# 使用cursor()方法获取操作游标 
cursor = db.cursor()# 使用execute方法执行SQL语句
cursor.execute("SELECT VERSION()")# 使用 fetchone() 方法获取一条数据
data = cursor.fetchone()print "Database version : %s " % data# 关闭数据库连接
db.close()

执行以上脚本输出结果如下:

Database version : 5.0.45

创建数据库表

如果数据库连接存在我们可以使用execute()方法来为数据库创建表,如下所示创建表EMPLOYEE

#!/usr/bin/python
# -*- coding: UTF-8 -*-import MySQLdb# 打开数据库连接
db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset='utf8' )# 使用cursor()方法获取操作游标 
cursor = db.cursor()# 如果数据表已经存在使用 execute() 方法删除表。
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")# 创建数据表SQL语句
sql = """CREATE TABLE EMPLOYEE (FIRST_NAME  CHAR(20) NOT NULL,LAST_NAME  CHAR(20),AGE INT,  SEX CHAR(1),INCOME FLOAT )"""cursor.execute(sql)# 关闭数据库连接
db.close()

在这里插入图片描述

数据库插入操作

以下实例使用执行 SQL INSERT 语句向表 EMPLOYEE 插入记录:

#!/usr/bin/python
# -*- coding: UTF-8 -*-import MySQLdb# 打开数据库连接
db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset='utf8' )# 使用cursor()方法获取操作游标 
cursor = db.cursor()# SQL 插入语句
sql = """INSERT INTO EMPLOYEE(FIRST_NAME,LAST_NAME, AGE, SEX, INCOME)VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""
try:# 执行sql语句cursor.execute(sql)# 提交到数据库执行db.commit()
except:# Rollback in case there is any errordb.rollback()# 关闭数据库连接
db.close()

以上例子也可以写成如下形式:

#!/usr/bin/python
# -*- coding: UTF-8 -*-import MySQLdb# 打开数据库连接
db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset='utf8' )# 使用cursor()方法获取操作游标 
cursor = db.cursor()# SQL 插入语句
sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \LAST_NAME, AGE, SEX, INCOME) \VALUES (%s, %s, %s, %s, %s )" % \('Mac', 'Mohan', 20, 'M', 2000)
try:# 执行sql语句cursor.execute(sql)# 提交到数据库执行db.commit()
except:# 发生错误时回滚db.rollback()# 关闭数据库连接
db.close()

实例:
以下代码使用变量向SQL语句中传递参数:

..................................
user_id = "test123"
password = "password"con.execute('insert into Login values(%s, %s)' % \(user_id, password))
..................................

还有什么想看的,可以在评论区艾特我

在这里插入图片描述

👇问题解答 · 源码获取 · 技术交流 · 抱团学习请联系👇

http://www.lryc.cn/news/27140.html

相关文章:

  • DSS 部署环境需求清单
  • Python的面向对象,详细讲解Python之用处等基本常识
  • 如何使用固态继电器为恒温器供电
  • 【LeetCode】剑指 Offer(14)
  • Rman单实例迁移到单实例
  • 毕业设计 基于stm32舞台彩灯控制器设计app控制系统
  • 【MyBatis】篇一.
  • 【JavaScript速成之路】JavaScript流程控制
  • 18、基准测试,sysbench
  • 3D,点云拼接2
  • jmeter学习笔记一(http基础知识)
  • 【Java】CompletableFuture 并发顺序调度
  • 职场人必备的6款实用办公app,每一款都是心头爱
  • 小丑改造计划之复习一
  • final修饰符使用中遇到的一些问题
  • 好记又实用的获取电脑型号方法
  • @Transactional配置详解
  • 性能测试面试题汇总
  • vue权限控制和动态路由
  • 利用正则表达式删掉代码中的所有注释-pycharm为例
  • 【java基础】内部类、局部内部类、匿名内部类、静态内部类
  • react renderProps学习记录
  • 关于tf.gather函数batch_dims参数用法的理解
  • 日常操作linux常用命令
  • 【Java集合框架】篇二:Collection接口方法
  • PHP入门指南:简单易学的语法和丰富的调试工具与安全性最佳实践
  • 前端面试题--HTML篇
  • SpringBoot集成ElasticSearch,实现模糊查询,批量CRUD,排序,分页,高亮
  • 常用Swagger注解汇总
  • 关于 TypeScript 声明文件