返回顶部
首页 > 资讯 > 数据库 >python 专题九 Mysql数据库编程基础知识
  • 642
分享到

python 专题九 Mysql数据库编程基础知识

基础知识数据库专题 2022-06-04 18:06:43 642人浏览 薄情痞子
摘要

在python网络爬虫中,通常是通过TXT纯文本方式存储,其实也是可以存储在数据库中的;同时在WAMP(windows、Apache、Mysql、PHP或Python)开发网站中,也可以通过Python构建

python网络爬虫中,通常是通过TXT纯文本方式存储,其实也是可以存储在数据库中的;同时在WAMP(windows、Apache、MysqlPHPPython开发网站中,也可以通过Python构建网页的,所以这篇文章主要讲述Python调用mysql数据库相关编程知识。从以下几个方面进行讲解:

1.配置MySLQ
2.sql语句基础知识
3.Python操作MySQL基础知识
4.Python调用MySQL示例

一. 配置MySQL


首先下载mysql-5.0.96-winx64,安装过程如下图所示。
1.安装MySQL 5.0
查看图片 查看图片

查看图片 查看图片

2.选择手动配置、服务类型、通用多功能型和安装路径
查看图片 查看图片

查看图片 查看图片

3.设置数据库访问量连接数为15、端口为3306(代码中设置URL用到)、编码方式为utf-8
查看图片 查看图片

查看图片 查看图片

4.设置默认超级root用户的用户名和密码,最后安装成功
查看图片 查看图片

二. SQL语句基础知识


安装MySQL 5.0成功后,进行数据库的简单操作。
1.运行MySQL输入默认用户密码123456

查看图片


2.创建数据库test01和使用数据库(第二次调用直接use database)
create database test01;

查看图片


显示数据库中包含的数据库:show databases;

查看图片


3.创建表student,其中学号为主键
create table student(username varchar(20),passWord varchar(20),stuid int primary key);

查看图片


4.显示表结构,使用语句desc student

查看图片


5.向学生表中插入数据并显示查询的数据

查看图片


6.删除表:drop table student;

查看图片


7.更新数据
update student set password='000000' where stuid='1';

查看图片

8.删除数据
Delete from student where username='eastmount;

查看图片

此时MySQL操作数据库基本讲解结束,你同样可以实现数据库的增删改查、事务、存储过程等操作,建议安装可视化的软件来替代黑框,或使用Navicat for MySQL软件即可。代码如下:


Enter password: ******
mysql> show databases;
+--------------------+
| Database      |
+--------------------+
| infORMation_schema |
| mysql       |
| performance_schema |
| test        |
| test01       |
+--------------------+
5 rows in set (0.00 sec)

mysql> use test01;
Database changed
mysql> show tables;
Empty set (0.00 sec)

mysql> create table student(username varchar(20),
  ->         password varchar(20),
  ->         stuid int primary key);
Query OK, 0 rows affected (0.33 sec)

mysql> show tables;
+------------------+
| Tables_in_test01 |
+------------------+
| student     |
+------------------+
1 row in set (0.00 sec)

mysql> desc student;
+----------+-------------+------+-----+---------+-------+
| Field  | Type    | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| username | varchar(20) | YES |   | NULL  |    |
| password | varchar(20) | YES |   | NULL  |    |
| stuid  | int(11)   | NO  | PRI | NULL  |    |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.03 sec)

mysql> insert student(username, password, stuid)
  -> values('eastmount','123456',1)
  -> ;
Query OK, 1 row affected (0.05 sec)

mysql> select * from student;
+-----------+----------+-------+
| username | password | stuid |
+-----------+----------+-------+
| eastmount | 123456  |   1 |
+-----------+----------+-------+
1 row in set (0.00 sec)

