数据库 --- 4 多表查询 ,Navicat工具 , pymysql模块
一.多表查询
1.笛卡儿积 查询


2.连接
语法:

①inner 显示可构成连接的数据
mysql> select employee.id,employee.name,department.name as depart_name
from employee inner join department
on employee.dep_id=department.id;

②left 左连接:优先选择左表全部记录

③right 右连接:优先选择右表全部记录

④ 全连接:显示两个表的全部记录

用法实例:

3.子链接


①带 in 关键字的子查询

② 带比较运算符的子查询

③带 exists 的子查询
在使用EXISTS关键字时,内层查询语句不返回查询的记录。而是返回一个真假值。True或False
当返回True时,外层查询语句将进行查询;当返回值为False时,外层查询语句不进行查询。

二.Navicat 工具使用
1.连接

2.建数据库



3,建表






4 。查看


5。导入与导出







6.查询




三. pymysql 模块的使用
1.基本语法

2. 增 ,删 ,改 要用 conn.commit( )

3. execute() 之sql 注入
错误现象:

bug 1: 知道用户 不知道密码

原因:-- 是注释的意思,对后面的密码限制条件进行了注释
bug 2: 用户和密码 都不知道

原因:or 后面跟了一个永远为真的数据
解决方式;

4.获取插入的最后一条数据的自增ID

5.建库建表
import pymysql # 建库和建表 con = pymysql.connect(host='localhost', user='root', passwd='', charset='utf8',database="awesome") cur = con.cursor() # 开始建库 cur.execute("create database awesome character set utf8;") # 使用库 cur.execute("use awesome;") # 建表 cur.execute("create table blogs(id char(20) primary key,user_id char(20),name char(20));")