一、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了。