mysql> update student set password='000000' where stuid='1';
Query OK, 1 row affected (0.10 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> select * from student;
+-----------+----------+-------+
| username | password | stuid |
+-----------+----------+-------+
| eastmount | 000000  |   1 |
+-----------+----------+-------+
1 row in set (0.00 sec)

mysql> delete from student where username='eastmount';
Query OK, 1 row affected (0.08 sec)

mysql> select * from student;
Empty set (0.00 sec)

mysql>

三. Python调用MySQL基础知识

通常的安装方法是使用:pip install mysql 安装Python的MySQL库,但是总会报错。常见错误如:
Microsoft Visual c++ 9.0 is required (Unable to find vcvarsall.bat)
mysql.c(42) : fatal error C1083: Cannot open include file: 'config-win.h': No such file or directory
这些可能是驱动等问题。

查看图片

正确安装方法:
建议下载一个MySQL-python-1.2.3.win-amd64-py2.7.exe文件进行安装。
官网地址:https://pypi.python.org/pypi/MySQL-python/
下载地址:Http://www.lsjlt.com/softs/73369.html

查看图片

下面我们要详细了解Python数据库api。从Python中访问数据库需要接口程序,接口程序是一个Python模块,它提供数据库客户端库(通常是C语言写成的)的接口供你访问。注意:Python接口程序都一定要遵守Python DB-API规范。
DB-API是一个规范。它定义了一系列必须的对象和数据库存取方式,以便为各种各样的底层数据库系统和多种多样的数据库接口程序提供一致的访问接口。DB-API为不同的数据库提供了一致的访问接口,在不同的数据库之间移植代码成为一件轻松的事情。

下面简单介绍DB-API的使用方法。

1.模块属性
DB-API规范里的以下特性和属性必须提供。一个DB-API兼容模块定义如下所示:


apilevel:模块兼容的DB-API版本号
threadsafety:线程安全级别
paramstyle:支持sql语句参数风格
connect():连接数据库

Python调用MsSQL需要导入MySQLdb库,如下:

import MySQLdb

2.connect()函数

其中主要使用的方法是connect对象。connect()方法生成一个connect对象,用于访问数据库,其参数如下:


user:Username
password:Password
host:Hostname
database:DatabaseName
dsn:Data source name

注意并非所有的接口程序都严格按照这种格式,如MySQLdb。


import MySQLdb
conn = MySQLdb.connect(host='localhost', db='test01', user='root', passwd='123456', port=3306, charset='utf8')

connect()对象方法如下:


close():关闭数据库连接,或者关闭游标对象
commit():提交当前事务
rollback():取消当前事务
cursor():创建游标或类游标对象
errorhandler(cxn,errcls,errval):作为已给游标的句柄

注意,执行close()方法则上述的连接对象方法不能再使用,否则发生异常。commit()、rollback()、cursor()或许更对于支持事务的数据库更有意义。
数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完整地执行,要么完全地不执行。 一旦你完成了数据库连接,关闭了游标对象,然后在执行commit()提交你的操作,然后关闭连接。

3.游标对象
上面说了connect()方法用于提供连接数据库的接口,如果要对数据库操作那么还需要使用游标对象。游标对象的属性和方法:


fetchone():可以看作fetch(取出) one(一个),也就是得到结果集的下一行(一行)。
fetchmany(size):可以看作fetch(取出)many(多个),这里的参数是界限,得到结果集的下几行(几行)
fetchall():顾名思义,取得所有。
execute(sql):执行数据库操作,参数为sql语句。
close():不需要游标时尽可能的关闭

下面通过简单的示例进行讲解。

四. Python调用MySQL示例

在前面数据库中我们创建了数据库“test01”和表“student”,同时插入了数据。那么,怎样通过Python来显示呢?
1.查询所有数据库
首先,我们查看本地数据库中所包含的数据库名称,通过“show databases”语句。


import MySQLdb
 
try:
  conn=MySQLdb.connect(host='localhost',user='root',passwd='123456',port=3306)
  cur=conn.cursor()
  res = cur.execute('show databases')
  print res
  for data in cur.fetchall():
    print '%s' % data
  cur.close()
  conn.close()
except MySQLdb.Error,e:
   print "Mysql Error %d: %s" % (e.args[0], e.args[1])

其中通过链接数据库代码为:
conn=MySQLdb.connect(host='localhost',user='root',passwd='123456',port=3306)
访问root超级用户,其密码为“123456”,端口为“3306”,其结果如下:

查看图片

如果不知道本地数据库的名称,可以通过该方法,先查询数据库中包含哪些数据库,然后再连接该数据库进行相关的操作。

2.查询表
下面介绍查询表student中数据,代码如下,代码的具体含义是通过connect()连接数据库,通过conn.cursor()定义游标,然后调用游标的excute(sql)执行数据库操作,此处为查询操作,再通过fetchall()函数获取所有数据。


# coding:utf-8 
import MySQLdb
 
try:
  conn=MySQLdb.connect(host='localhost',user='root',passwd='123456',port=3306, db='test01', charset='utf8')
  cur=conn.cursor()
  res = cur.execute('select * from student')
  print u'表中包含',res,u'条数据n'
  print u'数据如下:(姓名 密码 序号)'
  for data in cur.fetchall():
    print '%s %s %s' % data
  cur.close()
  conn.close()
except MySQLdb.Error,e:
   print "Mysql Error %d: %s" % (e.args[0], e.args[1])

输出结果如图所示:

查看图片


对应的MySQL中的结果是一致的,下图是对应的结果。

查看图片

3.创建表
下面这段代码是创建一张教师表,主要是通过commit()提交数据。


# coding:utf-8 
import MySQLdb
 
try:
  conn=MySQLdb.connect(host='localhost',user='root',passwd='123456',port=3306, db='test01', charset='utf8')
  cur=conn.cursor()
  
  #查看表
  print u'插入前包含表:'
  cur.execute('show tables')
  for data in cur.fetchall():
    print '%s' % data

  #插入数据
  sql = '''create table teacher(id int not null primary key auto_increment,
                name char(30) not null,
                sex char(20) not null
     )'''
  cur.execute(sql)

  #查看表
  print u'n插入后包含表:'
  cur.execute('show tables')
  for data in cur.fetchall():
    print '%s' % data
  cur.close()
  conn.commit()
  conn.close()
except MySQLdb.Error,e:
   print "Mysql Error %d: %s" % (e.args[0], e.args[1])

输出结果如下所示,插入教师表,包含字段:教师序号(id)、教师名称(name)、教师性别(sex)。

查看图片

插入数据也可以通过execute(sql)方法实现,如:
cur.execute("insert into student values( 'yxz', '111111', '10')")
但插入的新数据通常是通过变量进行赋值,而不是固定的,所以要对这条语句中的值做修改。我们可以做如下修改:


# coding:utf-8 
import MySQLdb
 
try:
  conn=MySQLdb.connect(host='localhost',user='root',passwd='123456',port=3306, db='test01')
  cur=conn.cursor()
  
  #插入数据
  sql = '''insert into student values(%s, %s, %s)'''
  cur.execute(sql, ('yxz','111111', '10'))

  #查看数据
  print u'n插入数据:'
  cur.execute('select * from student')
  for data in cur.fetchall():
    print '%s %s %s' % data
  cur.close()
  conn.commit()
  conn.close()
except MySQLdb.Error,e:
   print "Mysql Error %d: %s" % (e.args[0], e.args[1])

输出结果如下所示:


>>> 
插入数据:
esatmount 123456 1
yangxiuzhang 123456 2
xiaoy 123456 3
yxz 111111 10
>>> 

同样,对数据库的增删改插都可以进行,请读者自行阅读。
推荐资料:python使用mysql数据库 - 虫师
后面我会结合python爬虫讲述,如何将爬取的内容存储在数据库中,如我CSDN的博客,爬取博客标题、发布时间、阅读量和评论数。

查看图片

MySQL数据库中结果如下图所示:

查看图片

最后希望文章对你有所帮助,如果文章中存在不足或错误的地方,还请海涵~还是那句话,挺享受现在的老师生活,不论科研、项目,还是教学,很充实,加油!

您可能感兴趣的文档:

--结束END--

本文标题: python 专题九 Mysql数据库编程基础知识

本文链接: https://lsjlt.com/news/13577.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python 专题九 Mysql数据库编程基础知识
    在Python网络爬虫中,通常是通过TXT纯文本方式存储,其实也是可以存储在数据库中的;同时在WAMP(Windows、Apache、MySQL、PHP或Python)开发网站中,也可以通过Python构建...
    99+
    2022-06-04
    基础知识 数据库 专题
  • Python 专题一 函数的基础知识
    最近才开始学习Python语言,但就发现了它很多优势(如语言简洁、网络爬虫方面深有体会).我主要是通过《Python基础教程》和"51CTO学院 智普教育的python视频"学习,在看视频中老师讲述函数知识...
    99+
    2022-06-04
    基础知识 函数 专题
  • MySQL数据库基础知识
    day02 MySQL数据库基础知识一、基础知识概述:    基础决定你这门课程的学习成败!只有学习好这些基础知识以后,你才能真正的运用自如。才能够对数据库有更深入的...
    99+
    2024-04-02
  • 【MySQL】数据库基础知识
    文章目录 一. 什么是数据库二. 为什么要有数据库三. 数据库分类四. 数据库的基本使用1. MySQL安装2. 检查MySQL后端服务器是否启动3. 连接MySQL服务器4. 服务器,数据库...
    99+
    2023-09-03
    数据库 mysql
  • Python 专题四 文件基础知识
    前面讲述了函数、语句和字符串的基础知识,该篇文章主要讲述文件的基础知识(与其他语言非常类似). 一. 文件的基本操作 文件是指存储在外部介质(如磁盘)上数据的集合.文件的操作流程为: 打开文件(读方式写方式...
    99+
    2022-06-04
    基础知识 文件 专题
  • JavaWeb Mysql数据库基础知识
    1、常用命令 1.1安装数据库  以mysql56为例,存放在d盘,打开cmd,依次输入如下命令:(1)d:(2)cd mysql56(3)cd bin(4)mysqld -install即可安装。1.2启...
    99+
    2024-04-02
  • MySQL 数据库的基础知识
    目录1. 认识数据库1.1 数据库和数据结构的关系1.2 为什么需要数据库1.3 数据库的存储2. SQL2.1 介绍2.2 分类3. 数据库的类别3.1 关系型数据库3.2 非关系...
    99+
    2024-04-02
  • 数据库基础知识
    1.数据库的概念数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。2.数据库的作用3.数据层次模型4.常见关系型数据库5.SQL结构化查询语言本章没有讲NoSQL...
    99+
    2024-04-02
  • Python 专题三 字符串的基础知识
    在Python中最重要的数据类型包括字符串、列表、元组和字典等.该篇主要讲述Python的字符串基础知识. 一.字符串基础 字符串指一有序的字符序列集合,用单引号、双引号、三重(单双均可)引号引起来.如: ...
    99+
    2022-06-04
    字符串 基础知识 专题
  • 数据库基础知识(三)
    五、Navicat Premium 12的安装和破解 Navicat Premium 12是一套数据库开发管理工具,支持连接 MySQL、Oracle等多种数据库,可以快速轻松地创建、管理和维护数据库。 相关教程网址:https:...
    99+
    2016-10-10
    数据库基础知识(三)
  • Oracle数据库基础知识
    一、什么是关系型数据库 在学习Oracle数据库最初,先来了解下。什么是关系数据库。 关系型数据库是建立在关系数据库模型基础上的数据库关系系统(Relational DataBase Management ...
    99+
    2024-04-02
  • MySql数据库基础知识点总结
    本文实例讲述了MySql数据库基础知识点。分享给大家供大家参考,具体如下: 数据库基本操作 1)创建数据库 基本语法: create database 数据库名称 ; 创建应该名称为itcas...
    99+
    2022-05-19
    MySql 数据库基础
  • 汇总MySql数据库基础知识点
    这篇文章主要为大家汇总MySql数据库基础知识点,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。本文实例讲述了MySql数据库基础知识点。分享给大家供大家参考,...
    99+
    2024-04-02
  • MySQL数据库基础知识点有哪些
    这篇文章主要介绍“MySQL数据库基础知识点有哪些”,在日常操作中,相信很多人在MySQL数据库基础知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL数据库...
    99+
    2024-04-02
  • Redis数据库的基础知识
    【redis是什么】redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。redis的官网地址,非常好记,是redis.io。(特意查了一下,域名后缀io...
    99+
    2024-04-02
  • Python 函数编程的基础知识介绍
    函数基础知识掌握自定义函数的基本语法规范和调用方法及掌握函数的各种参数的使用及调用规则。1、Python函数函数( Function )是组织好的,可重复使用的,用来实现单一, 或相关联功能的代码段。函数能提高应用的模块性 ,和代码的重复利...
    99+
    2023-05-14
    Python 函数编程 自定义函数
  • 3.2 - 编程基础 - MySQL数据库
    「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「订阅专栏」:此文章已录入专栏《网络安全入门到精通》 MySQL数据库 一、环境准备 ...
    99+
    2023-09-03
    数据库 mysql 网络安全
  • 简单介绍MySQL数据库的基础知识
    下文主要给大家带来MySQL数据库的基础知识,希望这些内容能够带给大家实际用处,这也是我编辑MySQL数据库的基础知识这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。数据库1 、定义数据库,可以简单...
    99+
    2024-04-02
  • MySQL数据库备份的基础知识总结
    本篇内容介绍了“MySQL数据库备份的基础知识总结”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、数据备...
    99+
    2024-04-02
  • MySQL数据库灾备的基础知识总结
    这篇文章主要讲解了“MySQL数据库灾备的基础知识总结”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL数据库灾备的基础知识总结”吧!一、数据备份捷径因为这个方法没有得到官方正式文档的...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作