
目录
创建新表
表中添加数据
连接两个或多个表
左连接
右连接
创建新表
创建表名为product
# coding=gbk
#连接
import pymysql
mydb = pymysql.connect(
host="localhost", #默认用主机名
port=3306,
user="root", #默认用户名
password="123456", #mysql密码
database='student', #库名
charset='utf8' #编码方式
)
print(mydb)
# # 获取游标 承载结果
mycursor = mydb.cursor()
#执行sql语句
mycursor.execute("CREATE TABLE product (id VARCHAr(255), product VARCHAr(255),fav VARCHAr(255))")
再创建users表:
# coding=gbk
#连接
import pymysql
mydb = pymysql.connect(
host="localhost", #默认用主机名
port=3306,
user="root", #默认用户名
password="123456", #mysql密码
database='student', #库名
charset='utf8' #编码方式
)
print(mydb)
# # 获取游标 承载结果
mycursor = mydb.cursor()
#执行sql语句
mycursor.execute("CREATE TABLE users (id VARCHAr(255), name VARCHAr(255),fav VARCHAr(255))")
无报错则创建成功。
表中添加数据product表中添加:
# coding=gbk
#连接
import pymysql
mydb = pymysql.connect(
host="localhost", #默认用主机名
port=3306,
user="root", #默认用户名
password="123456", #mysql密码
database='student', #库名
charset='utf8' #编码方式
)
print(mydb)
# # 获取游标 承载结果
mycursor = mydb.cursor()
#执行sql语句
sql = "INSERT INTO product (id, product,fav) VALUES (%s, %s,%s)"
val = [
(1, '巧克力', 154),
(2, '草', 155),
(3, '棉花糖',156),
(4, '肉' ,157)
]
mycursor.executemany(sql, val)
#提交
mydb.commit()
#打印
print(mycursor.rowcount, "全部添加成功.")
users表中添加:
# coding=gbk
#连接
import pymysql
mydb = pymysql.connect(
host="localhost", #默认用主机名
port=3306,
user="root", #默认用户名
password="123456", #mysql密码
database='student', #库名
charset='utf8' #编码方式
)
print(mydb)
# # 获取游标 承载结果
mycursor = mydb.cursor()
#执行sql语句
sql = "INSERT INTO users (id, name) VALUES (%s, %s)"
val = [
(1,'笨小孩'),
(2,'喜洋洋'),
(3,'美羊羊'),
(4,'懒洋洋')
]
mycursor.executemany(sql, val)
#提交
mydb.commit()
#打印
print(mycursor.rowcount, "全部添加成功.")
运行:
连接两个或多个表您可以使用 JOIN 语句根据两个或多个表之间的相关列组合来自两个或多个表的行。
例如加入users和product,查看用户最喜欢的产品名称:
# coding=gbk
#连接
import pymysql
mydb = pymysql.connect(
host="localhost", #默认用主机名
port=3306,
user="root", #默认用户名
password="123456", #mysql密码
database='student', #库名
charset='utf8' #编码方式
)
print(mydb)
# # 获取游标 承载结果
mycursor = mydb.cursor()
#执行sql语句
sql = "SELECt
users.name AS user,
product.product AS favorite
FROM users
INNER JOIN product ON users.id = product.id"
mycursor.execute(sql)
#打印
myresult = mycursor.fetchall()
for x in myresult:
print(x)
运行:
注意:您可以使用 JOIN 代替 INNER JOIN。他们都会给你同样的结果。
在上面的示例中, INNER JOIN 仅显示存在匹配的记录。如果要显示所有用户,即使他们没有最喜欢的产品,也可以使用 LEFT JOIN 语句。
例如选择所有用户和他们最喜欢的产品:
# coding=gbk
#连接
import pymysql
mydb = pymysql.connect(
host="localhost", #默认用主机名
port=3306,
user="root", #默认用户名
password="123456", #mysql密码
database='student', #库名
charset='utf8' #编码方式
)
print(mydb)
# # 获取游标 承载结果
mycursor = mydb.cursor()
#执行sql语句
sql = "SELECt
users.name AS user,
product.product AS favorite
FROM users
LEFT JOIN product ON users.id = product.id"
mycursor.execute(sql)
#打印
myresult = mycursor.fetchall()
for x in myresult:
print(x)
运行:
右连接如果您想返回所有产品,以及收藏它们的用户,即使没有用户收藏它们,也可以使用 RIGHT JOIN 语句。例如选择所有产品,以及收藏这些产品的用户:
# coding=gbk
#连接
import pymysql
mydb = pymysql.connect(
host="localhost", #默认用主机名
port=3306,
user="root", #默认用户名
password="123456", #mysql密码
database='student', #库名
charset='utf8' #编码方式
)
print(mydb)
# # 获取游标 承载结果
mycursor = mydb.cursor()
#执行sql语句
sql = "SELECt
users.name AS user,
product.product AS favorite
FROM users
RIGHT JOIN product ON users.id = product.id"
mycursor.execute(sql)
#打印
myresult = mycursor.fetchall()
for x in myresult:
print(x)
运行:
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)