SQL语法知识回顾

一、SQL****语言的分类

由于数据库管理系统(数据库软件)功能非常多,不仅仅是存储数据,还要包含:数据的管理、表的管理、库的管理、账户管理、权限管理等等。所以,操作数据库的SQL语言,也基于功能,可以划分为4类:

数据定义:DDL(Data Definition Language)

  • 库的创建删除、表的创建删除等

数据操纵:DML(Data Manipulation Language)

  • 新增数据、删除数据、修改数据等

数据控制:DCL(Data Control Language)新增用户、删除用户、密码修改、权限管理等

  • 数据查询:DQL(Data Query Language)基于需求查询和计算数据

• SQL 语言,大小写不敏感
• SQL 可以单行或多行书写,最后以 ; 号结束
• SQL 支持注释:
• 单行注释: -- 注释内容( -- 后面一定要有一个空格)
• 单行注释: # 注释内容( # 后面可以不加空格,推荐加上)
• 多行注释: /* 注释内容 */

二、DDL****库管理

三、DDL表管理

四、DML语言

DML是指数据操作语言,英文全称是Data Manipulation Language,用来对数据库中表的数据记录进行更新。

关键字:插入INSERT、删除DELETE 、更新UPDATE

数据插入 INSERT

数据删除****DELETE

数据更新 UPDATE

五、DQL语言

基础查询

|--------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------|
| 基础数据查询 | 基础数据过滤 |
| | |

分组聚合

结果排序

可以对查询的结果,使用ORDER BY 关键字,指定某个列进行排序,语法:

六、Python执行SQL语句操作MySQL数据库软件

除了使用图形化工具以外,我们也可以使用编程语言来执行SQL从而操作数据库。在Python中,使用第三方库:pymysql 来完成对MySQL数据库的操作。

安装:pip install pymysql

创建到MySQL的数据库链接

python 复制代码
"""
演示使用pymysql库进行数据插入的操作
"""
from pymysql import Connection

# 构建到MySQL数据库的链接
conn = Connection(
    host="localhost",   # 主机名(IP)
    port=3306,          # 端口
    user="root",        # 账户
    password="123456",  # 密码
    autocommit=True     # 自动提交(确认)
)

# print(conn.get_server_info())
# 执行非查询性质SQL
cursor = conn.cursor()      # 获取到游标对象
# 选择数据库
conn.select_db("world")
# 执行sql
cursor.execute("insert into student values(10002, '林俊节', 31, '男')")
# # 通过commit确认
# conn.commit()
# 关闭链接
conn.close()

如何获取链接对象?

  • from pymysql import Connection 导包
  • Connection(主机,端口,账户,密码)即可得到链接对象
  • 链接对象.close() 关闭和MySQL数据库的连接

如何执行SQL查询?

  • 通过连接对象调用cursor()方法,得到游标对象
  • 游标对象.execute()执行SQL语句
  • 游标对象.fetchall()得到全部的查询结果封装入元组内

自动****commit

如果不想手动commit确认,可以在构建链接对象的时候,设置自动commit的属性。

如图代码进行设置,即可自动提交无需手动commit了。

相关推荐
AI原吾2 小时前
掌握Python-uinput:打造你的输入设备控制大师
开发语言·python·apython-uinput
机器视觉知识推荐、就业指导2 小时前
Qt/C++事件过滤器与控件响应重写的使用、场景的不同
开发语言·数据库·c++·qt
毕设木哥2 小时前
25届计算机专业毕设选题推荐-基于python的二手电子设备交易平台【源码+文档+讲解】
开发语言·python·计算机·django·毕业设计·课程设计·毕设
weixin_455446172 小时前
Python学习的主要知识框架
开发语言·python·学习
jnrjian2 小时前
export rman 备份会占用buff/cache 导致内存压力
数据库·oracle
D11_2 小时前
Pandas缺失值处理
python·机器学习·数据分析·numpy·pandas
花生了什么树~.3 小时前
python基础知识(四)--if语句,for\while循环
python
isNotNullX3 小时前
一文解读OLAP的工具和应用软件
大数据·数据库·etl
IT毕设梦工厂4 小时前
计算机毕业设计选题推荐-在线拍卖系统-Java/Python项目实战
java·spring boot·python·django·毕业设计·源码·课程设计
小诸葛的博客4 小时前
pg入门1——使用容器启动一个pg
数据库