http://docs.sqlalchemy.org/en/latest/ sqlalchemy文档
1、下载,下载版本太多,不知道下哪个好,别人介绍版本
进入官网-->点击最下面 DOWNLOADS-->选择MySQL on Windows(installer & Tools)-->MySQL Installer-->选择
Windows (x86, 32-bit), MSI Installer 5.7.20 376.3M (mysql-installer-community-5.7.20.0.msi) 我电脑是win10 64位,也不知道为什么选择32-bit
2、安装,正常一步一步点击安装
3、MYSQL数据库基本操作 python连接数据库要安装mysqlclient pip install mysqlclient
4、mysql进入shell,win10 cortana 输入mysql shell 点击即可进入shell
python DB API: python 访问数据库的统一接口规范 https://www.python.org/dev/peps/pep-0249/
###### pymysql库的使用 #######
###### pymysql库的使用 #######
import pymysql
import pandas as pd
#先做最基本的,再在实践中慢慢调整优化
#一、连接数据库
con=pymysql.connect(host='localhost',user='root',password='1***',database='world')
cursor=con.cursor()
#二、创建数据库和表
#创建数据库
# create_schema="create schema abc"
# cursor.execute(create_schema)
# #创建表
# create_table='CREATE TABLE abc.Persons
# (
# Id_P int NOT NULL,
# LastName varchar(255) NOT NULL,
# FirstName varchar(255),
# Address varchar(255),
# City varchar(255)
# )'
# cursor.execute(create_table)
#三、删除表、删除数据库
# drop_table="drop table abc.persons"
# cursor.execute(drop_table)
# drop_schema='drop schema abc'
# cursor.execute(drop_schema)
#四、写入数据
insert_data="insert into abc.Persons values(1,'a','b','c','d')"
cursor.execute(insert_data)
#五、删除部分数据,如果某一行数据输入错误,可以删掉后再写入
#如果整个数据都要修改,可以删掉表,新建表
#1、删除一行(多行或多列可以用循环)
# drop_row='delete from abc.persons where Id_P=1'
# cursor.execute(drop_row)
#2、删除一列
drop_column='alter table abc.persons drop column City' # alter table ***.*** drop column **
cursor.execute(drop_column)
#3、添加一列或几列数据
# add_column='alter table abc.persons add City varchar(255)'
# cursor.execute(add_column)
con.commit()
#六、存入Dataframe数据 pd.DataFrame.to_sql
import pandas as pd
import numpy as np
from sqlalchemy import create_engine
# http://docs.sqlalchemy.org/en/latest/core/engines.html
engine = create_engine("mysql+mysqldb://root:1234@localhost/ABC") #经测试,虽然没有import,但必须要安装MySQLdb模块,具体安装在下面
data=pd.DataFrame(np.arange(12).reshape(3,4),index=list('xyz'),columns=list('abcd'))
data.to_sql(name='personssss',con=engine, if_exists='append', index=False)
#七、读取数据
#querystring
#querystring='SELECT * FROM sakila.actor'
#使用read_sql读取数据
#data=pd.read_sql(querystring, con);print(data.head())
###### MySQLdb库的使用 #######
资料来源:http://blog.csdn.net/heatdeath/article/details/65633896
###### MySQLdb库的使用 #######
#安装MySQLdb pip install mysqlclient
#使用
import MySQLdb
#connect() 方法用于创建数据库的连接,里面可以指定参数:用户名,密码,主机等信息。
#这只是连接到了数据库,要想操作数据库需要创建游标。
conn=MySQLdb.connect(host='localhost', port=3306, user='root', passwd='1234', db='abc')
#通过获取到的数据库连接con下的cursor()方法来创建游标
cur=conn.cursor()
#创建数据表,通过游标cur 操作execute()方法可以写入纯sql语句。通过execute()方法中写如sql语句来对数据进行操作
#cur.execute('create table student(id int,name varchar(20),class varchar(30),age varchar(10))')
#插入一条数据
#方法一
cur.execute("insert into student values('2','Tom','3 year 2 class','9')")
#方法二
sqli='insert into student values(%s,%s,%s,%s)'
cur.execute(sqli,('3','huhu','2 year 1 class','7'))
#插入多条数据
cur.executemany(sqli,[
('3','Tom','1 year 1 class','6'),
('3','Jack','2 year 1 class','7'),
('3','Yaheng','2 year 2 class','7'),
])
#修改查询条件的数据
cur.execute("update student set class='3 year 1 class' where name='Tom'")
#cur.close() 关闭游标
cur.close()
#conn.commit()方法在提交事物,在向数据库插入一条数据时必须要有这个方法,否则数据不会被真正的插入。
conn.commit()
#con.close()关闭数据库连接
conn.close()
#正常开发过程:
try:
cursor.execute(sql_insert)
print(cursor.rowcount)
except Exception as e:
print(e)
conn.rollback()