学习SQL的第一步:利用Python和MySQL生产出数据
没有数据你学什么SQL。
这就难倒了大部分想迈出第一步的人。
造数据有三种方法:
CMD命令行用SQL语句生成数据
Navicat 数据库管理工具利用GUI界面进行可视化操作生成数据
Python连接Mysql并执行SQL语句生成数据
这里我们只用最牛逼的方法,就是Python直接执行SQL语句。
所有的数据脚本来源于《SQL必知必会(第5版)》。
网址是:https://forta.com/books/0672336073/
下面我们开始造数之旅:
import pymysql
# 打开数据库连接
db = pymysql.connect(host='localhost',
user='root',
password='Cddyj4321!',
database='SQL_GO')
# 待执行的SQL语句列表
sql_list ="""
这里放所有需要执行的SQL语句,以;分开
脚本下载网址为:https://forta.com/wp-content/uploads/books/0672336073/TeachYourselfSQL_MySQL.zip
"""
# 拆分SQL语句
sql_list = sql_list.split(';')
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 逐条执行SQL语句
for sql in sql_list:
try:
print(sql)
# 执行sql语句
cursor.execute(sql)
# 提交到数据库执行
db.commit()
except:
# 如果发生错误则回滚
db.rollback()
# 关闭数据库连接
db.close()
这个时候我们模拟的数据就建好了,本例是模拟玩具经销商使用的订单录入系统的部分数据,用来管理供应商、产品目录、顾客列表、顾客订单。
掌握了上面的套路,只要你有数据目录,你就可以造出一系列仿真的数据库进行SQL语句练习,比如发电数据、输电数据、配电数据、变电数据、用电数据。
造完数据之后,你就可以用SQL为所欲为了。
import pymysql
# 打开数据库连接
db = pymysql.connect(host='localhost',
user='root',
password='Cddyj4321!',
database='SQL_GO')
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
sql="""
SELECT prod_name
FROM Products
LIMIT 2 OFFSET 6;
"""
# LIMIT 6,2
try:
# 执行sql语句
print(sql)
cursor.execute(sql)
# 获取所有记录列表
results = cursor.fetchall()
print(results)
# 提交到数据库执行
db.commit()
except:
# 如果发生错误则回滚
db.rollback()
(第一行是0)从第6+1条记录开始打印Products表中的2条记录:
至此,你已经成功打开了学习SQL的大门,你只需要根据实际需求不断积累SQL语法,不断在你造的数据中去练习就够了。
没有两把刷子之前,千万别到生产库里去作妖。
数据即资产,你丢不起。