下载mysql与navicat(可参考这两个文章)
MySQL安装教程,windows下(超详细,根据步骤一步步来)-CSDN博客
navicat连接mysql(windows下)-CSDN博客
1.选中服务器右键--新建数据库
sql运行指令,可查看资源,如有需要可在资源中自行下载(并且会详细注明字段的含义)
2.查看创建的class表
import pymysql #建立数据库连接 conn=pymysql.connect( host='127.0.0.1', #主机名 port=3306,#端口号 user='root',#用户名 password='123456',#密码 db='testMysql',#数据库名 charset='utf8' ) #获取游标 cursor=conn.cursor() #创建查询sql语句的函数 def search_sql(): #执行sql语句 sql='select * from class' rows=cursor.execute(sql) #返回结果是受影响的行数 print(rows) #数据库的class还没有数据,所以rows应该是0 # 判断是否连接成功 if rows >= 0: print('数据库连接成功') else: print('数据库连接失败') if __name__ == '__main__': search_sql() # 关闭游标 cursor.close() # 关闭连接 conn.close()
运行结果:
再原来的代码基础上,新增insert_sql()函数
import pymysql #建立数据库连接 conn=pymysql.connect( host='127.0.0.1', #主机名 port=3306,#端口号 user='root',#用户名 password='123456',#密码 db='testMysql',#数据库名 charset='utf8' ) #获取游标 cursor=conn.cursor() #创建查询sql语句的函数 def search_sql(): #执行sql语句 sql='select * from class' rows=cursor.execute(sql) #返回结果是受影响的行数 print(rows) #数据库的class还没有数据,所以rows应该是0 # 判断是否连接成功 if rows >= 0: print('数据库连接成功') else: print('数据库连接失败') #创建新增sql语句的函数-单条数据 def insert_sql(): #执行sql sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)' rows=cursor.execute(sql,('1','1年级','1')) #提交 conn.commit() print(f'增加的行数{rows}') if __name__ == '__main__': #search_sql() insert_sql() # 关闭游标 cursor.close() # 关闭连接 conn.close()
运行结果:
查看数据库class表中的数据:
再原来的代码基础上,新增inserts_sql()函数
import pymysql #建立数据库连接 conn=pymysql.connect( host='127.0.0.1', #主机名 port=3306,#端口号 user='root',#用户名 password='123456',#密码 db='testMysql',#数据库名 charset='utf8' ) #获取游标 cursor=conn.cursor() #创建查询sql语句的函数 def search_sql(): #执行sql语句 sql='select * from class' rows=cursor.execute(sql) #返回结果是受影响的行数 print(rows) #数据库的class还没有数据,所以rows应该是0 # 判断是否连接成功 if rows >= 0: print('数据库连接成功') else: print('数据库连接失败') #创建新增sql语句的函数-单条数据 def insert_sql(): #执行sql sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)' rows=cursor.execute(sql,('1','1年级','1')) #提交 conn.commit() print(f'增加的行数{rows}') #创建新增sql语句的函数-多条数据 def inserts_sql(): #执行sql sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)' rows=cursor.executemany(sql,[('2','2年级','2'),('3','3年级','3'),('4','4年级','4')]) #提交 conn.commit() print(f'增加的行数{rows}') if __name__ == '__main__': #search_sql() #insert_sql() inserts_sql() # 关闭游标 cursor.close() # 关闭连接 conn.close()
运行结果:
查看数据库class表中的数据:
再原来的代码基础上,新增inserts_sql_many()函数
import pymysql #建立数据库连接 conn=pymysql.connect( host='127.0.0.1', #主机名 port=3306,#端口号 user='root',#用户名 password='123456',#密码 db='testMysql',#数据库名 charset='utf8' ) #获取游标 cursor=conn.cursor() #创建查询sql语句的函数 def search_sql(): #执行sql语句 sql='select * from class' rows=cursor.execute(sql) #返回结果是受影响的行数 print(rows) #数据库的class还没有数据,所以rows应该是0 # 判断是否连接成功 if rows >= 0: print('数据库连接成功') else: print('数据库连接失败') #创建新增sql语句的函数-单条数据 def insert_sql(): #执行sql sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)' rows=cursor.execute(sql,('1','1年级','1')) #提交 conn.commit() print(f'增加的行数{rows}') #创建新增sql语句的函数-多条数据 def inserts_sql(): #执行sql sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)' rows=cursor.executemany(sql,[('2','2年级','2'),('3','3年级','3'),('4','4年级','4')]) #提交 conn.commit() print(f'增加的行数{rows}') #创建新增sql语句的函数-新增大量数据 def inserts_sql_many(): #执行sql语句,批量新增,我这里演示就没插入那么多,自己想插入多少数据,自己在for循环里修改 values=[] for i in range(100,106): values.append((i,str(i)+'年级',i)) sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)' rows=cursor.executemany(sql,values) #提交 conn.commit() print(f'增加的行数{rows}') if __name__ == '__main__': #search_sql() #insert_sql() #inserts_sql() inserts_sql_many() # 关闭游标 cursor.close() # 关闭连接 conn.close()
运行结果:
查看数据库class表中的数据:
再原来的代码基础上,新增update_sql()函数
import pymysql #建立数据库连接 conn=pymysql.connect( host='127.0.0.1', #主机名 port=3306,#端口号 user='root',#用户名 password='123456',#密码 db='testMysql',#数据库名 charset='utf8' ) #获取游标 cursor=conn.cursor() #创建查询sql语句的函数 def search_sql(): #执行sql语句 sql='select * from class' rows=cursor.execute(sql) #返回结果是受影响的行数 print(rows) #数据库的class还没有数据,所以rows应该是0 # 判断是否连接成功 if rows >= 0: print('数据库连接成功') else: print('数据库连接失败') #创建新增sql语句的函数-单条数据 def insert_sql(): #执行sql sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)' rows=cursor.execute(sql,('1','1年级','1')) #提交 conn.commit() print(f'增加的行数{rows}') #创建新增sql语句的函数-多条数据 def inserts_sql(): #执行sql sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)' rows=cursor.executemany(sql,[('2','2年级','2'),('3','3年级','3'),('4','4年级','4')]) #提交 conn.commit() print(f'增加的行数{rows}') #创建新增sql语句的函数-新增大量数据 def inserts_sql_many(): #执行sql语句,批量新增,我这里演示就没插入那么多,自己想插入多少数据,自己在for循环里修改 values=[] for i in range(100,106): values.append((i,str(i)+'年级',i)) sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)' rows=cursor.executemany(sql,values) #提交 conn.commit() print(f'增加的行数{rows}') #创建修改sql语句的函数-单条数据 def update_sql(): #执行sql sql='update class set caption=%s where cid=%s' rows=cursor.execute(sql,('修改年级','3')) #提交 conn.commit() print(f'修改的行数{rows}') if __name__ == '__main__': #search_sql() #insert_sql() #inserts_sql() #inserts_sql_many() update_sql() # 关闭游标 cursor.close() # 关闭连接 conn.close()
运行结果:
查看数据库class表中的数据:
再原来的代码基础上,新增updates_sql()函数
import pymysql #建立数据库连接 conn=pymysql.connect( host='127.0.0.1', #主机名 port=3306,#端口号 user='root',#用户名 password='123456',#密码 db='testMysql',#数据库名 charset='utf8' ) #获取游标 cursor=conn.cursor() #创建查询sql语句的函数 def search_sql(): #执行sql语句 sql='select * from class' rows=cursor.execute(sql) #返回结果是受影响的行数 print(rows) #数据库的class还没有数据,所以rows应该是0 # 判断是否连接成功 if rows >= 0: print('数据库连接成功') else: print('数据库连接失败') #创建新增sql语句的函数-单条数据 def insert_sql(): #执行sql sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)' rows=cursor.execute(sql,('1','1年级','1')) #提交 conn.commit() print(f'增加的行数{rows}') #创建新增sql语句的函数-多条数据 def inserts_sql(): #执行sql sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)' rows=cursor.executemany(sql,[('2','2年级','2'),('3','3年级','3'),('4','4年级','4')]) #提交 conn.commit() print(f'增加的行数{rows}') #创建新增sql语句的函数-新增大量数据 def inserts_sql_many(): #执行sql语句,批量新增,我这里演示就没插入那么多,自己想插入多少数据,自己在for循环里修改 values=[] for i in range(100,106): values.append((i,str(i)+'年级',i)) sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)' rows=cursor.executemany(sql,values) #提交 conn.commit() print(f'增加的行数{rows}') #创建修改sql语句的函数-单条数据 def update_sql(): #执行sql sql='update class set caption=%s where cid=%s' rows=cursor.execute(sql,('修改年级','3')) #提交 conn.commit() print(f'修改的行数{rows}') #创建修改sql语句的函数-多条数据 def updates_sql(): #执行sql sql='update class set caption=%s where cid=%s' rows=cursor.executemany(sql,[('修改1年级','100'),('修改2年级','101')]) #提交 conn.commit() print(f'修改的行数{rows}') if __name__ == '__main__': #search_sql() #insert_sql() #inserts_sql() #inserts_sql_many() #update_sql() updates_sql() # 关闭游标 cursor.close() # 关闭连接 conn.close()
运行结果:
查看数据库class表中的数据:
再原来的代码基础上,新增delete_sql()函数
import pymysql #建立数据库连接 conn=pymysql.connect( host='127.0.0.1', #主机名 port=3306,#端口号 user='root',#用户名 password='123456',#密码 db='testMysql',#数据库名 charset='utf8' ) #获取游标 cursor=conn.cursor() #创建查询sql语句的函数 def search_sql(): #执行sql语句 sql='select * from class' rows=cursor.execute(sql) #返回结果是受影响的行数 print(rows) #数据库的class还没有数据,所以rows应该是0 # 判断是否连接成功 if rows >= 0: print('数据库连接成功') else: print('数据库连接失败') #创建新增sql语句的函数-单条数据 def insert_sql(): #执行sql sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)' rows=cursor.execute(sql,('1','1年级','1')) #提交 conn.commit() print(f'增加的行数{rows}') #创建新增sql语句的函数-多条数据 def inserts_sql(): #执行sql sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)' rows=cursor.executemany(sql,[('2','2年级','2'),('3','3年级','3'),('4','4年级','4')]) #提交 conn.commit() print(f'增加的行数{rows}') #创建新增sql语句的函数-新增大量数据 def inserts_sql_many(): #执行sql语句,批量新增,我这里演示就没插入那么多,自己想插入多少数据,自己在for循环里修改 values=[] for i in range(100,106): values.append((i,str(i)+'年级',i)) sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)' rows=cursor.executemany(sql,values) #提交 conn.commit() print(f'增加的行数{rows}') #创建修改sql语句的函数-单条数据 def update_sql(): #执行sql sql='update class set caption=%s where cid=%s' rows=cursor.execute(sql,('修改年级','3')) #提交 conn.commit() print(f'修改的行数{rows}') #创建修改sql语句的函数-多条数据 def updates_sql(): #执行sql sql='update class set caption=%s where cid=%s' rows=cursor.executemany(sql,[('修改1年级','100'),('修改2年级','101')]) #提交 conn.commit() print(f'修改的行数{rows}') #删除数据-单条 def delete_sql(): #执行sql sql='delete from class where cid=%s' rows=cursor.execute(sql,('102',)) #提交 conn.commit() print(f'删除的行数{rows}') if __name__ == '__main__': #search_sql() #insert_sql() #inserts_sql() #inserts_sql_many() #update_sql() # updates_sql() delete_sql() # 关闭游标 cursor.close() # 关闭连接 conn.close()
运行结果:
查看数据库class表中的数据:
省略
再原来的代码基础上,新增deletes_sql()函数
import pymysql #建立数据库连接 conn=pymysql.connect( host='127.0.0.1', #主机名 port=3306,#端口号 user='root',#用户名 password='123456',#密码 db='testMysql',#数据库名 charset='utf8' ) #获取游标 cursor=conn.cursor() #创建查询sql语句的函数 def search_sql(): #执行sql语句 sql='select * from class' rows=cursor.execute(sql) #返回结果是受影响的行数 print(rows) #数据库的class还没有数据,所以rows应该是0 # 判断是否连接成功 if rows >= 0: print('数据库连接成功') else: print('数据库连接失败') #创建新增sql语句的函数-单条数据 def insert_sql(): #执行sql sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)' rows=cursor.execute(sql,('1','1年级','1')) #提交 conn.commit() print(f'增加的行数{rows}') #创建新增sql语句的函数-多条数据 def inserts_sql(): #执行sql sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)' rows=cursor.executemany(sql,[('2','2年级','2'),('3','3年级','3'),('4','4年级','4')]) #提交 conn.commit() print(f'增加的行数{rows}') #创建新增sql语句的函数-新增大量数据 def inserts_sql_many(): #执行sql语句,批量新增,我这里演示就没插入那么多,自己想插入多少数据,自己在for循环里修改 values=[] for i in range(100,106): values.append((i,str(i)+'年级',i)) sql='insert into class(cid,caption,grade_id) values(%s,%s,%s)' rows=cursor.executemany(sql,values) #提交 conn.commit() print(f'增加的行数{rows}') #创建修改sql语句的函数-单条数据 def update_sql(): #执行sql sql='update class set caption=%s where cid=%s' rows=cursor.execute(sql,('修改年级','3')) #提交 conn.commit() print(f'修改的行数{rows}') #创建修改sql语句的函数-多条数据 def updates_sql(): #执行sql sql='update class set caption=%s where cid=%s' rows=cursor.executemany(sql,[('修改1年级','100'),('修改2年级','101')]) #提交 conn.commit() print(f'修改的行数{rows}') #删除数据-单条 def delete_sql(): #执行sql sql='delete from class where cid=%s' rows=cursor.execute(sql,('102',)) #提交 conn.commit() print(f'删除的行数{rows}') #删除数据-多条 def deletes_sql(): #执行sql sql='delete from class where cid=%s' rows=cursor.executemany(sql,[('100',),('103',)]) #提交 conn.commit() print(f'删除的行数{rows}') if __name__ == '__main__': #search_sql() #insert_sql() #inserts_sql() #inserts_sql_many() #update_sql() # updates_sql() #delete_sql() deletes_sql() # 关闭游标 cursor.close() # 关闭连接 conn.close()
运行结果:
查看数据库class表中的数据: