前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python3分析MySQL数据库

Python3分析MySQL数据库

作者头像
用户1250179
发布2018-08-02 16:41:25
1.1K0
发布2018-08-02 16:41:25
举报
文章被收录于专栏:数说戏聊

1.在bash_profile中配置全局环境变量 终端open ~/.bash_profile打开环境变量配置文件,写入:

代码语言:javascript
复制
# mysql
export PATH=$PATH:/usr/local/mysql/bin

保存后退出,重新打开终端,使用命令mysql启动。

2.设置MySQL的root密码:

代码语言:javascript
复制
lishiqiangdeMacBook-Pro:~ bakufu$ MySQL -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.6.39 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('150428');
Query OK, 0 rows affected (0.01 sec)

创建数据库并查看已有数据库

代码语言:javascript
复制
mysql> CREATE DATABASE my_suppliers;
Query OK, 1 row affected (0.01 sec)

mysql> SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| my_suppliers       |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.01 sec)

创建数据表先选择数据库

代码语言:javascript
复制
mysql> USE my_suppliers;
Database changed
mysql> CREATE TABLE IF NOT EXISTS Suppliers
    -> (Supplier_Name VARCHAR(20),
    -> Invoice_Number VARCHAR(20),
    -> Part_Number VARCHAR(20),
    -> Cost FLOAT,
    -> Purchase_Date DATE);
Query OK, 0 rows affected (0.03 sec)

如果数据库不存在数据表Suppliers ,命令就创建数据表Suppliers,含5个列(fields或attributes)。

  • VARCHAR型字段:可变字符,为字段中的数据分配20个字符。
  • CHAR型字段:用于设置有固定数量字符的字段,或者需要将字段中的值向右补齐到一个固定长度时。
  • ENUM型字段:用于字段取值是允许值列表(如small、medium、large)时。
  • BLOB型字段:用于字段内容是长度可变的大量文本时。
  • FLOAT型字段:浮点数字段保存浮点数近似值。本例包含货币值,所以用NUMERIC替代FLOAT型字段。
  • NUMERIC型字段:即定点确定值类型字段。不使用FLOAT,使用NUMERIC(11, 2),11是数值的精度,或者是为数值保存的数位总数,2是小数位数。
  • DATE型字段:用于保存日期('YYYY-MM-DD'),无时间部分。

验证数据表创建正确

显示列名、数据类型和值可否为NULL。

代码语言:javascript
复制
mysql> DESCRIBE Suppliers;
+----------------+-------------+------+-----+---------+-------+
| Field          | Type        | Null | Key | Default | Extra |
+----------------+-------------+------+-----+---------+-------+
| Supplier_Name  | varchar(20) | YES  |     | NULL    |       |
| Invoice_Number | varchar(20) | YES  |     | NULL    |       |
| Part_Number    | varchar(20) | YES  |     | NULL    |       |
| Cost           | float       | YES  |     | NULL    |       |
| Purchase_Date  | date        | YES  |     | NULL    |       |
+----------------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

创建新用户并授权

代码语言:javascript
复制
mysql> CREATE USER 'shiqiang'@'localhost' IDENTIFIED BY '150428';
Query OK, 0 rows affected (0.00 sec)

# 向新用户授权,使用两条命令
mysql> GRANT ALL PRIVILEGES ON my_suppliers.* TO 'shiqiang'@'localhost';
Query OK, 0 rows affected (0.01 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

4.2.1 向表中插入新记录

准备从CSV文件中将记录加载到数据表中。

Python会将数据从CSV文件插入到数据表,然后展示表中数据。 4db_mysql_load_from_csv.py

代码语言:javascript
复制
#!/usr/bin/env python3
import csv
import MySQLdb
import sys
from datetime import datetime, date

# CSV输入文件的路径和文件名
input_file = sys.argv[1]
# 连接MySQL数据库
con = MySQLdb.connect(host='localhost', port=3306, db='my_suppliers', \
user='root', passwd='150428')
c = con.cursor()
# 向Suppliers表中插入数据
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.04.27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建数据库并查看已有数据库
  • 创建数据表先选择数据库
  • 验证数据表创建正确
  • 创建新用户并授权
  • 4.2.1 向表中插入新记录
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档