【Python,一线互联网企业高级Java工程师面试题大全

Python2 中则使用 mysqldb

安装 PyMySQL

=============================================================================

首先要安装这个模块:


pip install pymysql 

检查一下是否安装成功:


pip show pymysql 

PyMySQL 连接数据库

================================================================================


import pymysql



# 创建数据库连接

conn = pymysql.connect(

    host = '127.0.0.1', # 连接主机, 默认127.0.0.1 

    user = 'root',      # 用户名

    passwd = '1234',# 密码

    port = 3306,        # 端口,默认为3306

    db = 'test',        # 数据库名称

    charset = 'utf8'    # 字符编码

)



# 生成游标对象 cursor

cursor = conn.cursor()



# 查询数据库版本

cursor.execute("select version()") # 返回值是查询到的数据数量

# 通过 fetchall方法获得数据

data = cursor.fetchone()

print("Database Version:%s" % data)



cursor.close()  # 关闭游标

conn.close()    # 关闭连接 

创建数据库(数据库必须存在)

=================================================================================

由于连接数据库时需要填要连接的数据库名,所以创建数据库只能做到:删除已经存在的数据库,再重新创建,相当于 清空数据库 的作用。


# 创建数据库 test

cursor.execute("drop database if exists test")  #如果数据库已经存在,那么删除后重新创建

sql = "create database test"

cursor.execute(sql) 

创建数据表

========================================================================


# 创建数据表

cursor.execute("drop table if exists employee")  # 如果数据表已经存在,那么删除后重新创建

sql = """

CREATE TABLE employee (

    id VARCHAR(20) NOT NULL,

    name VARCHAR(20),

    age INT,

    income FLOAT 

)

"""

cursor.execute(sql) 

插入操作

=======================================================================


# 数据库插入数据

sql = "INSERT INTO employee VALUES ('1', '张三', 20, 5000)"

try:

    cursor.execute(sql)

    # 提交当前游标的全部操作

    conn.commit()

except:

    print("expection!")

    conn.rollback()



# 查看更新后的结果

sql = "SELECT* FROM employee"

cursor.execute(sql)

data = cursor.fetchall()

print(data) 

查询操作

=======================================================================

只查询出一条数据:cursor.fetchone()


sql = "SELECT* FROM employee"

cursor.execute(sql) # 返回值是查询到的数据数量

data = cursor.fetchone() # 查询一条数据

print(data) 

查询数据库中所有数据:cursor.fetchall()


# 数据库查询数据

sql = "SELECT * FROM employee"

cursor.execute(sql) # 返回值是查询到的数据数量

data = cursor.fetchall() # 查询一条数据

print(data) 

查询指定条件的数据:查询满足条件 income > 5000 的数据。


# 查询指定条件的数据

sql = " SELECT * FROM employee WHERE income > '%d' " % (5000)

cursor.execute(sql) # 返回值是查询到的数据数量

data = cursor.fetchone()

print(data) 

更新操作

=======================================================================


# 更新数据库

sql = " UPDATE employee SET age = age + 1 WHERE age < '%d' " % (25)

try:

    cursor.execute(sql)

    conn.commit()

except:

    print("expection!")

    conn.rollback()



# 查看更新后的结果

sql = "SELECT* FROM employee"

cursor.execute(sql)

data = cursor.fetchall()

print(data) 

删除操作

=======================================================================


# 删除数据

sql = "DELETE FROM employee WHERE age > '%d' " % (30)

try:

    cursor.execute(sql)

    conn.commit()

except:

    print("exce[tion!")

    conn.rollback()



#查看更新后的结果

sql = "select * from employee"

cursor.execute(sql)

data = cursor.fetchone()

print(data) 

综合案例

=======================================================================

保证数据库中有 test 表:


import pymysql

import traceback

from time import sleep



class PyMySQL(object):

    create_table = """

        CREATE TABLE stu (   

            id INT not null PRIMARY KEY AUTO_INCREMENT,

            name VARCHAR(255) NOT NULL,

            age INT, 

            sex VARCHAR(255)

        ) DEFAULT CHARSET = utf8

    """

    select = 'SELECT * FROM stu'


# 最后

各位读者,由于本篇幅度过长,为了避免影响阅读体验,下面我就大概概括了整理了,需要的话请**[点赞后点击这里免费下载文章资料!](https://gitee.com/vip204888/java-p7)**

![](https://img-blog.csdnimg.cn/img_convert/b4d05fe6c4e6c4644885b688cc4b83d8.png)

![](https://img-blog.csdnimg.cn/img_convert/f60c07bf77518209bac3e83d62417a5e.png)

![](https://img-blog.csdnimg.cn/img_convert/fc5eead9998a8146314eba0c437ed046.png)


            age INT, 

            sex VARCHAR(255)

        ) DEFAULT CHARSET = utf8

    """

    select = 'SELECT * FROM stu'


# 最后

各位读者,由于本篇幅度过长,为了避免影响阅读体验,下面我就大概概括了整理了,需要的话请**[点赞后点击这里免费下载文章资料!](https://gitee.com/vip204888/java-p7)**

[外链图片转存中...(img-6VSfjPca-1628508989816)]

[外链图片转存中...(img-ZBhPLh04-1628508989819)]

[外链图片转存中...(img-GvQB3OiA-1628508989821)]

![](https://img-blog.csdnimg.cn/img_convert/5a568e0c1fe5600ca346b47e41b0d816.png)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值