使用pymysql 单表查询 单标查询语法: 关键字执行的优先级 建表: Where查询: GROUP BY 分组查询: HAVING 组过滤: ORDER BY 排序查询:LIMIT限制查询:教程
day 40
一丶使用pymysql
==============================================================
1.下载pymysql包: pip3 install pymysql
2.编写代码
<pre class="md-fences md-end-block ty-contain-cm modeLoaded">###### 增加数据 <br></br>import pymysql # 导入pymysql模块<br></br><br></br># 1. 生成conn连接对象 固定语法<br></br>conn=pymysql.Connect(host='127.0.0.1', user='root', password="123",<br></br> database='day40', port=3306,)<br></br><br></br># 2.创建游标对象,用于操作数据库<br></br>cur=conn.cursor()<br></br><br></br>with open('test','r',encoding='utf-8') as f:<br></br> for line in f:<br></br> # 学python从开始到放弃 | alex | 人民大学出版社 | 50 | 2018 - 7 - 1<br></br> line=line.strip().split('|')<br></br> # 3 编写sql语句 %s是sql语言的占位符 和python无关<br></br> sql='insert into book(b_name,auth, press,price,p_date) values(%s,%s,%s,%s,%s)'<br></br> # 4. 执行sql语句 , execute方法,可以拼接sql语句<br></br> cur.execute(sql,line)<br></br> # 5. 增, 删, 改 数据 都需要进行提交<br></br> conn.commit()<br></br><br></br># 6 关闭操作游标, 关闭连接<br></br>cur.close()<br></br>conn.close()
<pre class="md-fences md-end-block ty-contain-cm modeLoaded">#### 查询数据<br></br><br></br>import pymysql # 导入pymysql模块<br></br><br></br># 1. 生成conn连接对象 固定语法<br></br>conn=pymysql.Connect(host='127.0.0.1', user='root', password="123",<br></br> database='day40', port=3306,)<br></br><br></br># 2.创建游标对象,用于操作数据库<br></br>cur=conn.cursor()<br></br><br></br># 3. 编写sql语句<br></br>sql = 'select * from book'<br></br># 4. 执行sql<br></br>cur.execute(sql)<br></br><br></br># 5. 查询结果<br></br>res1 = cur.fetchone() # 查询一条 以元组的形式返回数据<br></br>res2 = cur.fetchmany(2) # 查询多条 <br></br>res3 = cur.fetchall() # 查询全部<br></br><br></br>print(res1) # 控制台打印结果<br></br>print(res2)<br></br>print(res3)<br></br><br></br># 6 关闭操作游标, 关闭连接<br></br>cur.close()<br></br>conn.close()
二丶单表查询
单标查询语法:
<pre class="md-fences md-end-block ty-contain-cm modeLoaded">SELECT DISTINCT 字段1,字段2... FROM 表名<br></br> WHERE 条件<br></br> GROUP BY field<br></br> HAVING 筛选<br></br> ORDER BY field<br></br> LIMIT 限制条数
关键字执行的优先级
<pre class="md-fences md-end-block ty-contain-cm modeLoaded">#3## 特别重要