[Python基础学习]-2.2-|python&sql|-ing

内容主要参照b站《 黑马程序员python教程,8天python从入门到精通,学python看这套就够了》,链接: https://www.bilibili.com/video/BV1qW4y1a7fU?p=1&vd_source=b0665a83555604d15c1cecb7c0cfebfa
部分内容资料来自互联网,后续博客会不断完善知识点

第二章


三个关键概念——库,表,数据

[Python基础学习]-2.2-|python&sql|-ing_第1张图片

常见的有:

借助SQL语言,完成对数据的增删改查等操作
[Python基础学习]-2.2-|python&sql|-ing_第2张图片

SQL:数据库提供数据组织储存的能力

MYSQL


下载社区版
[Python基础学习]-2.2-|python&sql|-ing_第3张图片

Webinars :网络研讨会

seminars:专家研讨会

安装过程

[Python基础学习]-2.2-|python&sql|-ing_第4张图片
[Python基础学习]-2.2-|python&sql|-ing_第5张图片
[Python基础学习]-2.2-|python&sql|-ing_第6张图片
配置环境变量
无非就是让控制台中可以运行相关代码

bin文件夹是 存放可执行的二进制文件的文件夹。我们在使用较大型的软件时都会发现bin文件夹。bin文件夹下存放的是项目调试之后的可运行文件。
bin是二进制文件,其用途依系统而定,不能删除 。
bin为一种文件格式binary的缩写。一个后缀名为".bin"的文件,只是表明它是binary格式。比如虚拟光驱文件常用".bin"作为后缀,但并不意味着所有bin文件都是虚拟光驱文件。
一般情况下腾讯QQ的程序启动文件会被默认存进C:\Program Files (x86)\Tencent\QQ\Bin这个系统文件夹中。其他的文件也类似
Bin文件夹是一个非常重要的系统文件夹,如果用户错误删除了这个文件夹就可能导致程序无法启动系统出现错误等情况,用户一定要小心操作。

C:\Program Files\MySQL\MySQL Server 8.0\bin

[Python基础学习]-2.2-|python&sql|-ing_第7张图片
ODBC(Open Database Connectivity, 开放数据库互连)是 微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准 API( 应用程序编程接口)。这些API利用SQL来完成其大部分任务。
成功登录
[Python基础学习]-2.2-|python&sql|-ing_第8张图片

MySQL的入门使用

[Python基础学习]-2.2-|python&sql|-ing_第9张图片

show databases;

基础使用命令
[Python基础学习]-2.2-|python&sql|-ing_第10张图片
使用图形化工具操作MySQL
[Python基础学习]-2.2-|python&sql|-ing_第11张图片

[Python基础学习]-2.2-|python&sql|-ing_第12张图片
第一次加载
[Python基础学习]-2.2-|python&sql|-ing_第13张图片

连接数据库

[Python基础学习]-2.2-|python&sql|-ing_第14张图片
[Python基础学习]-2.2-|python&sql|-ing_第15张图片
数据库不全
系统自带的数据库不要动,所以可视化里面不显示内容

[Python基础学习]-2.2-|python&sql|-ing_第16张图片
SQL语言的分类
  • 数据定义:DDL

  • 数据操作:DML

  • 数据控制:DCL

  • 数据查询:DQL

报错解决
[Python基础学习]-2.2-|python&sql|-ing_第17张图片
新建脚本
sql对大小写不敏感,以句号结尾
支持注释
[Python基础学习]-2.2-|python&sql|-ing_第18张图片
sql注释
-- 我是注释
# 注释
/* 我是注释 */

[Python基础学习]-2.2-|python&sql|-ing_第19张图片
[Python基础学习]-2.2-|python&sql|-ing_第20张图片
单行执行代码的思想类似于jupytenotebook
[Python基础学习]-2.2-|python&sql|-ing_第21张图片

DDL

[Python基础学习]-2.2-|python&sql|-ing_第22张图片

DML

数据操纵语言(Data Manipulation Language, DML)是用于数据库操作
数据插入INSERT
sql里面的变量命名有所区别,里面是通过变量名 变量类型来定义的

insertinto student(id)values(1),(2),(3);

