当前位置: 首页 > news >正文

清远网站关键词优化陵水网站建设报价

清远网站关键词优化,陵水网站建设报价,北京 工业网站建设公司,后盾网原创实战网站建设教程1-15文章目录 1、视图2、索引3、存储引擎4、事务(重点)①介绍②事务隔离级别 5、pymysql(重点)①导入模块②链接数据库对象③隐式事务④显性事务 1、视图 视图#xff08;View#xff09;是一种虚拟的表#xff0c;它是基于一个或多个实际表#xff08;或其他视图#xff09;… 文章目录 1、视图2、索引3、存储引擎4、事务(重点)①介绍②事务隔离级别 5、pymysql(重点)①导入模块②链接数据库对象③隐式事务④显性事务 1、视图 视图View是一种虚拟的表它是基于一个或多个实际表或其他视图的查询结果集。视图本身并不包含实际的数据而是根据定义视图时指定的查询语句动态生成结果。通过视图用户可以以类似于表的方式访问和操作数据而无需直接访问底层表。 以下是关于视图的一些重要信息和优点 简化数据访问视图可以隐藏底层表的复杂性为用户提供一个简单易用的界面来访问数据。 数据安全性视图可以限制用户只能访问他们需要的数据通过在视图上设置权限来控制数据的访问。 数据一致性视图可以确保数据的一致性通过在视图中定义复杂的查询来确保数据的准确性。 重用性视图可以重用查询逻辑避免重复编写相同的查询语句。 性能优化视图可以提高查询性能通过预先计算和存储视图结果减少重复计算的开销。 在创建视图时需要定义视图的结构和查询语句。一旦视图创建完成用户可以像操作表一样使用视图包括查询、插入、更新和删除数据。视图可以根据需要进行更新但有一些限制条件例如视图必须包含主键或唯一键等。 总的来说视图是数据库中一个非常有用的工具可以提高数据访问的灵活性和安全性同时简化复杂查询的操作。 # 创建视图表 create view 视图名称 as select 已查询语句;create view stu_2301 as select * from st1 where class 2301; select * from stu_2301;# 删除视图 drop view 视图名称;# 查询当前数据库所有的视图 show full tables in 数据库名称 where table_type like view;show full tables in demo1 where table_type like view; 2、索引 索引就是目录 一般如果你的表查询操作很少数据很少少于1w不建议索引 目的就是优化我们的数据库工作效率但是也会占用资源 主键索引普通索引唯一索引 # 在创建表的时候创建索引 # 格式 create table 表名(字段名 数据类型,字段名 数据类型,# 普通索引index 索引名称(字段名),# 唯一索引unique 索引名称(字段名));# 能创建表后插入索引create index 索引名称 on 表名(字段名); create unique 索引名称 on 表名(字段名);# 查询索引 show keys from 表名;select * from t21 WHERE id 11; select * from t22 WHERE id 11; 3、存储引擎 在关系型数据库中存储引擎Storage Engine是负责管理数据存储和检索的核心组件它定义了数据的存储格式、索引类型、查询处理方式等。不同的存储引擎具有不同的特性和适用场景常见的存储引擎包括但不限于以下几种 InnoDB InnoDB 存储引擎是 MySQL 中最常用的存储引擎之一具有事务支持、行级锁、外键约束等特性。InnoDB 存储引擎适合于需要事务支持和高并发读写操作的场景如在线交易处理系统。 MyISAM MyISAM 存储引擎是 MySQL 中的另一个常见存储引擎具有全文索引、压缩表等特性。MyISAM 存储引擎适合于读密集型的应用如数据仓库、报表系统等。 Memory Memory 存储引擎将数据存储在内存中提供了快速的数据访问速度但数据不会持久化到磁盘。Memory 存储引擎适合于临时数据存储、缓存等场景。 NDB Cluster NDB Cluster 存储引擎是 MySQL Cluster 中的存储引擎支持分布式存储和高可用性。NDB Cluster 存储引擎适合于需要水平扩展和高可用性的应用。 PostgreSQL 中的存储引擎 PostgreSQL 中没有明确的存储引擎概念而是使用表空间Tablespaces来管理数据存储。不同的表空间可以使用不同的存储引擎或文件系统。 选择合适的存储引擎取决于应用的需求如对事务支持、并发性能、数据完整性、存储空间利用率等方面的要求。在设计数据库时需要根据具体场景和需求选择最适合的存储引擎以达到最佳的性能和可靠性。 # 查询储存引擎 show engine; 4、事务(重点) ①介绍 事务Transaction是数据库管理系统中用于确保数据操作的一致性和完整性的一种机制。事务是一组数据库操作如插入、更新、删除数据的逻辑单元要么全部操作成功要么全部操作失败保证了数据的完整性和一致性。事务具有以下四个特性通常简称为 ACID 特性 原子性Atomicity 原子性指事务中的所有操作要么全部成功提交要么全部失败回滚。即事务是不可分割的最小工作单位要么全部执行要么全部撤销。 一致性Consistency 一致性指事务在执行前后数据库从一个一致的状态转换到另一个一致的状态。即事务执行前后数据库的完整性约束没有被破坏。 隔离性Isolation 隔离性指多个事务并发执行时每个事务的操作应该与其他事务隔离互不干扰。事务之间应该是相互独立的不应该相互影响。 持久性Durability 持久性指一旦事务提交其所做的修改将会永久保存在数据库中即使系统发生故障数据也不会丢失。 事务通常遵循以下四个基本操作步骤通常称为 ACID 原则 开始事务Begin Transaction标志着事务的开始。执行事务操作Perform Transaction Operations包括插入、更新、删除等数据库操作。提交事务Commit Transaction将事务中的操作永久保存到数据库中。回滚事务Rollback Transaction撤销事务中的操作回到事务开始前的状态。 通过事务的使用可以确保数据库操作的一致性和完整性防止数据丢失或不一致的情况发生。在开发应用程序时合理地使用事务可以保证数据的可靠性尤其在涉及多个数据库操作时更为重要。 事务处理insert, update, delete语句 ②事务隔离级别 事务隔离级别是数据库管理系统中用来控制事务之间相互影响程度的设置。不同的隔离级别决定了事务在并发执行时对数据的可见性和影响范围从而影响了数据库系统的并发控制和性能。常见的事务隔离级别包括以下四种 读未提交Read Uncommitted 最低的隔离级别允许一个事务读取另一个事务未提交的数据修改。可能导致脏读Dirty Read和不可重复读Non-Repeatable Read问题 脏读Dirty Read 脏读指一个事务读取了另一个事务未提交的数据修改。换句话说一个事务读取到了另一个事务正在修改但尚未提交的数据。如果这个事务最终回滚/撤销那么读到的数据就是无效的这就是“脏读”。 不可重复读Non-Repeatable Read 不可重复读指在同一个事务内多次读取同一数据时由于其他事务的更新操作每次读取的数据可能不同。换句话说一个事务在读取同一数据时由于其他事务的更新操作导致每次读取的数据都不一致这就是“不可重复读”。 读已提交Read Committed 允许一个事务只能读取已经提交的数据避免了脏读问题。但可能导致不可重复读和幻读Phantom Read问题。 幻读Phantom Read是数据库中另一个并发问题与不可重复读类似也是指在同一个事务内多次执行相同的查询但由于其他事务的插入或删除操作每次查询的结果集可能不同的现象。 举个例子来说明幻读假设事务A首先执行一个查询查询某个范围内的数据行然后事务B在这个范围内插入了一行新数据并提交事务接着事务A再次执行相同的查询这时会发现结果集中多出了一行数据就好像出现了幻影般的新数据这就是幻读。 可重复读Repeatable Read 不可重复读通常涉及到同一行数据的更新或删除操作在可重复读级别下事务在第一次读取数据后即使其他事务对该数据进行了修改或删除事务再次读取该数据时仍然能够看到第一次读取时的事务在第一次读取数据后会对相关数据行进行加锁防止其他事务修改或删除这些数据。而幻读通常涉及到数据集合的变化例如在一个范围内新增或删除数据行。在可重复读级别下虽然事务会对读取的数据行进行加锁但并不会锁定整个范围因此其他事务仍有可能在该范围内插入新的数据行导致事务多次读取同一范围数据时发生幻读。可重复读级别下的锁定机制无法完全阻止其他事务对数据集合的影响因此无法完全避免幻读问题。 串行化Serializable 最高的隔离级别确保事务之间完全隔离避免了脏读、不可重复读和幻读问题。 在串行化级别下数据库会以串行化的方式执行事务即每个事务都好像是在系统中独立运行一样不会受到其他事务的影响。具体来说串行化级别会对事务执行的数据进行严格的加锁确保事务在读取和修改数据时不会受到其他事务的干扰从而保证了数据的一致性和完整性。 虽然串行化级别能够避免绝大部分的并发问题但由于其严格的加锁机制可能导致系统性能下降因此在实际应用中并不常用。一般情况下开发人员会根据实际需求和应用场景选择合适的事务隔离级别权衡数据一致性和性能之间的关系。 选择合适的事务隔禽级别取决于应用的需求和对数据一致性的要求。通常情况下读已提交和可重复读是较为常用的隔离级别可以根据具体场景来选择。在开发应用程序时需要根据业务需求和性能考量来合理设置事务隔离级别以确保数据的一致性和并发性能。 /* 事务还可以分两个大类隐性事务和显性事务隐性事务很简单 就是insetdelete, update 都是事务显性事务带有明显的开始和结束的标志下面就开始创建显性事务*/ # 没有开始事务的时候, 这个是不能回滚因为是自动提交事务 insert into account(name, money) values (余恒镕, 50); insert into account(name, money) values (丁国峰, 20);# 回滚事务 # begin 开始事务 begin; insert into account(name, money) values (陈婷, 5000); insert into account(name, money) values (小茗同学, 20000);select * from account;ROLLBACK; select * from account;# 提交事务 # begin 开始事务 begin; insert into account(name, money) values (陈婷, 5000); insert into account(name, money) values (小茗同学, 20000);select * from account;commit; select * from account;# 回滚必须在提交之前执行5、pymysql(重点) 使用python执行mysql的sql语句进行增删改查 ①导入模块 pip install pymysql②链接数据库对象 import pymysql# 开始建立数据库链接对象 dbdb pymysql.connect(# host 主机地址因为我们的数据都是本机的127.0.0.1 或者本机域名localhost​ hostlocalhost,# user 链接数据库的用户名​ userroot,# password 用户名的密码​ passwordroot,# 数据库字符编码​ charsetutf8,# 你要使用的数据库名称​ databasedemo1)③创建游标对象指针 # 创建游标对象理解为指针就是代表该链接的数据库# cursor专门创建游标cur db.cursor()③隐式事务 # 这里不需要分号 sql语句不区分sql DeSc st1# 如何提交svaql语句和查看sql语句# execute 提交sql语句cur.execute(sql) #execute是一个关键字或方法用于执行SQL语句或命令。在Python的数据库操作中通常使用execute方法来执行SQL语句比如查询、插入、更新或删除数据。# 查看结果fetchall(), fetchone()# 返回嵌套元组print(cur.fetchall())在数据库编程中fetchall()和fetchone()是用于从数据库中获取查询结果的方法。这两个方法通常与execute()方法一起使用用于检索执行SQL查询后返回的数据。 fetchall(): 该方法用于从最后一次执行的查询中获取所有的结果行。它会返回一个包含所有结果行的列表每一行都表示为一个元组。如果查询没有返回任何结果fetchall()将返回一个空列表。 fetchone(): 该方法用于从最后一次执行的查询中获取下一行结果。它会返回一个包含一行结果的元组。每次调用fetchone()时游标会向下移动到下一行数据。如果没有更多的行可用fetchone()将返回None。 这两个方法在处理查询结果时非常有用可以帮助您从数据库中检索所需的数据并进行进一步处理。如果您有任何疑问或需要更多解释请随时告诉我。 ④显性事务 # 如何设置显性事务# 插入到多个sql insert into st1(name, class, garden) values (%s, %s, %s)values [​ (xxx6, 2301, 女), ​ (xxx7, 2302, 男), ​ (xxx8, 2302, 女)]# 使用多条数据结合方法executemany(sql语句数据)cur.executemany(sql, values) db.commit() cur.executemany(sql, values): 这个方法用于执行一条SQL语句多次每次使用不同的参数值。其中sql是要执行的SQL语句values是一个包含多个参数元组的列表。这个方法可以有效地插入多行数据减少与数据库的交互次数提高效率。 b.commit(): 这个方法用于提交当前的事务将之前的所有数据库操作永久保存到数据库中。如果不调用commit()方法之前的操作只是暂时保存在内存中直到调用commit()方法才会写入数据库。
http://www.pierceye.com/news/117862/

