首先介绍一下SQL数据库的一些基本操作:

1创建 2删除 3写入 4更新(修改) 5条件选择

有了以上基本操作,就可以建立并存储一个简单的数据库了。

放出python调用的代码: 此处是调用dos 操作数据库 不如下面的简单

# -*- coding: utf-8 -*-
"""
Created on Mon May 6 09:59:32 2019 @author: wenzhe.tian
""" import MySQLdb # 打开数据库连接
db = MySQLdb.connect("localhost", "root", "twz1478963", "TESTDB", charset='utf8' )
# 使用cursor()方法获取操作游标
cursor = db.cursor() # 如果数据表已经存在使用 execute() 方法删除表。
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")
print(cursor.fetchone())
cursor.execute("SELECT VERSION()") # 创建数据表SQL语句
sql = """CREATE TABLE EMPLOYEE (
FIRST_NAME CHAR(20) NOT NULL,
LAST_NAME CHAR(20),
AGE INT,
SEX CHAR(1),
INCOME FLOAT );""" cursor.execute(sql) ### %\ 替换
sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \
LAST_NAME, AGE, SEX, INCOME) \
VALUES (%s, %s, %s, %s, %s );" % \
("'Mac'", "'Mohan'", 20, "'M'", 9000) try:
# 执行sql语句
cursor.execute(sql)
print(cursor.fetchone())
# 提交到数据库执行
db.commit()
except:
# Rollback in case there is any error
db.rollback() ### %\ 替换
sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \
LAST_NAME, AGE, SEX, INCOME) \
VALUES (%s, %s, %s, %s, %s );" % \
("'John'", "'Will'", 24, "'M'", 12000) try:
# 执行sql语句
cursor.execute(sql)
print(cursor.fetchone())
# 提交到数据库执行
db.commit()
except:
# Rollback in case there is any error
db.rollback() sql = "SELECT * FROM EMPLOYEE \
WHERE first_name like %s" % ("'%h_'"); '''
WHERE A and/or B between in(A,B)
% 表示多个字值,_ 下划线表示一个字符;
M% : 为能配符,正则表达式,表示的意思为模糊查询信息为 M 开头的。
%M% : 表示查询包含M的所有内容。
%M_ : 表示查询以M在倒数第二位的所有内容
''' # DELETE FROM EMPLOYEE WHERE AGE <20 try:
# 执行SQL语句
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
for row in results:
fname = row[0]
lname = row[1]
age = row[2]
sex = row[3]
income = row[4]
# 打印结果
print ("fname=%s,lname=%s,age=%s,sex=%s,income=%s" % \
(fname, lname, age, sex, income ))
except:
print ("Error: unable to fecth data") # 关闭数据库连接
db.close()

以上代码即将SQL语言写出字符的形式 并调用接口执行操作。

下面放一些存储excel至新建数据库的例子作为参考: 此处是调用dataframe的to_sql进行操作 需要注意的是encoding='gbk'的中文转化问题.

写入数据库时 表单名字不需要提前创建。

# -*- coding: utf-8 -*-
"""
Created on Tue May 7 15:40:23 2019 @author: wenzhe.tian
""" from sqlalchemy import create_engine
import pandas as pd host = '127.0.0.1'
port= 3306
db = 'beilixinyuan'
user = 'root'
password = 'twz1478963' engine = create_engine(str(r"mysql+mysqldb://%s:" + '%s' + "@%s/%s?charset=utf8") % (user, password, host, db)) try:
# df = pd.read_csv(r'D:\2PHEV_v3.csv',encoding='gbk')
# 读取
table='sale_phev'
sql = "SELECT * FROM "+'%s' %(table)
df=pd.read_sql(sql,con=engine)
# 写入
# df.to_sql('sale_ev', con=engine, if_exists='append', index=False)
except Exception as e: print(e.message) # 导出方法2
#'''
#WHERE A and/or B between in(A,B)
#% 表示多个字值,_ 下划线表示一个字符;
#M% : 为能配符,正则表达式,表示的意思为模糊查询信息为 M 开头的。
#%M% : 表示查询包含M的所有内容。
#%M_ : 表示查询以M在倒数第二位的所有内容
#'''
#
#
#
import MySQLdb
import pandas as pd
# 打开数据库连接
db = MySQLdb.connect("localhost", "root", "twz1478963", "beilixinyuan", charset='utf8' )
# 使用cursor()方法获取操作游标
cursor = db.cursor(cursorclass=MySQLdb.cursors.DictCursor) sql = "SELECT * FROM sale_ev" # DELETE FROM EMPLOYEE WHERE AGE <20 try:
# 执行SQL语句
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
pd.read_sql(sql,con=engine) except:
print ("Error: unable to fecth data") h=list(results)
df=pd.DataFrame(h)
del results
del h