# 插入时候一定要注意数据并排

insertinto student (id,name,age)values(4,'Jay',32),(5,'asd',32);

数据删除DELETE
[ ]表示可选删除

insertinto student (id,name,age)values(7,'删除',68);

deletefrom student where age =68

数据更新update
字符串中一定要用单引号选中

update student set name='xxx' [where 条件判断];

[Python基础学习]-2.2-|python&sql|-ing_第23张图片

DQL

基本语法

SELECT 字段列表

select id,name from student

# 只选择一些属性

分组聚合

按照一定的规则进行性别分组

基础语法

语法限制!!!!
gender中写了谁select才能用谁
age属于特殊字段——聚合函数

# 通过年龄来聚组

#

selectavg(age)from student groupby gender

[Python基础学习]-2.2-|python&sql|-ing_第24张图片
[Python基础学习]-2.2-|python&sql|-ing_第25张图片
排序分页
sql语句可以换行

ordered by ... [ASC|DESC]

select*from student limit5;

多个条件的执行顺序
[Python基础学习]-2.2-|python&sql|-ing_第26张图片

SQL-DQL-排列分页

排序查询

asc和desc(升序和降序)

select * from student where age > 20 order by age asc;

结果的分页限制

只输出五条

select * from student limit 5;

python&SQL


pip install pymysql

基础使用

创建到MySQL的数据库链接
注意Python中的;不如sql中的;要求严格

进行查询

"""

演示Python pymysql库的基础操作

"""

frompymysqlimportConnection

# 构建到MySQL数据库的链接

# python是面向对象来操作的

conn=Connection(

host="localhost", # 主机名(ip)——Intellectual Property

port=3306, # 端口——港口

user="root",

password="Lin18772247986"

)

print(conn.get_server_info())

# 执行非查询性质SQL

cursor=conn.cursor()

conn.select_db("world") # 先选择数据库

# 执行查询性质SQL

# cursor.execute("create table test_pymysql2(id int)")

# execute就是输入命令进行查询

cursor.execute("select * from student")

results=cursor.fetchall() # """Fetch all the rows"""

print(results)

# 关闭链接

D:\ENV\envs\bigdata\python.exe "P:\020 学习# codes\python_projects\python基础学习\python&sql\01_pymysql入门.py" 8.0.31((1, None, None), (2, None, None), (3, None, None), (4, 'Jay', 32), (5, 'asd', 32))
进程已结束,退出代码0
最后可以将结果封装到元组中


数据插入

commit提交
可以设置自动提交autocommit=True

"""

演示Python pymysql库的插入

"""

frompymysqlimportConnection

# 构建到MySQL数据库的链接

# python是面向对象来操作的

conn=Connection(

host="localhost", # 主机名(ip)——Intellectual Property

port=3306, # 端口——港口

user="root",

password="Lin18772247986"

)

print(conn.get_server_info())

# 执行非查询性质SQL

# 获取一个操作的光标

cursor=conn.cursor()

conn.select_db("world") # 先选择数据库

# 执行查询性质SQL

# cursor.execute("create table test_pymysql2(id int)")

# execute就是输入命令进行查询

# cursor.execute("select * from student")

# results=cursor.fetchall() # """Fetch all the rows"""

# 报错提示,没有gender这一列————学会读取错误内容

cursor.execute("insert into student values(10001,'周杰伦',35)")

# 通过commit确认

conn.commit()

# 关闭链接

conn.close()

事务

综合案例——sql&python


数据读取出来写入到mysql中
[Python基础学习]-2.2-|python&sql|-ing_第27张图片
[Python基础学习]-2.2-|python&sql|-ing_第28张图片
基于数据结构,得到建表语句:
[Python基础学习]-2.2-|python&sql|-ing_第29张图片

create database py_sql charset utf8;

字符编码格式

表创建成功
[Python基础学习]-2.2-|python&sql|-ing_第30张图片

逐步读取其中的数据并且 按照一定的方式往sql里面写入
[Python基础学习]-2.2-|python&sql|-ing_第31张图片

你可能感兴趣的:(#,编程持续提高——Python,python,学习,sql)