1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > anaconda+python+pycharm代码学习——自动化办公(二)——安装mysql数据库and使用Navicat 连接 mysql

anaconda+python+pycharm代码学习——自动化办公(二)——安装mysql数据库and使用Navicat 连接 mysql

时间:2019-11-12 14:53:51

相关推荐

anaconda+python+pycharm代码学习——自动化办公(二)——安装mysql数据库and使用Navicat 连接 mysql

安装mysql数据库一定注意

就安装5.版本的

别安装8.

我就是因为安装了8.

才一直安装不上

5.版本的超级好安装

这里参考这篇

非常好!!!

但是成功之后cmd输入mysql

却报错

mysql ERROR 1045 (28000): Access denied for user ‘ODBC’@‘localhost’ (using password: NO)

试了好几个解决方法都不行

于是为了跟我的Navicat连接

可以使用以下语句

mysql -u root -p

输入密码即可成功

这样就可以链接我的数据库啦

在navicat里面创建表

导入xlsx时

一直报错

Error Code: 1366. Incorrect string value: '\xE7\x8E\x8B\xE9\xB9\x8F… 数据库编码方式的问题

出现这个问题的原因是你的数据库编码、排序类型不是utf-8的,所以你创建的表的排序规则自然也不是utf-8类型的。

所以在用navicat创建char字符的有中文存在时

一定要设置一下这一栏

这样就可以成功导入

使用python对数据库mysql进行操作

代码如下

import pymysql#database = pymysql.connect("127.0.0.1", "root", "1234", "db", charset='utf8')# 格式:pymysql.connect("MySQL服务器地址", "用户名", "密码", "数据库名", charset='utf8')database=pymysql.connect(host = '127.0.0.1' # 连接名称,默认127.0.0.1,user = 'root' # 用户名,passwd='1234' # 密码,port= 3306 # 端口,默认为3306,db='mysql' # 数据库名称,charset='utf8' # 字符编码)cursor = database.cursor()# 初始化指针sql = "SELECT company,sum(price*weight) FROM data WHERE date='-07-21'GROUP BY company;"cursor.execute(sql)result = cursor.fetchall()print(result)database.close()'''# 增# 格式:"INSERT INTO 表名 (字段1,字段2,字段3) VALUES (内容1,内容2,内容3);"sql = "INSERT INTO data (date,company,province,price,weight) VALUES ('-9-20','河北粮食','河北','2200','45.1')"cursor.execute(sql)mit() # 对存储的数据修改后,需要commitdatabase.close()# 改# 格式:"UPDATE 表名 SET 字段1=内容1,字段2=内容2 WHERE 条件;"sql = "UPDATE data SET date='-09-21' WHERE DATE='-09-20';"cursor.execute(sql)mit() # 对存储的数据修改后,需要commitdatabase.close()# 查# 基础语法:"SELECT 字段 FROM 表名 WHERE 条件"sql = "SELECT company FROM data WHERE date='-07-21';"cursor.execute(sql)result = cursor.fetchall()print(result)database.close()sql = "SELECT company,sum(price*weight) FROM data WHERE date='-07-21'group by company;"cursor.execute(sql)result = cursor.fetchall()print(result)database.close()# 删# 格式:"DELETE FROM 表名 WHERE 条件;" 条件的写法 :字段=内容sql = "DELETE FROM data WHERE date='-09-21';"cursor.execute(sql)mit() # 对存储的数据修改后,需要commitdatabase.close()'''

完成了增删查改

# 初始化指针sql3 ="SELECT SUM(weight) FROM data WHERE date>'-07-21' AND date<'-07-25' AND company='王五小麦' AND province='河北' "cursor.execute(sql3)print(cursor.fetchall()[0][0])database.close()

datetime库详解

fromordinal(n)

使用日期序数构造对象,使用方法为:datetime.date.fromordinal(n),传入参数为一个整数序数,代表从公元1年1月1日开始的序数,序数每增加1代表增加1天,返回最终计算出的日期

toordinal()

相当于fromordinal(n)的逆过程,返回值即为fromordinal(n)中的日期序数n。

它用于返回日期的多边格里高利度序数,其中1年1月1日具有序数1。如果1年1月1日具有序数1,则1年1月2日将具有序数2,依此类推。 这是一个实例方法,这意味着它可以在类的实例上工作。

time.strftime(format[, t])

%y 两位数的年份表示(00-99)

%Y 四位数的年份表示(000-9999)

%m 月份(01-12)

%d 月内中的一天(0-31)

%H 24小时制小时数(0-23)

%I 12小时制小时数(01-12)

%M 分钟数(00=59)

%S 秒(00-59)

#!/usr/bin/python# -*- coding: UTF-8 -*-# 通过导入 __future__ 包来兼容 Python3.x print# 如果使用了 Python3.x 可以删除此行引入from __future__ import print_functionfrom datetime import datetimenow = datetime.now() # current date and timeyear = now.strftime("%Y")print("year:", year)month = now.strftime("%m")print("month:", month)day = now.strftime("%d")print("day:", day)time = now.strftime("%H:%M:%S")print("time:", time)date_time = now.strftime("%Y-%m-%d, %H:%M:%S")print("date and time:",date_time)

更详细的转换应用

excel里读取时间如何转换

import datetimefirst_date = datetime.date(1899, 12, 31).toordinal() - 1print(first_date)if isinstance(43302.0, float):date_excel = int(43302.0)print(date_excel)date_mysql = datetime.date.fromordinal(first_date + date_excel)print(date_mysql.strftime("%Y-%m-%d"))

43302.0即为使用table.cell_value(1, 0)从excel表中读取的时间数据/7/21

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。