python将excel数据写入数据库,或从库中读取出来的更多相关文章

  1. 使用python将excel数据导入数据库

    使用python将excel数据导入数据库 因为需要对数据处理,将excel数据导入到数据库,记录一下过程. 使用到的库:xlrd 和 pymysql (如果需要写到excel可以使用xlwt) 直接 ...

  2. PHP读取Excel数据写入数据库(包含图片和文字)

    public function test(){ $exts = 'xlsx'; //导入PHPExcel类库,因为PHPExcel没有用命名空间,只能inport导入 import("Org ...

  3. Django上传excel表格并将数据写入数据库

    前言: 最近公司领导要统计技术部门在各个业务条线花费的工时百分比,而 jira 当前的 Tempo 插件只能统计个人工时.于是就写了个报表工具,将 jira 中导出的个人工时excel表格 导入数据库 ...

  4. 《项目经验》--通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中

      先看一下我要实现的功能界面:   这个界面的功能在图中已有展现,课程分配(教师教授哪门课程)在之前的页面中已做好.这个页面主要实现的是授课,即给老师教授的课程分配学生.此页面实现功能的步骤已在页面 ...

  5. 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中

    摘自:http://blog.csdn.net/mazhaojuan/article/details/8592015 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来 ...

  6. 【转】 如何导入excel数据到数据库,并解决导入时间格式问题

    在办公环境下,经常会用到处理excel数据,如果用写程序导入excel数据到数据库那就太麻烦了,涉及解析excel,还要各种格式问题,下面简单利用数据库本身支持的功能解决这类导入问题. 准备 创建表 ...

  7. Excel数据导入数据库

    maven依赖 <!--excel相关依赖--> <dependency> <groupId>org.apache.poi</groupId> < ...

  8. 上传excel数据到数据库中

    上传excel表格数据到数据库 导入固定路径下的excel数据到数据库 <form id="disposeFlightDataForm" action="../up ...

  9. 利用python将excel数据解析成json格式

    利用python将excel数据解析成json格式 转成json方便项目中用post请求推送数据自定义数据,也方便测试: import xlrdimport jsonimport requests d ...

随机推荐

  1. Web自动化测试—PO设计模式(二)

    PO设计模式要点一:页面类都继承于BasePage 目录结构 ui_auto_test --src --pages --__init__.py --base_page.py --login_page. ...

  2. Net Core2.0下使用Dapper

    Net Core2.0下使用Dapper 今天成功把.Net Framework下使用Dapper进行封装的ORM成功迁移到.Net Core 2.0上,在迁移的过程中也遇到一些很有意思的问题,值得和 ...

  3. 线程池ThreadPoolExecutor的学习

    我们知道,ExecutorService是一个抽象出线程池的一个接口,然后我们在使用线程池的时候,用的是Executors工具类中的一系列newCachedThreadPool() 等类似的方法,这些 ...

  4. c++笔记1

    using namespace std:命名空间可以保证一些命名能够在全局不冲突.如用户可以通过声明命名空间,然后用运算符::区别同名的不同变量 using namespace std;namespa ...

  5. 讲明白combineByKey()算子,不是谈源码

    简单介绍 combineByKey()是最通用的对key-value型rdd进行聚集操作的聚集函数(aggregation function).类似于aggregate(),combineByKey( ...

  6. Spring 顾问

    1.名称匹配方法切入点顾问 接口:ISomeService public interface ISomeService { public void doSome(); public void doSe ...

  7. unity3d + photon + grpc + nodejs + postgis/postgresql 游戏服务器设计

    unity3d + photon + grpc + nodejs + postgis/postgresql 游戏服务器设计 最近做玩票性质的游戏项目,客户端技术是 unity3d 和 android. ...

  8. sql 容易被忽视的点

    1 dual select查询语句只有select就可以,但为了规范,凑结构,可以加个dual 例:select now() from dual; 这个概念是Oracle中的.在mysql中可写可不写 ...

  9. ubuntu和window之间如何共享文件

    参考网上的自己动手实现共享文件: 1.打开虚拟机进入ubuntu系统,先安装增强功能包 2.安装完重启虚拟机后,在window下创建一个专门用来共享的文件夹 3.切换到ubuntu系统,在设备的共享文 ...

  10. 卡了很久的bug

    背景:在一个简单的项目中,通过循环前端传来的一个数组,使用mongodb条件查询数据,将满足条件的数据push进一个新数组,并返回至前端. 问题:每次调试到第五行,会自动跳过,直接执行12行,打印出来 ...