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

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

Linux下Python3连接MySQL数据库_第1张图片

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

create database pydata;

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

show databases;

Linux下Python3连接MySQL数据库_第2张图片

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

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)       #设置键
);

Linux下Python3连接MySQL数据库_第3张图片

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

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

进入软件首先要设置用户

Linux下Python3连接MySQL数据库_第4张图片

Linux下Python3连接MySQL数据库_第5张图片

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

use pydata;
select * from pydata;

Linux下Python3连接MySQL数据库_第6张图片

 数据库建好了下面就是向数据库存数据和调用数据库终端输入下面的命令安装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文件:

{% block page_content %}

    {% for i in information %}
    
    {% endfor %}
时间 a b c
{{ i[0] }} {{ i[1] }} {{ i[2] }} {{ i[3] }}
{% endblock %}

在网页上就可以看到

Linux下Python3连接MySQL数据库_第7张图片

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

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)])

 

你可能感兴趣的:(Python)