笔记学习来自Python连接MySQL数据库
1、计算机服务项里没有MySQL服务
记得打开cmd使用管理员权限
找到mysql文件bin目录下,输入mysqld.exe install
运行结果为 Service successfully installed.
此时,已经有了MySQL
紧接着输入net start mysql
这里存在的错误也有
ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost:3306‘ (10061)的解决方法
接着输入mysql -u root -p
二、删除MySQL服务
运行cmd,进入MySQL的bin目录,先关闭mysql服务 net stop mysql,再运行 mysqld.exe --remove,就把计算机服务中的MySQL删除掉了,就不会有MySQL开机启动了!操作如图:
2、使用Navicat创建MySQL数据库
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RO7hZwyw-1649257257999)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220406193044128.png)]
点击“连接”,选择列表中的“MySQL”,如下图所示。
在弹出的对话框中设置MySQL数据库名等参数,如下图所示。
在【测试】-> 右击->打开连接
连接成功
3、mysql常用指令
在cmd命令框中。打开数据库
mysql -u root -p
2、查看有多少数据库
show databases;
3、新建数据库
create database dbtest;
4、检查数据库
use 数据库名;
use dbtest;
show tables;
5、查询表单内容
select * from Student;
4、python操作mysql
1、数据库连接
import pymysql
try:
db = pymysql.connect(host='localhost', port=3306, user='root', password='leizhe', db='test', charset='utf8')
print("数据库成功连接")
except pymysql.Error as e:
print("数据库连接失败:"+ str(e))
使用cmd查看
打开数据库
mysql -u root -p
显示数据库
show dababases;
2、数据库插入操作
创建一个数据库
方法一:
create database dbtest;
方法二:
import pymysql
try:
db = pymysql.connect(host='localhost', port=3306, user='root', password='leizhe', db='dbtest', charset='utf8')
print("数据库成功连接")
cursor = db.cursor()
#如果数据表已经存在使用execute()方法删除表
cursor.execute("DROP TABLE IF EXISTS Student")
# sql = """CREATE TABLE EMPLOYEE (
# FIRST_NAME CHAR(20) NOT NULL,
# LAST_NAME CHAR(20),
# AGE INT,
# SEX CHAR(1),
# INCOME FLOAT)
# """
sql = 'CREATE TABLE Student(Name CHAR(20) NOT NULL, Email CHAR(20), Age int)'
cursor.execute(sql)
print("创建表格成功")
except pymysql.Error as e:
print("表格创建失败:"+ str(e))
可以在cmd中检查一下
use 数据库名;
use dbtest;
显示该数据库中的表单
show tables;
3、插入一个数据
import pymysql
try:
db = pymysql.connect(host='localhost', port=3306, user='root', password='leizhe', db='dbtest', charset='utf8')
print("数据库成功连接")
cursor = db.cursor()
# cursor.execute("DROP TABLE IF EXISTS Student")
sql = 'INSERT INTO Student(Name, Email, Age) VALUE (%s, %s, %s)'
value=('Mike','123@163.com',20)
cursor.execute(sql,value)
db.commit()
print("数据插入成功")
except pymysql.Error as e:
print("数据插入失败:"+ str(e))
db.rollback()
#关闭数据库
db.close()
#cmd查询语句
# select * from Student;
在cmd中查询一下
select * from Student;
4、查询表单中的数据
import pymysql
try:
db = pymysql.connect(host='localhost', port=3306, user='root', password='leizhe', db='dbtest', charset='utf8')
print("数据库成功连接")
cursor = db.cursor()
sql = 'SELECT * FROM Student'
cursor.execute(sql)
result = cursor.fetchall()
for row in result:
name = row[0]
email = row[1]
age = row[2]
print('Name:%s, Email:%s, Age:%s'%(name,email,age))
except pymysql.Error as e:
print("数据查询失败:"+ str(e))
#关闭数据库
db.close()
#cmd查询语句
# select * from Student;
5、更新表单中的数据
import pymysql
try:
db = pymysql.connect(host='localhost', port=3306, user='root', password='leizhe', db='dbtest', charset='utf8')
print("数据库成功连接")
cursor = db.cursor()
sql = 'update Student set Name=%s where Name=%s'
value = ('John', 'Mike')
cursor.execute(sql,value)
db.commit()
print("数据更新成功")
except pymysql.Error as e:
print("数据更新失败:"+ str(e))
db.rollback()
#关闭数据库
db.close()
6、删除表中的数据
import pymysql
try:
db = pymysql.connect(host='localhost', port=3306, user='root', password='leizhe', db='dbtest', charset='utf8')
print("数据库成功连接")
cursor = db.cursor()
sql = 'delete from Student where Name=%s'
value = ('John')
cursor.execute(sql,value)
db.commit()
print("数据删除成功")
except pymysql.Error as e:
print("数据删除失败:"+ str(e))
db.rollback()
#关闭数据库
db.close()
7、删除一张表单
import pymysql
try:
db = pymysql.connect(host='localhost', port=3306, user='root', password='leizhe', db='dbtest', charset='utf8')
print("数据库成功连接")
cursor = db.cursor()
sql = 'drop table if exists Student'
cursor.execute(sql)
print("表格删除成功")
except pymysql.Error as e:
print("表格删除失败:"+ str(e))
db.rollback()
#关闭数据库
db.close()
cmd查看表单
show tables;