标签:总结 事务 join 数据库 笔记 cursor 索引 MySQL row
一、什么是数据库?
1、数据库是按照数据结构来组织、存储和管理数据的仓库。每个数据库都提供API用于创建、访问、管理、搜索和复制所保存的数据。
2、数据库的数据表之间有关联关系,我们称为关系型数据库,常见的关系型数据库有:Mysql,Sqlserver,Oracle等,Mysql是开源的,也是重点要掌握的。
3、一些基本术语:主键,外键,复合键,索引,参照完整性,冗余(为了避免频繁多表查询,而在一张表中添加的在别的表中已经存在的列)等。
二、数据库按照,参考这个文章:
https://blog.csdn.net/bobo553443/article/details/81383194
三、查询,试一下
1、inner join 内连接,求完全相等的集合
2、left join 左连接,以左表为准的集合
3、right join 右连接,以右表为准的集合
4、left join unite right join 左右连接,左右表的并集
四、数据类型
五、创建表
六、增删改查语句
七、外键关联和联表查询
八、事务:
1、定义:将多个步骤做捆绑的统一的处理,或者同时操作,或者同时不操作,就叫事务
2、只有使用InnoDB数据库引擎才支持事务
3、事务的四个特性:
> 原子性:同时操作,或者同时操作,或者同时不操作
> 稳定性:遇到约束比如外键则全部退回。
> 隔离性:事务独立运行,一个事务的处理结果影响其他事务那么其他事务会撤回。事务100%隔离需要牺牲速度。
> 可靠性:软硬件奔溃后,InnoDB会利用日志文件重构修改。可靠性和效率不可以兼得。
九、索引:
1、定义:让数据表的检索速度变得更快,主键只有一个,但是可以对多个字段做索引。
2、注意:
> 索引其实也是一张表,如果只建立的索引,没有使用,那么索引依然没有发挥作用,比如你将身份证号和姓名做了索引,但是查询的时候仅查询居住地址,那么还是依然采用效率很低的遍历方式。
> 索引会降低数据库整体速度,比如你在insert,update,delete一个索引列的原值时,mysql会同时更新索引表中的数据使其重新排序,那么如果操作的频繁了就会降低数据库整体速度。
> 创建唯一索引,索引的值必须是唯一的,主键就是唯一索引,联合索引也是要确保多个字段的组合是唯一的
十、通过python操作数据库
1、安装pymysql组件:可以在pycharm中直接安装
2、操作的代码如下:
import pymysql con = pymysql.connect(host="127.0.0.1", port=3306, user="root", passwd="xxx", db="tangwei") try: # 创建游标 cursor = con.cursor() # 执行sql,并返回影响的行数,execute执行一行SQL语句 # effect_row = cursor.execute("UPDATE `tangwei`.`user` SET `name` = 'tangwei12' WHERE (`id` = '1');") # 多行提交,update和delete操作也是同理 effect_row = cursor.executemany("insert into user(name,sex) values (%s,%s)", [('name5', 'W'), ('name6', 'N')]) # 默认是打开事务的,所以最后都要提交下,不然是不会插入成功 con.commit() effect_row = cursor.execute("select * from user") # 查询的代码 print(effect_row) for i in range(effect_row): print(cursor.fetchone()) finally: con.close()
标签:总结,事务,join,数据库,笔记,cursor,索引,MySQL,row 来源: https://www.cnblogs.com/tangwei-fuzhou/p/12973759.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。