SQL入门和实战

一、数据库介绍

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()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值