一、数据库介绍
1. 数据库是什么?有什么作用呢?
数据库就是指数据存储的库,作用就是组织数据并存储数据。
2. 数据库如何组织数据呢?
按照:库 -> 表 -> 数据 三个层级进行组织
3. 数据库软件是什么?我们学习哪种数据库软件呢?
数据库软件就是提供库->表->数据,这种数据组织形式的工具软件,也称之为数据库管理系统
常见的数据库软件有:Oracle、MySQL、SQL Server、PostgreSQL、SQLite,
这里以MySQL软件为基础进行学习
4. 数据库和SQL的关系是? 数据库(软件)提供数据组织存储的能力
SQL语句则是操作数据、数据库的工具语言
二、SQL基础与DDL
1. SQL语言是什么?有什么作用?
SQL:结构化查询语言,用于操作数据库,通用于绝大多数的数据库软件
2. SQL的特征
- 大小写不敏感
- 需以;号结尾
- 支持单行、多行注释
3. SQL语言的分类
- DDL数据定义
- DML数据操作
- DCL数据控制
- DQL数据查询
4. DDL中数据库管理的语法
5. DDL中数据表管理的语法
三、SQL - DML
1. DML插入、删除、更新的语法
2. 注意事项
字符串的值,出现在SQL语句中,必须要用单引号或双引号包围起来
四、SQL - DQL
(1)基础查询
1. 基础查询的语法
2. 过滤查询的语法
(2)分组聚合
1. 分组聚合的语法是?
2. 分组聚合的注意事项?
GROUP BY中出现了哪个列,哪个列才能出现在SELECT中的非聚合中。
(3)排序分页
1. 排序和分页限制的语法是?
2. 截止到目前学习到的关键字,需注意:
- WHERE、GROUP BY、ORDER BY、 LIMIT均可按需求省略
- SELECT 和 FROM 是必写的
- 执行顺序: FROM -> WHERE -> GROUP BY和聚合函数 -> SELECT -> ORDER BY -> LIMIT
五、Python & MySQL
(1)基础使用
1. Python中使用什么第三方库来操作MySQL?如何安装?
使用第三方库为:pymysql
安装:pip install pymysql
2. 如何获取链接对象?
- from pymysql import Connection 导包
- Connection(主机,端口,账户,密码)即可得到链接对象
- 链接对象.close() 关闭和MySQL数据库的连接
3. 如何执行SQL查询
通过连接对象调用cursor()方法,得到游标对象
- 游标对象.execute()执行SQL语句
- 游标对象.fetchall()得到全部的查询结果封装入元组内
4.示例代码
from pymysql import Connection
conn = Connection(
host="localhost", # 主机名
port=3306, # 端口
user="root", # 账户
password="123456" # 密码
)
cursor = conn.cursor() # 获取游标对象
conn.select_db("world") # 选择 test 数据库
# cursor.execute("create table test_python(id int)") # 执行 sql : 创建一个表
cursor.execute("select * from student")
results = cursor.fetchall()
for r in results:
print(r)
conn.close() # 关闭和sql的链接
(2)数据插入
1. 什么是commit提交?
pymysql库在执行对数据库有修改操作的行为时,是需要通过链接对象的commit成员方法来进行确认的。 只有确认的修改,才能生效。
2. 如何自动提交呢?
3.示例代码
from pymysql import Connection
conn = Connection(
host="localhost", # 主机名
port=3306, # 端口
user="root", # 账户
password="123456" # 密码
# autocommit=True # 自动提交
)
cursor = conn.cursor() # 获取游标对象
conn.select_db("world") # 选择 test 数据库
cursor.execute("insert into student values(10001, '周杰伦', 31, '男")
conn.commit() # commit确认
conn.close()