• Python之数据库(MYSQL)连接


    一)数据库SQL语言基础

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
    MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。

    1.登录MYSQL数据库软件

    在运行窗口输入“CMD”进入仿DOS窗口,然后输入Mysql –u root –proot 命令进入MYSQL数据库环境。其中–u后面是用户名,-p后面是密码。

    2.创建数据库SQL代码格式

    要想将数据存储到数据库的表中,首先要创建一个数据库。创建数据库就是在数据库系统中划分一块存储数据的空间。在MySQL中,创建数据库的基本语法格式如下所示:

    CREATE  DATABASE 数据库名称;
    #这个;十分重要,是sql中一个命令的结束符号
    
    • 1
    • 2

    在上述语法格式中,“CREATE DATABASE”是固定的SQL语句,专门用来创建数据库。“数据库名称”是唯一的,不可重复出现。
    –例-创建名为stu的数据库
    image.png

    3.创建数据表SQL代码格式

    数据库创建成功后,就需要创建数据表。所谓创建数据表指的是在已存在的数据库中建立新表。需要注意的是,在操作数据表之前,应该使用“USE数据库名”指定操作是在哪个数据库中进行,否则会抛出“No database selected”错误。创建数据表的基本语法格式如下所示:

    CREATE TABLE 表名
    (
    字段名1,数据类型[完整性约束条件],
    字段名2,数据类型[完整性约束条件]......
    字段名3,数据类型[完整性约束条件])
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在上述语法格式中,“表名”指的是创建的数据表名称,“字段名”指的是数据表的列名,“完整性约束条件”指的是字段的某些特殊约束条件。
    –例-创建数据表
    image.png

    4.添加数据SQL代码格式

    要想操作数据表中的数据,首先要保证数据表中存在数据。MySQL 使用INSERT语句向数据表中添加数据。通常情况下,向数据表中添加的新记录应该包含表的所有字段,即为该表中的所有字段添加数据,具体语法格式如下所示:

    INSERT INTO TABLES(字段名1.字段名2..) VALUES(字段名1.字段名2...);
    
    • 1

    在上述语法格式中,“字段名1.字段名2,…”表示数据表中的字段名称,此处必须列出表中所有字段的名称:“值1,值2,…”表示每个字段的值.每个值的顺序、类型必须与对应的字段相匹配。
    –例-添加数据
    image.png

    二)数据库操作

    1. 连接数据库

    连接数据库需要用到pymysql这个库,使用pip install pymysql安装或者是在pycharm安装。
    Pymysql简介:是一个使用python连接到MySQL的库,是一个纯python编写的库。
    环境要求:
    Python2.7
    Python version>=3.4
    连接数据库需要以下步骤:

    #1.导包
    import pymysql
    
    #2.创建链接
    coon = pymysql.connect(
        #connect有许多参数远不止下面六个,感兴趣可自行查阅
        host='localhost', #host指的是地址,其中loaclhost是本机
        user='root', #user是用户
        password='123456', #password是密码
        port=3306, #port是端口,mysql的端口是3306
        db='stu', #dh即database,是要连接的数据库
        charset='utf8' #编码格式
    )
    
    #3.建立游标,可以控制当前语句执行到哪里
    cur = coon.cursor()
    
    #4.编写MYSQL语句并执行
    cur.execute("select * from stu1")
    
    #5.输出结果
    res=cur.fetchall() #获取结果
    print(res)
    
    #6.关闭连接
    cur.close() #关闭游标
    coon.close() #关闭连接
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    –例-验证连接是否成功

    import pymysql
    
    coon = pymysql.connect(
    host='localhost',user='root',password='123456',port=3306,db='stu',charset='utf8'
    )
    cur = coon.cursor()
    cur.execute("select * from stu1")
    print("连接成功")
    
    cur.close()
    coon.close()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    image.png

    2.执行SQL语句

    Execute()方法用来执行sql语句,sql语句必须以字符串的形式。
    Fetchall()方法用来获取结果,以便于print打印出结果。
    –例-连接stu数据库,创建stu表,并查看表结构,在创建完成表后打印创建成功。

    import pymysql
    
    coon = pymysql.connect(
    host='localhost',user='root',password='12345678',port=3306,db='stu',charset='utf8'
    )
    cur = coon.cursor()
    cur.execute("create table stu (id int primary key,name char(8) not null,age int(2) not null,sex char(2) not null)")
    print("创建成功")
    cur.execute("desc stu")
    res =cur.fetchall()
    print(res)
    cur.close()
    coon.close()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    image.png

    3.插入、修改、删除数据

    commit命令用于把事务所做的修改保存到数据库,在插入数据或修改数据时需要用commit保存一下数据。
    –例-连接stu数据库,并将数据插入stu表,并查询stu表中的所有信息,查询完毕后打印查询完毕。
    (0001,‘一’,1,‘F’),(0002,‘二’,2,‘F’),(0003,‘三’,3,‘F’),(0004,‘四’,4,‘F’),

    import pymysql
    
    coon = pymysql.connect(
    host='localhost',user='root',password='12345678',port=3306,db='stu',charset='utf8'
    )
    cur = coon.cursor()
    cur.execute("insert into stu values(0001,'一',1,'F'),(0002,'二',2,'F'),(0003,'三',3,'F'),(0004,'四',4,'F');")
    coon.commit()
    cur.execute("select * from stu")
    res =cur.fetchall()
    print(res)
    cur.close()
    coon.close()
    print('查询完毕')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    image.png

  • 相关阅读:
    【操作系统】之gcc编译
    人工智能知识全面讲解:线性支持向量机
    文件传输工具WinSCP下载安装使用教程
    Web安全之接口鉴权
    OpenMLDB 开源一周年,感恩遇见
    算法分析与设计课后练习22
    【第28例】IPD体系进阶 | 需求管理:需求实现过程
    临时增加ASM diskgroup做备份用要及时取消,否则去掉DG 导致CRS 重启
    QML控件类型:ToolTip
    JVM,GC
  • 原文地址:https://blog.csdn.net/xiaoyu070321/article/details/132811475