时间:2021-07-01 10:21:17 帮助过:17人阅读
conn=pymysql.Connect("192.168.1.8","root","Password","mysqljingjie",charset="utf8")
conn #建立连接,连接之后打印conn‘查看是否连接成功Out[4]:
<pymysql.connections.Connection at 0x1deef01c4e0>
GRANT ALL PRIVILEGES ON . TO ‘账户名‘@‘192.168.10.83‘ IDENTIFIED BY ‘password‘ WITH GRANT OPTION;
如果要想所有的外部ip地址都能够访问使用mysql,可以执行下面: GRANT ALL PRIVILEGES ON . TO ‘账户名‘@‘%‘ IDENTIFIED BY ‘password‘ WITH GRANT OPTION;
In [5]:cur=conn.cursor()#创建游标In [6]:
cur.execute("select*from employee")#执行sql语句Out[6]:
8In [7]:
#cur.fetchone()#返回一条结果 #cur.fetchmany()#返回指定条数 ser=cur.fetchall()#返回所有元组In [8]:
columnDes = cur.description#获取描述信息
In [11]:
columnNames = [columnDes[i][0] for i in range(len(columnDes))]#获取列名称 df = pd.DataFrame([list(i) for i in ser],columns=columnNames) dfOut[11]:
empid | name1 | gender | title | birthday | depid | |
---|---|---|---|---|---|---|
0 | 1001 | 张三 | 男 | 高级工程师 | 1980-01-01 | 1111 |
1 | 1002 | 李四 | 女 | 工程师 | 1980-11-01 | 1111 |
2 | 1003 | 王五 | 男 | 工程师 | 1980-01-21 | 2222 |
3 | 1004 | 赵六 | 男 | 工程师 | 1980-01-11 | 2222 |
4 | 1005 | 张三 | 男 | 高级工程师 | 1980-01-01 | 1111 |
5 | 1006 | 李四 | 女 | 助理工程师 | 1980-11-01 | 1111 |
6 | 1007 | 王五 | 男 | 工程师 | 1980-01-21 | 2222 |
7 | 1008 | 赵六 | 男 | 工程师 | 1980-01-11 | 2222 |
conn.close()#关闭连接,否者浪费资源
插入新内容
In [123]:
#sql="""insert into bank(b_id,bank_name) ,values("B0005","成都银行")"""
In [126]:
conn=pymysql.Connect("192.168.1.8","root","password","mysqljingjie",charset="utf8") cur=conn.cursor() cur.execute(sql) conn.commit()#提交事务 # 发生错误时回滚 conn.rollback() conn.close()
In [127]:
ser
Out[127]:
((‘1001‘, ‘张三‘, ‘男‘, ‘高级工程师‘, datetime.date(1980, 1, 1), ‘1111‘), (‘1002‘, ‘李四‘, ‘女‘, ‘工程师‘, datetime.date(1980, 11, 1), ‘1111‘), (‘1003‘, ‘王五‘, ‘男‘, ‘工程师‘, datetime.date(1980, 1, 21), ‘2222‘), (‘1004‘, ‘赵六‘, ‘男‘, ‘工程师‘, datetime.date(1980, 1, 11), ‘2222‘))In [120]:
def get_df_from_db(sql): cursor = connection.cursor() cursor.execute(sql) data = cursor.fetchall() columnDes = cursor.description #获取连接对象的描述信息 columnNames = [columnDes[i][0] for i in range(len(columnDes))] df = pd.DataFrame([list(i) for i in data],columns=columnNames) return df
In [113]:
import pandas as pd
In [ ]:
description()In [16]:
len(columnDes)
Out[16]:
6In [17]:
columnDesOut[17]:
((‘empid‘, 253, None, 20, 20, 0, False), (‘name1‘, 253, None, 20, 20, 0, True), (‘gender‘, 253, None, 20, 20, 0, True), (‘title‘, 253, None, 20, 20, 0, True), (‘birthday‘, 10, None, 10, 10, 0, True), (‘depid‘, 253, None, 20, 20, 0, True))
利用python 连接数据库
标签:数据库 return ipython inner size 显示 variable nes prompt