一、SQL语言
SQL语言分类情况
![](https://img-blog.csdnimg.cn/img_convert/11011b18bec764b12f2f616b30e02a43.png)
若DBeaver连接MySQL时出现下列情况
![](https://img-blog.csdnimg.cn/img_convert/862334394a1af19cb4e5a0cd90f757ff.png)
![](https://img-blog.csdnimg.cn/img_convert/eeb46c221595215e9ccee559aa479a74.png)
解决方法:
右键连接不上的数据库,点击【编辑连接】,在【连接设置】->【驱动程序】中将allowPublicKeyRetrieval由false改为true。如下图:
![](https://img-blog.csdnimg.cn/img_convert/2ae36c337c65ea6e901cc52cdcbdf422.png)
1.1数据定义:DDL
![](https://img-blog.csdnimg.cn/img_convert/863105355faf0ef7b683fecbcf790efe.png)
![](https://img-blog.csdnimg.cn/img_convert/3e0da4cc817a78608715957071b02fd4.png)
![](https://img-blog.csdnimg.cn/img_convert/4bbcead5af4b3ca8ff25f52c822bfce3.png)
简单创建一个名为test的数据库,然后查看电脑中有多少个数据库,最后删除掉我所创建的test数据库。
1.1.1演示如下:
![](https://img-blog.csdnimg.cn/img_convert/604d7426ff4bdae60f8cbeef3abb5d57.png)
在world数据库中创建一个名为student的表,并查看该表,最后删除该表
演示如下:
![](https://img-blog.csdnimg.cn/img_convert/4ba299c41c4e9d2a13fb28e7ff3e6cd9.png)
1.2数据操纵:DML
学习目标
![](https://img-blog.csdnimg.cn/img_convert/a4351303af93a318835033007cff4ffe.png)
1.2.1INSRET插入数据操作
![](https://img-blog.csdnimg.cn/img_convert/57472830315a12a8f199771d14566c7e.png)
演示如下:
![](https://img-blog.csdnimg.cn/img_convert/aa13be4299293efa543e000b342ac097.png)
1.2.2 DELETE删除操作
基本语法如下:
![](https://img-blog.csdnimg.cn/img_convert/7a362717c75a77b046391184e17512c0.png)
1.2.3 UPDATE更新
基本语法框架为:
![](https://img-blog.csdnimg.cn/img_convert/c031cda308001d825ffb399ee96e3727.png)
1.3数据查询:DQL
1.3.1基础查询 - 关键字SELECT语句
无条件SELECT基本语法和示例:
![](https://img-blog.csdnimg.cn/img_convert/d327971134bd54c5e49056d163610f2b.png)
有条件SELECT语句,就是SELECT语句加上一个where关键字进行范围选择
基本语法:
![](https://img-blog.csdnimg.cn/img_convert/c62a316a57d57684aa296c5d63007de1.png)
例子:
![](https://img-blog.csdnimg.cn/img_convert/fd269619854944a5fa84e7b3a670e5de.png)
1.3.2分组
分组聚合的语法规则如下:
![](https://img-blog.csdnimg.cn/img_convert/581077d19fbda45aa7286968bd3598a8.png)
具体实例如下:
![](https://img-blog.csdnimg.cn/img_convert/63775fc7c906b79d582ad095fc77c586.png)
1.3.3排序
基本语法如下:
![](https://img-blog.csdnimg.cn/img_convert/d5adefbdedb63b54c9b74dce4722d626.png)
例子:
按年龄对名单进行降序排序
![](https://img-blog.csdnimg.cn/img_convert/e131b9e864e9cdd91d678fa8156d0f08.png)
1.3.4分页查询
基本语法:
![](https://img-blog.csdnimg.cn/img_convert/65953b155b5e10924a9ba4ff17d835c6.png)
主要就是limit限制语句,limit语句写在语句最后!!
例子如下:
表中数据为:
![](https://img-blog.csdnimg.cn/img_convert/ce74b696706e64e7f69ae4343ad9a865.png)
select * from student limit 10,5;
这个代码意思就是从第11条数据开始,取5条数据。
运行结果如下:
![](https://img-blog.csdnimg.cn/img_convert/34822eb12256635341da9573c321dad9.png)
二、Python操作SQL
1.先连接到SQL
![](https://img-blog.csdnimg.cn/img_convert/716b398bfc857983a5a7e20d03314a4f.png)
代码演示连接SQL
from pymysql import Connection
# 构建MySQL数据库的链接
conn = Connection(
host="localhost", #主机名
port=3306, #端口
user="root", #账户
password="123456" #密码
)
print(conn.get_server_info())
conn.close()
2.执行非查询性质的SQL语句(创建修改删除之类的)
from pymysql import Connection
# 构建MySQL数据库的链接
conn = Connection(
host="localhost", #主机名
port=3306, #端口
user="root", #账户
password="123456" #密码
)
# print(conn.get_server_info())
# conn.close()
# 执行非查询性质SQL
cursor = conn.cursor() #获取到游标对象
# 选择数据库
conn.select_db("test")
# 执行SQL
cursor.execute("create table test_pymysql1(id int);")
运行结果:
![](https://img-blog.csdnimg.cn/img_convert/c497b35bd10c61012e9eda34ebd1464b.png)
3.执行查询性质的SQL语句
![](https://img-blog.csdnimg.cn/img_convert/c62c93b92832ff066bb0a48a10d59192.png)
代码演示:
from pymysql import Connection
# 构建MySQL数据库的链接
conn = Connection(
host="localhost", #主机名
port=3306, #端口
user="root", #账户
password="123456" #密码
)
# print(conn.get_server_info())
# conn.close()
# 执行非查询性质SQL
cursor = conn.cursor() #获取到游标对象
# 选择数据库
conn.select_db("test")
# 执行SQL
# cursor.execute("create table test_pymysql1(id int);")
# 选择数据库
conn.select_db("world")
cursor.execute("select * from student")
result = cursor.fetchall() # 拿到输出数据
print(result)
for r in result:
print(r)
conn.close()
运行结果:
![](https://img-blog.csdnimg.cn/img_convert/2b1f73e0bc540dcd2879403934ad3950.png)