以前学Java的时候有记录过相关内容,所以本篇只对MySQL进行一些补充。
1) 引入模块
from pymysql import *
2) 创建Connection对象
conn=connect(host=‘localhost‘,port=3306,user=‘root‘,password=‘xxx‘,database=‘xxx‘,charset=‘utf8‘)
其中port是数字类型,不需要单引号括起来
3) Cursor对象
cursor = conn.cursor()
4) 关闭conn,cursor对象
使用之后记得关闭
cursor.close()
conn.close()
1) sql语句的参数化,可以有效防止sql注入
2) 此处不同于python的字符串格式化,全部使用%s占位
find_name = input("请输入物品名称:") params = [find_name] # 执行select语句,并返回受影响的行数:查询所有数据 count = cs1.execute(‘select * from goods where name=%s‘, params)
1)通俗的讲,视图就是一条SELECT语句执行后返回的结果集。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。
2)视图是对若干张基本表的引用,一张虚表,查询语句执行的结果,不存储具体的数据(基本表数据发生了改变,视图也会跟着改变);
3) 方便操作,特别是查询操作,减少复杂的SQL语句,增强可读性;
1)创建视图
create view 视图名称 as select语句;
2)查看视图
show tables;
3)使用视图,它只有查询功能
select * from v_stu_score;
4)删除
drop view 视图名称;
1)提高了重用性,就像一个函数
2)对数据库重构,却不影响程序的运行
3)提高了安全性能,可以对不同的用户
4)让数据更加清晰
1)索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。
2)目的:提高查询效率
3)使用
show index from 表名;
drop index 索引名称 on 表名;
4) 数据库中的主键、外键也使用了索引
5) 注意:
建立太多的索引将会影响更新和插入的速度,因为它需要同样更新每个索引文件。对于一个经常需要更新和插入的表格,就没有必要为一个很少使用的where字句单独建立索引了,对于比较小的表,排序的开销不会很大,也没有必要建立另外的索引。建立索引会占用磁盘空间
原文:https://www.cnblogs.com/yaopeiyun/p/10385585.html