日期:2023-03-01 13:06:37 来源:腾讯云
在实操大数据之前,我们可以先在本地进行一些小型数据库的操作,对sql和spark进行一些初步了解。本文就先介绍下mysql和workbenck的安装和使用,以及介绍python链接数据库的操作。后续文章再介绍详细的使用python对库表的sql操作,以及spark计算。
按照指示操作默认安装,在安装时,MySQL会要求我们设置一个本地登陆账号,账号名一般命为root,端口为3306,自定义一个password即可。
(资料图片)
官方下载MySQL Installer:
下载后按照步骤安装,安装完成后启动
输入密码就可以进入啦~
官方下载链接:https://dev.mysql.com/downloads/workbench/
按照步骤进行安装,安装完成后启动
输入设置的mysql的密码进入,然后创建一个schema
创建后,在左侧Schemas的tab就能看见创建的数据库了,然后就可以在里面创建自己的tables。
由于 MySQL 服务器以独立的进程运行,并通过网络对外服务,所以,需要支持 Python 的 MySQL 驱动来连接到 MySQL 服务器。
目前,有两个 MySQL 驱动:
1. mysql-connector-python:是 MySQL 官方的纯 Python 驱动
2. MySQL-python :是封装了 MySQL C驱动的 Python 驱动
我们用python链接,所以需要pip库
install mysql-connector-python
mysql安装我们已经有了用户名和密码, 因为链接的本地数据库,所以ip:port默认是localhost:3306,在workbenck里面我们已经创建了一个数据库test。
使用代码创建数据库链接:
config = { "user" : "root", #用户名 "password" : "123456", #自己设定的密码 "host" : "127.0.0.1", #ip地址,本地填127.0.0.1,也可以填localhost "port" : "3306", #端口,本地的一般为3306 "database" : "test", #数据库名字,这里选用test}con = mysql.connector.connect(**config)# buffered = True 不设的话,查询结果没有读完会报错# raise errors.InternalError("Unread result found")mycursor = con.cursor(buffered = True)
通过执行sql语句,创建库表以及往表内插入数据:
def create_table_test(table_name): # 创建一个表 sql = "CREATE TABLE %s (id INT AUTO_INCREMENT PRIMARY KEY, \ name VARCHAR(255) , address VARCHAR(255), \ sex VARCHAR(225) , age INT(10) , sl INT(10))"%(table_name) mycursor.execute(sql) def insert_table_test(table_name): # 往表里插入一些记录 sql = "INSERT INTO " + table_name + "(name,address,sex,age,sl) VALUES(%s,%s,%s,%s,%s)" # print("sql", sql) val = ("zhangsan", "beijing", "M", 23, 30000) mycursor.execute(sql, val) val = ("lisi", "shanghai", "F", 23, 30000) mycursor.execute(sql, val) val = [("zhangsan", "shenzhen", "M", 35, 30000), ("zhangsan", "beijing", "M", 28, 30000), ("zhangsan", "aomen", "F", 30, 40000), ("zhangsan", "hongkang", "M", 35, 30000), ("zhangsan", "taiwan", "M", 32, 20000)] mycursor.executemany(sql, val) con.commit()
如果有大量数据,通过以上插入就比较麻烦, 我们也可以通过导入本地,这里就需要使用ORM技术。
ORM技术:Object-Relational Mapping,把关系数据库的表结构映射到对象上。在Python中,最有名的ORM框架是SQLAlchemy。
我们先安装SQLAlchemy:
pip install sqlalchemypip install pandas
为了方便,我们先在workbenck里创建sql_test表,
右键-->create table。
然后执行如下代码:
import pandas as pdfrom sqlalchemy import create_engineimport pymysqlexcelFile = r"F:\spark_code\my_sql_test.xlsx"def create_table_from_excel(): df = pd.DataFrame(pd.read_excel(excelFile)) engine =create_engine("mysql+pymysql://root:123456@localhost:3306/test") df.to_sql("sql_test",con=engine,if_exists="replace",index=False)
参考:
https://www.cnblogs.com/PacificOcean/p/14558449.html
https://cloud.tencent.com/developer/article/1443032
标签: Python
世界微动态丨mysql和workbench在windows的安装和使用
实时:好听的古风名字女孩_好听的古风名字女
环球热资讯!联得装备:公司目前尚未生产相关设备,感谢您对联得装备的支持和持续关注!
每日速讯:EngKe
世界速看:七夕送男朋友啥礼物_送这些礼物就对了
世界快讯:土地热线|成都31.57亿挂牌4宗涉宅地块 天津首批宅地出让涉25宗地
【世界播资讯】JGJ102-96玻璃幕墙工程技术规范
环球精选!因年龄原因,农业银行首席风险官李志成辞任
热点!湖南省直公积金哪些情况可以在线上提取(附提取入口)
环球讯息:火箭官宣第16人加盟!格林招募20+4前锋格兰特?斯通拒绝怀斯曼
快报:nogging
全球热文:侧田为什么不唱歌了_侧田为什么退出乐坛
快报:新手淡妆化妆步骤_新手淡妆化妆步骤图片
【环球播资讯】国际美博会是什么_美博会是干嘛的
当前时讯:扎根一线 倾听民声(代表委员履职故事)
天天最资讯丨乌海到银川机场的大巴时刻表_乌海到银川机场
资讯推荐:哪里可以免费看华丽的郊游完整版?
焦点日报:社保费缴费率标准是多少_社保费缴费率标准
世界百事通!疫情全面放开过后,农村出现了4个“怪现象”,你知道是哪些吗?
【环球报资讯】顺络电子: 年度股东大会通知
当前要闻:东方邦太橱柜好不好_东方邦太橱柜官网
环球实时:七台河昌河汽车贸易有限责任公司
全球观热点:王亚军离任财通资管鸿享30天滚动持有发起式中短债
【环球新视野】离婚无财产分割怎么写协议
当前消息!我的世界匠魂冶炼炉怎么用手机版_我的世界匠魂冶炼炉怎么用
世界关注:澳大利亚2022年第四季度GDP可能带来对工资的冲击
世界报道:厦门妇女节放假吗?
最新消息:全国人大代表扎西江村:为服务边疆发展凝聚力量
每日快播:惠斯通电桥
全球短讯!或3月下旬上市,金杯金卡S6与S2官图发布