博猪最近在学习python,主要通过廖大大的教程,感觉还不粗哦,推荐,这并不是广告。
言归正传,这次写的主要是如何使用mysql库连接mysql,直接贴源码:
首先把库装上
pip install mysql-connector-python --allow-external mysql-connector-python
# 导入刚装的MySQL驱动:
import mysql.connector
# 连接数据库,test库
conn = mysql.connector.connect(user='root', password=',.123abc', database='test')
cursor = conn.cursor()
# 创建user表:
cursor.execute('create table user (id varchar(20) primary key, name varchar(20))')
# 插入一行记录,注意MySQL的占位符是%s:
cursor.execute('insert into user (id, name) values (%s, %s)', ['2', 'Michael'])
# cursor.rowcount
# 提交事务:
conn.commit()
cursor.close()
# 运行查询:
cursor = conn.cursor()
cursor.execute('select * from user where id = %s', ('1',))
values = cursor.fetchall()
print(values) #输出库test表user第一个元素
# 关闭Cursor和Connection:
cursor.close()
但是程序往往不是随心所欲,各种报错,首先有可能报这样的错误
这时候就需要改密码了,找到你的配置文件my.ini如果没有这个文件,复制my-default,改名为my.ini,同时改成下图
并在里面对应位置添加如图几行,然后cmd
net stop mysql
net start mysql
mysql -u root -p
密码不必输入,直接回车就可以了,
键入use mysql进入数据库
输入update user set password=password("新密码") where user="root";
切记之下的都要末尾加分号表示结束,然后刷新数据库
flush privileges;
退出
quit
然后把刚才在my.ini文件加入的skip-grant-tables的这行删掉,cmd
net start mysql
其他需要注意的是
conn = mysql.connector.connect(user='root', password=',.123abc', database='test') #若无则创建库test
最后的database必须填一个库名,不然后面执行select等操作会报错
cursor.execute('insert into user (id, name) values (%s, %s)', ['2', 'Michael'])
插入等操作对于一个key注意不要重复操作