学习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() 方法创建一个游标对象 cursorcursor = 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() 方法创建一个游标对象 cursorcursor = db.cursor()sql="""SELECT prod_nameFROM ProductsLIMIT 2 OFFSET 6;"""# LIMIT 6,2try:# 执行sql语句print(sql)cursor.execute(sql)# 获取所有记录列表results = cursor.fetchall()print(results)# 提交到数据库执行db.commit()except:# 如果发生错误则回滚db.rollback()
(第一行是0)从第6+1条记录开始打印Products表中的2条记录:
至此,你已经成功打开了学习SQL的大门,你只需要根据实际需求不断积累SQL语法,不断在你造的数据中去练习就够了。
没有两把刷子之前,千万别到生产库里去作妖。
数据即资产,你丢不起。
