ddxiami

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3368|回复: 9

基础语法07--mysql-connector

[复制链接]
发表于 2020-4-17 20:31:15 | 显示全部楼层 |阅读模式
#安装驱动
pip3 install mysql-connector


python3 -m pip install mysql-connector


#使用mysql-connector连接mysql数据的库的时候,遇到如下报错:
mysql.connector.errors.NotSupportedError: Authentication plugin 'caching_sha2_password' is not supported

pip install MYSQL-connector-python
回复

使用道具 举报

 楼主| 发表于 2020-4-17 20:31:59 | 显示全部楼层
#创建数据库

====================
#!/usr/bin/python3

import mysql.connector


mydb = mysql.connector.connect(
  host="localhost",
  user="user",
  passwd="passwd"
)

mycursor = mydb.cursor()

#创建新库
mycursor.execute("CREATE DATABASE test_python")
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-17 20:33:43 | 显示全部楼层
#执行show命令

====================
#!/usr/bin/python3

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="user",
  passwd="passwd"
)

mycursor = mydb.cursor()

#执行命令,查看所有库
mycursor.execute("SHOW DATABASES")
for x in mycursor:
  print(x)

回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-17 20:35:49 | 显示全部楼层
#创建表格

====================
#!/usr/bin/python3

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="user",
  passwd="passwd",
  database="test_python"
)
mycursor = mydb.cursor()

mycursor.execute("CREATE TABLE sites (name VARCHAR(255), url VARCHAR(255))")
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-17 20:38:57 | 显示全部楼层
#插入数据

====================
#!/usr/bin/python3

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="user",
  passwd="passwd",
  database="test_python"
)
mycursor = mydb.cursor()

sql = "INSERT INTO sites (name, url) VALUES (%s, %s)"
val = ("RUNOOB", "https://www.runoob.com")
mycursor.execute(sql, val)

mydb.commit()    # 数据表内容有更新,必须使用到该语句

print(mycursor.rowcount, "记录插入成功。")

回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-17 20:40:48 | 显示全部楼层
#批量插入

====================
#!/usr/bin/python3
import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="user",
  passwd="passwd",
  database="test_python"
)
mycursor = mydb.cursor()

sql = "INSERT INTO sites (name, url) VALUES (%s, %s)"
val = [
  ('Google', 'https://www.google.com'),
  ('Github', 'https://www.github.com'),
  ('Taobao', 'https://www.taobao.com'),
  ('stackoverflow', 'https://www.stackoverflow.com/')
]

mycursor.executemany(sql, val)

mydb.commit()    # 数据表内容有更新,必须使用到该语句

print(mycursor.rowcount, "记录插入成功。")

回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-17 20:45:45 | 显示全部楼层
#查询数据

====================
#!/usr/bin/python3

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="user",
  passwd="passwd",
  database="test_python"
)
mycursor = mydb.cursor()

mycursor.execute("SELECT * FROM sites")

myresult = mycursor.fetchall()     # fetchall() 获取所有记录

for x in myresult:
  print(x)

回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-17 20:47:23 | 显示全部楼层
#删除记录

====================
#!/usr/bin/python3

import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="user",
  passwd="passwd",
  database="test_python"
)
mycursor = mydb.cursor()

sql = "DELETE FROM sites WHERE name = 'stackoverflow'"

mycursor.execute(sql)

mydb.commit()

print(mycursor.rowcount, " 条记录删除")



====================
#!/usr/bin/python3
import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="user",
  passwd="passwd",
  database="test_python"
)
mycursor = mydb.cursor()

sql = "DELETE FROM sites WHERE name = %s"
na = ("stackoverflow", )

mycursor.execute(sql, na)

mydb.commit()

print(mycursor.rowcount, " 条记录删除")



回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-17 20:53:22 | 显示全部楼层
#修改记录
====================
#!/usr/bin/python3
import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="user",
  passwd="passwd",
  database="test_python"
)
mycursor = mydb.cursor()

sql = "UPDATE sites SET name = 'ZH' WHERE name = 'Zhihu'"

mycursor.execute(sql)

mydb.commit()

print(mycursor.rowcount, " 条记录被修改")


====================
#!/usr/bin/python3
import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="user",
  passwd="passwd",
  database="test_python"
)
mycursor = mydb.cursor()

sql = "UPDATE sites SET name = %s WHERE name = %s"
val = ("Zhihu", "ZH")

mycursor.execute(sql, val)

mydb.commit()

print(mycursor.rowcount, " 条记录被修改")

回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-17 20:56:34 | 显示全部楼层
#删除表

====================
#!/usr/bin/python3
import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="user",
  passwd="passwd",
  database="test_python"
)
mycursor = mydb.cursor()

sql = "DROP TABLE IF EXISTS sites"  # 删除数据表 sites

mycursor.execute(sql)

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|技术文档库 ( 闽ICP备15017263号-2 )|网站地图

GMT+8, 2025-5-18 23:27 , Processed in 0.037084 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表