Linux下Python3连接MySQL数据库

工具:1. Python3

           2. pyMySQL

           3. MySQL Workbench

首先要安装数据库, 终端下输入命令安装MySQL数据库

sudo apt-get updata
sudo apt-get install mysql-client mysql-server

安装好了在终端下进入root用户下输入命令

mysql -u root -p

其中要输入密码,就输入安装数据库时设置的密码,如果安装时没有设置密码的的选项,直接回车就行了!!!

输入下面的命令就可以新建数据库了

create database pydata;

输入下面命令可以查看有那些数据库

show databases;

 输入下面的命令就可以设置数据库了

GRANT SELECT,INSERT,DELETE,UPDATE ON pydata.* TO test@localhost IDENTIFIED by 'test';

其中GRANT SELECT,INSERT,DELETE,UPDATE为设置数据库权限

pydata为数据库名

test@localhost IDENTIFIED by 'test' 中前面的test为用户名,后面的test为密码

现在你就可以使用数据库了 

使用如下命令新建表

use pydata;  #调用数据库
create table pydata(      #这里的pydata是新建的表
time varchar(30) not null,   #列名  类型  是否可以为空
.......
。。。。。
primary key(time)       #设置键
);

使用软件 MySQL Workbench可以查看新建的表

MySQL Workbench可以在系统的应用商店免费下载(本人使用的是deepin)或者在官网下载安装(不想用可以跳过)

进入软件首先要设置用户

 设置好了进入数据库输入下面的命令可以查看刚才新建的数据库

use pydata;
select * from pydata;

 数据库建好了下面就是向数据库存数据和调用数据库终端输入下面的命令安装pymysql(Python3以上版本)从而Python可以调用MySQL

sudo pip install pymysql

在Python项目中(注意这里使用的代码不全,仅供参考!!!

import pymysql

conn=pymysql.connect(
host='localhost',     #本地数据库
user='test',         #你设置的用户名 
passwd='test',       #你设置的密码
db='pydata',         #使用的数据库
charset='utf8'       #编码格式
)

while True:
    cur = conn.cursor()   #创建游标   
    ret = cur.execute("insert into pydata values(%s,%s,%s,%s,%s)",a,b,c,d,e)      #存入你需要的相应的数据
    conn.commit()
    cur.close()

接下来就是使用数据库了 

from flask import Flask
from flask import render_template
import pymysql

app = Flask(__name__)

conn=pymysql.connect(
host='localhost',     #本地数据库
user='test',         #你设置的用户名 
passwd='test',       #你设置的密码
db='pydata',         #使用的数据库
charset='utf8'       #编码格式
)

@app.route("/")     #主网页
def index(): 
    cur = conn.cursor()
    cur.execute("select * from pydata")   
    yesterday = cur.fetchall()
    conn.commit()
    cur.close()     
    return render_template('index.html', information=yesterday)

if __name__ == '__main__':
    app.run(host="0.0.0.0", debug=True, port=80)

index.html文件:

<pre>
{% block page_content %}
<table border="1" style="border-collapse:collapse;">
    <thead>
        <tr>
            <th>时间</th>
            <th>a</th>
            <th>b</th>
            <th>c</th>
        </tr>
    </thead>
    {% for i in information %}
    <tbody>
        <tr>
            <td>{{ i[0] }}</td>
            <td>{{ i[1] }}</td>
            <td>{{ i[2] }}</td>
            <td>{{ i[3] }}</td>
        </tr>
    </tbody>
    {% endfor %}
</table>
{% endblock %}
</pre>

在网页上就可以看到

注意:数据库如果要存中文输入命令

alter table pydata convert to character set utf8mb4;

 

清空表:delete from 表名   /   truncate table 表名
      

添加列:alter table 表名 add 列名 类型

删除列:alter table 表名 drop column 列名

修改列: alter table 表名 modify column 列名 类型;  -- 类型
        alter table 表名 change 原列名 新列名 类型; -- 列名,类型
  
添加主键: alter table 表名 add primary key(列名);

删除主键:alter table 表名 drop primary key;
        alter table 表名  modify  列名 int, drop primary key;
#插入多条数据
ret = cur.executemany("insert into pydata values(%s,%s,%s,%s,%s)",
 [(a,b,c,d,e),
 (e,f,g,h,i),
 (j,k,l,m,n),
 (o,p,q,r,s)])

 

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值