python自动化办公知识点积累-3

1. xlwt库只能写.xls文件!而xlsxwriter库只能写.xlsx,不能写.xls!

2. navicat 新建表,小数类型的数据可用 decimal 类型存储,decimal类型是将小数位分开存储,避免因运算造成的精度损失

3. navicat导入excel是出现中文变成问号的情况:因为新建表创立字段是,建表的时候数据字符集和排序方式都是latin1 ;j解决办法:手动修改为utf-8

4. navicat 清空表后,让表的id自增从1开始:右键表的名称,选择截断表即可   注意:截断表会清空所有数据,所有要在清空表后,先截断,再重新导入excel

5. 使用python操作mysql数据库:

     1)问题:Python3 pymysql模块连接数据库报错TypeError: __init__() takes 1 positional argument but 5 positional arguments (and 1 keyword-only argument) were given

原因分析:新版本pymysql模块问题导致的错误;

解决办法:方法一:可安装旧版本解决报错;先卸载当前版本:pip3 uninstall pymysql;然后安装指定0.10.1版本:pip3 install pymysql==0.10.1

方法二:把连接语句做如下修改,键值匹配:

db = pymysql.connect(host="192.168.10.10", user="root", passwd="password", db="db_name", port=3306 )

      2)操作代码:

import pymysql

# 1.连接数据库 pymysql.connect("数据库地址","用户名","密码","数据库名",charset="utf8")
database = pymysql.connect(host="127.0.0.1",user="test",passwd="test",db="test",charset="utf8",port=3306)

#初始化指针 对数据库进行操作
cursor = database.cursor()

#Sql语句
#增
#格式:“INSERT INTO 表名 (字段1,字段2,字段3) VALUES (内容1,内容2,内容3)
# sql = "INSERT INTO data (date,company,province,price,weight) VALUES ('2021-1-27','河北粮食','河北','2200','45.1');"
# cursor.execute(sql)  # 执行sql语句
# database.commit() # 对存储的数据修改后,需要commit
# database.close()  # 关闭数据库

#改
#格式:"UPDATE 表名 SET 字段1=内容1,字段2=内容2 WHERE 条件;" "条件的写法:字段=内容"
# sql = "UPDATE data SET date='2018-10-10' WHERE date='2021-1-27';"
# cursor.execute(sql)
# database.commit()
# database.close()

#查
#基础语法:"SELECT 字段1,字段2(或者用*表示输出所有字段) FROM 表名 WHERE 条件"
# sql = "SELECT company,price FROM data WHERE date='2018-07-21';"
# sql = "SELECT * FROM data WHERE date='2018-07-21';"
# sql = "SELECT company,price*weight FROM data WHERE date='2018-07-21';"
# sql = "SELECT company,sum(weight) FROM data WHERE date='2018-07-21' GROUP BY company;" # 以公司名分组
#
# cursor.execute(sql)
# result = cursor.fetchall()
# print(result)

#删
#格式: "DELETE FROM 表名 WHERE 条件"
sql = "DELETE FROM data WHERE date='2018-10-10';"
cursor.execute(sql)
database.commit()
database.close()

SQL-----数据库三种删除方式详解

1. 第一种,使用delete语句

特点:

       delete 属于数据库操纵语言DML,表示删除表中的数据,

  删除过程是每次从表中删除一行,并把该行删除操作作为事务记录在日志中保存

  可以配合事件(transaction)和 回滚(rollback)找回数据,且自增不会被重置

  delete 既可以对table也可以对view

  可以全部删除,也可以按条件删除

语法:

   -- 删除表中全部数据
   delete from 表名
   -- 按条件删除
   delete from 表名 where 条件

2. 第二种 ,使用truncate语句

特点:

  truncate 属于数据库定义语言DDL,表示删除表中所有数据,DDL操作是隐性提交的!不能rollback  

  truncate一次性的从表中删除所有数据,不会保存到日志中,相当于直接删除整个表,再重新创建一个一模一样的表

  使用truncate 删除的数据不能恢复

  truncate  只能对table,执行速度快

语法:

   -- 删除表中所有数据且不可恢复
   truncate from 表名

3. 第三种,使用drop语句

特点:

      drop  属于数据库定义语言DDL,表示删除表, 也可以用来删除数据库

语法:

      -- 删除 表

         drop table 表名

      -- 删除数据库

         drop database 数据库名

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值