虽然CSV文件读写方便,但我们更希望把数据写道数据库中,方便查询和保存 数据库系统包括数据库、数据库管理系统、数据库的用户和支撑数据库管理系统运行的软硬件
数据模型是现实生活中数据的抽象,用来描述数据的概念和定义,是数据库中数据的存储方式,是数据库系统的基础。 常用的数据模型有以下三种:
根据数据库的数据模型划分,数据库可以分为以下类型:
关系型数据库常用的5个对象
SQL是一种结构化程序查询语言,是关系型数据库的标准语言,可以用来:
SQL的常用命令主要分为:
SQL语句以关键字SELECT,INSERT,UPDATE等开始,所有语句以分号为结束 eg:
SELECT column1 FROM table1 WHERE condition;
查询结果如下:
下图为SQL语句的书写顺序和执行顺序:
Python连接SQL的常用包:
以pymysql为例:
import pymysql
import pymysql.cursors
MySql常见类型数据:
结合pymysql,使用python所给的数据库API,我们将介绍如下常用的操作命令:
使用pymysql创建数据库连接:
# 连接数据库 connect = pymysql.Connect(host='localhost',port=3306,user='root',passwd='199712','minfo1','mvinfo',charset = "utf-8")
获取数据库的游标,使用游标对数据库进行操作
# 获取游标 cursor = connect.cursor()
通过cursor可以直接进行数据库操作: 创建数据库:
cursor.execute('CREATE DATABASE test;') cursor.execute("show databases;")
查看数据库名称:
for db in cursor.fetchall(): print(db)
完整代码:
import traceback import pymysql as pymysql def mysql(sql): db = pymysql.connect(host='localhost',port=3306,user='root',passwd='199712',charset = 'utf8') # 使用cursor()方法获取操作游标 cursor = db.cursor() try: print(sql) # 执行sqk语句 result = cursor.execute(sql) # db.commit() results = cursor.fetchall() except: traceback.print_exc() # 发生错误时回滚 db.rollback() # 关闭数据库连接 db.close() return results results = mysql('create database Lihuaxin') for result in results: print(result)
通过cursor实现向数据库插入数据:
import traceback import pymysql as pymysql def mysql(sqls): db = pymysql.connect(host='localhost',port=3306,user='root',passwd='199712',charset = 'utf8') # 使用cursor()方法获取操作游标 cursor = db.cursor() results=[] try: print("get sqlqueries = ",len(sqls)) # 执行sqk语句 for sql in sqls: result = cursor.execute(sql) print(sql,":",result) db.commit() results = cursor.fetchall() except: traceback.print_exc() # 发生错误时回滚 db.rollback() # 关闭数据库连接 db.close() return results results = mysql(['use hackdata','show tables']) for result in results: print(result)
刚开始我们看到的是没有show tables的:
然后通过添加下图红线处部分
如果多次执行一个数据库可以这样写:
插入数据:
results = mysql(['insert into user values (1, "Tom");','insert into user values (2, "Li");','select * from user ;'])
本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。
我来说两句