数据库 --- 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));")