相关文章:

  • 婚恋网站女孩子都是做美容西安做网站南通公司
  • 网站制作培训中心想做网站建设
  • 免费模板素材网站ppth5开源网站模板
  • 建筑型专业网站有哪些网站想做个链接怎么做的
  • 公司建站文案给网站公司看的wordpress打赏
  • 卡密网站怎么做交易所网站建设教程
  • 响应式网站建设代理wordpress程序在ftp中上传到空间 网页怎么打不开
  • 做网站中网页的大小赤峰建筑人才网
  • 4s店网站建设美的集团网站建设方案书
  • 专业做商铺的网站哪些网站有二维码
  • 房屋备案查询系统官网盐城网站优化公司
  • 江苏网站设计页面设计文献
  • 快排做网站排名泰安哪个做网站
  • 淄博做网站的公司都有哪些网站开发职业环境分析
  • 网站性能视频 怎么做网站
  • 惠安建设局网站做基础销量的网站
  • 网页制作与网站建设自考制作ppt的软件免费下载
  • 会员类网站模板wordpress写主题
  • wordpress网站分享朋友圈缩略图wordpress 密码爆破
  • 总结网站推广策划思路的内容佛山做外贸网站哪家好
  • 阿里云服务器如何做两个网站网站建站对象
  • 做网站毕业实训报告网站架构企业收费标准
  • 高端品牌网站建设公司哪家好网页设计与制作个人总结
  • 自己电脑建设网站哈尔滨专业网站建设哪个好
  • 福建设计招标网站移动端网站和app开发
  • 山东网站制作团队门户网站内容管理建设方案
  • 新开传奇网站排行中国建设网官方网站app
  • 网站营运费广州网络公司建站
  • 小吃网站建设如何提高网站收录量
  • 全球网站域名做网站设计学那个专业好